Here are the topics that have been cooking in my tree. Commits prefixed with '+' are in 'next' (being in 'next' is a sign that a topic is stable enough to be used and are candidate to be in a future release). Commits prefixed with '-' are only in 'seen', and aren't considered "accepted" at all and may be annotated with an URL to a message that raises issues but they are no means exhaustive. A topic without enough support may be discarded after a long period of no activity (of course they can be resubmit when new interests arise). Copies of the source code to Git live in many repositories, and the following is a list of the ones I push into or their mirrors. Some repositories have only a subset of branches. With maint, master, next, seen, todo: git://git.kernel.org/pub/scm/git/git.git/ git://repo.or.cz/alt-git.git/ https://kernel.googlesource.com/pub/scm/git/git/ https://github.com/git/git/ https://gitlab.com/git-scm/git/ With all the integration branches and topics broken out: https://github.com/gitster/git/ Even though the preformatted documentation in HTML and man format are not sources, they are published in these repositories for convenience (replace "htmldocs" with "manpages" for the manual pages): git://git.kernel.org/pub/scm/git/git-htmldocs.git/ https://github.com/gitster/git-htmldocs.git/ Release tarballs are available at: https://www.kernel.org/pub/software/scm/git/ -------------------------------------------------- [Graduated to 'master'] * cf/wrapper-netbsd-errno-eftype (2025-05-02) 1 commit - wrapper: NetBSD gives EFTYPE where POSIX uses ELOOP source: <20250502233403.289761-1-collin.funk1@xxxxxxxxx> * es/meson-cleanup (2025-04-25) 6 commits (merged to 'next' on 2025-04-28 at 0cc8ee98dc) + meson: only check for missing networking syms on non-Windows; add compat impls + meson: fix typo in function check that prevented checking for hstrerror + meson: add a couple missing networking dependencies + meson: do a full usage-based compile check for sysinfo + meson: check for getpagesize before using it + meson: simplify and parameterize various standard function checks Code clean-up for meson-based build infrastructure. source: <20250425053345.17288-1-eschwartz@xxxxxxxxxx> * js/ci-win-meson-timeout-workaround (2025-04-25) 1 commit - ci(win+Meson): build in Release mode, avoiding t7001-mv hangs win+Meson CI pipeline, unlike other pipelines for Windows, used to build artifacts in develper mode, which has been changed to build them in release mode for consistency. Expecting a reroll, stating an updated rationale for the change. cf. <xmqqjz6zuf80.fsf@gitster.g> source: <pull.1908.git.1745593515875.gitgitgadget@xxxxxxxxx> * js/windows-arm64 (2025-04-23) 6 commits (merged to 'next' on 2025-04-28 at c3d4cea333) + max_tree_depth: lower it for clangarm64 on Windows + mingw(arm64): do move the `/etc/git*` location + msvc: do handle builds on Windows/ARM64 + mingw: do not use nedmalloc on Windows/ARM64 + config.mak.uname: add support for clangarm64 + bswap.h: add support for built-in bswap functions Update to arm64 Windows port. source: <pull.1904.v2.git.1745395308.gitgitgadget@xxxxxxxxx> * kn/meson-hdr-check (2025-04-23) 7 commits (merged to 'next' on 2025-04-29 at c925448238) + makefile/meson: add 'check-headers' as alias for 'hdr-check' + meson: add support for 'hdr-check' + meson: rename 'third_party_sources' to 'third_party_excludes' + meson: move headers definition from 'contrib/coccinelle' + coccinelle: meson: rename variables to be more specific + ci/github: install git before checking out the repository + Merge branch 'es/meson-build-skip-coccinelle' into kn/meson-hdr-check Add an equivalent to "make hdr-check" target to meson based builds. source: <20250423-505-wire-up-sparse-via-meson-v5-0-d1e2be4b2078@xxxxxxxxx> * ps/meson-build-perf-bench (2025-04-28) 5 commits (merged to 'next' on 2025-04-28 at f563542bfd) + meson: wire up benchmarking options + meson: wire up benchmarks + t/perf: fix benchmarks with out-of-tree builds + t/perf: use configured PERL_PATH + t/perf: fix benchmarks with alternate repo formats The build procedure based on Meson learned to drive the benchmarking tests. source: <20250428-pks-meson-benchmarks-v5-0-5010dd014d1d@xxxxxx> -------------------------------------------------- [New Topics] * cf/wrapper-bsd-eloop (2025-05-02) 1 commit - wrapper: NetBSD gives EFTYPE where POSIX uses ELOOP The fallback implementation of open_nofollow() depended on open("symlink", O_NOFOLLOW) to set errno to ELOOP, but a few BSD derived systems use different errno, which has been worked around. source: <20250502233403.289761-1-collin.funk1@xxxxxxxxx> * js/ci-build-win-in-release-mode (2025-05-05) 1 commit - ci(win+Meson): build in Release mode win+Meson CI pipeline, unlike other pipelines for Windows, used to build artifacts in develper mode, which has been changed to build them in release mode for consistency. WIll merge to 'next'. source: <pull.1908.v2.git.1746282346370.gitgitgadget@xxxxxxxxx> * js/ci-buildsystems-cleanup (2025-05-05) 3 commits - config.mak.uname: drop the `vcxproj` target - contrib/buildsystems: drop support for building . vcproj/.vcxproj files - ci: stop linking the `prove` cache Code clean-up around stale CI elements and building with Visual Studio. Will merge to 'next'. source: <pull.1916.git.1746430790.gitgitgadget@xxxxxxxxx> * kh/docfixes (2025-05-05) 2 commits - doc: branch: fix inline-verbatim - doc: reflog: fix `drop` subheading Docfixes. Will merge to 'next'. source: <cover.1746299135.git.code@xxxxxxxxxxxxxxx> * kj/glob-path-with-special-char (2025-05-05) 1 commit - dir.c: literal match with wildcard in pathspec should still glob "git add 'f?o'" did not add 'foo' if 'f?o', an unusual pathname, also existed on the working tree, which has been corrected. Will merge to 'next'. source: <20250503060736.587286-1-jayatheerthkulkarni2005@xxxxxxxxx> * ps/ci-test-aggreg-fix-for-meson (2025-05-05) 1 commit - ci: fix aggregation of test results with Meson Test result aggregation did not work in Meson based CI jobs. Will merge to 'next'. source: <20250505-b4-pks-meson-aggregate-results-v1-1-f38899a0a2cc@xxxxxx> -------------------------------------------------- [Cooking] * cc/promisor-remote-capability (2025-04-29) 3 commits - promisor-remote: allow a client to check fields - promisor-remote: allow a server to advertise more fields - promisor-remote: refactor to get rid of 'struct strvec' Expecting a reroll. cf. <CAP8UFD2LzijGsU3-aO-JBPtEfT+UtR_X_mqcdVigoOfdVAg1uA@xxxxxxxxxxxxxx> source: <20250429145243.992252-1-christian.couder@xxxxxxxxx> * en/hashmap-clear-fix (2025-04-29) 1 commit (merged to 'next' on 2025-04-30 at b0cdbeb28e) + hashmap: ensure hashmaps are reusable after hashmap_clear() hashmap API clean-up to ensure hashmap_clear() leaves a cleared map in a reusable state. Will merge to 'master'. source: <pull.1911.git.1745941663160.gitgitgadget@xxxxxxxxx> * js/diff-codeql-false-positive-workaround (2025-04-29) 1 commit (merged to 'next' on 2025-05-01 at a840276032) + diff: check range before dereferencing an array element Work around false positive given by CodeQL. Will merge to 'master'. source: <pull.1887.v3.git.1745926679028.gitgitgadget@xxxxxxxxx> * ng/xdiff-truly-minimal (2025-04-29) 1 commit (merged to 'next' on 2025-05-05 at 62e0c33153) + xdiff: disable cleanup_records heuristic with --minimal "git diff --minimal" used to give non-minimal output when its optimization kicked in, which has been disabled. Will merge to 'master'. source: <20250429140949.2634935-1-n.glodny@xxxxxxxxxxxxx> * ds/scalar-no-maintenance (2025-05-05) 4 commits - scalar reconfigure: add --no-maintenance option - scalar clone: add --no-maintenance option - scalar register: add --no-maintenance option - scalar: customize register_dir()'s behavior Two "scalar" subcommands that adds a repository that hasn't been under "scalar"'s control are taught an option not to enable the scheduled maintenance on it. Will merge to 'next'? source: <pull.1913.v2.git.1746458844.gitgitgadget@xxxxxxxxx> * ps/mv-contradiction-fix (2025-04-30) 2 commits (merged to 'next' on 2025-05-01 at 5c27b05f45) + builtin/mv: convert assert(3p) into `BUG()` + builtin/mv: bail out when trying to move child and its parent "git mv a a/b dst" would ask to move the directory 'a' itself, as well as its contents, in a single destination directory, which is a contradicting request that is impossible to satisfy. This case is now detected and the command errors out. Will merge to 'master'. source: <20250430-pks-mv-parent-child-conflict-v1-0-11a87c55ffb9@xxxxxx> * en/get-tree-entry-doc (2025-05-02) 1 commit - tree-walk.h: fix incorrect API comment Doc update. Will merge to 'next'. source: <pull.1912.v2.git.1746213551473.gitgitgadget@xxxxxxxxx> * jc/doc-synopsis-option-markup (2025-05-02) 3 commits - git-daemon doc: update mark-up of synopsis option descriptions - git-{var,write-tree} docs: update mark-up of synopsis option descriptions - git-verify-* doc: update mark-up of synopsis option descriptions Doc mark-up fixes. Comments? source: <20250503011537.3035416-1-gitster@xxxxxxxxx> * jc/you-still-use-whatchanged (2025-05-05) 6 commits - whatschanged: list it in BreakingChanges document - whatchanged: remove when built with WITH_BREAKING_CHANGES - whatchanged: require --i-still-use-this - tests: prepare for a world without whatchanged - doc: prepare for a world without whatchanged - you-still-use-that??: help deprecating commands for removal "git whatchanged" that is longer to type than "git log --raw" which is its modern rough equivalent has outlived its usefulness more than 10 years ago. Plan to deprecate and remove it. Comments? source: <20250503005814.3030099-1-gitster@xxxxxxxxx> * jc/ci-skip-unavailable-external-software (2025-04-25) 2 commits (merged to 'next' on 2025-05-05 at a13d958c1b) + ci: download JGit from maven, not eclipse.org + ci: update the message for unavailble third-party software Further refinement on CI messages when an optional external software is unavailable (e.g. due to third-party service outage). Will merge to 'master'. source: <20250425153827.147585-1-gitster@xxxxxxxxx> * ps/maintenance-missing-tasks (2025-05-05) 7 commits - builtin/maintenance: introduce "rerere-gc" task - builtin/gc: move rerere garbage collection into separate function - builtin/maintenance: introduce "worktree-prune" task - worktree: expose function to retrieve worktree names - builtin/gc: move pruning of worktrees into a separate function - builtin/gc: remove global variables where it trivial to do - builtin/gc: fix indentation of `cmd_gc()` parameters Make repository clean-up tasks "gc" can do available to "git maintenance" front-end. Will merge to 'next'. source: <20250505-pks-maintenance-missing-tasks-v4-0-141f4df906a1@xxxxxx> * ag/send-email-outlook (2025-04-29) 2 commits (merged to 'next' on 2025-05-05 at c85e7a2e65) + send-email: add --[no-]outlook-id-fix option + send-email: retrieve Message-ID from outlook SMTP server Update send-email to work better with Outlook's smtp server. Will merge to 'master'. source: <PN3PR01MB95973F4B26A8CE2BF17A3AB1B8842@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> source: <PN3PR01MB9597DA8661D1AFDF4C927A11B8812@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> * ds/fix-thin-fix (2025-04-28) 3 commits (merged to 'next' on 2025-05-05 at 200a988f98) + index-pack: allow revisiting REF_DELTA chains + t5309: create failing test for 'git index-pack' + test-tool: add pack-deltas helper "git index-pack --fix-thin" used to abort to prevent a cycle in delta chains from forming in a corner case even when there is no such cycle. Will merge to 'master'. source: <pull.1906.v2.git.1745871885.gitgitgadget@xxxxxxxxx> * ps/object-store-cleanup (2025-04-29) 8 commits (merged to 'next' on 2025-05-05 at f91eca32c9) + object-store: drop `repo_has_object_file()` + treewide: convert users of `repo_has_object_file()` to `has_object()` + object-store: allow fetching objects via `has_object()` + object-store: move function declarations to their respective subsystems + object-store: move and rename `odb_pack_keep()` + object-store: drop `loose_object_path()` + object-store: move `struct packed_git` into "packfile.h" + Merge branch 'ps/object-file-cleanup' into ps/object-store-cleanup Further code clean-up in the object-store layer. Will merge to 'master'. source: <20250429-pks-object-store-cleanups-v3-0-42902bad09a1@xxxxxx> * cc/fast-import-export-signature-names (2025-04-24) 1 commit . fast-(import|export): improve on the signature algorithm name Clean up the way how signature on commit objects are exported to and imported from fast-import stream. Expecting a reroll. cf. <aAq1nvcPRlIPal5l@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> cf. https://github.com/git/git/actions/runs/14671270673/job/41178138711 source: <20250424203904.909777-1-christian.couder@xxxxxxxxx> * dd/meson-perl-custom-path (2025-04-24) 1 commit - meson: allow customize perl installation path Meson-based build framework update. Looking good. Expecting a minor reroll. cf. <aA8vSPKdznjzBf6W@xxxxxx> source: <80a2a6ce7c6b05323cf931cdc20d4decb6270002.1745507677.git.congdanhqx@xxxxxxxxx> * ps/meson-bin-sh (2025-04-25) 2 commits (merged to 'next' on 2025-05-05 at 546cdf31bf) + meson: prefer shell at "/bin/sh" + meson: report detected runtime executable paths Meson-based build framework update. Will merge to 'master'. source: <20250425-pks-meson-posix-shell-v3-0-01607a2e9334@xxxxxx> * sj/string-list-typefix (2025-04-22) 5 commits - u-string-list: move "remove duplicates" test to "u-string-list.c" - u-string-list: move "filter string" test to "u-string-list.c" - u-string-list: move "test_split_in_place" to "u-string-list.c" - u-string-list: move "test_split" into "u-string-list.c" - string-list: fix sign compare warnings Code and test clean-up around string-list API. Expecting a reroll. cf. <aA8vSPKdznjzBf6W@xxxxxx> source: <aAetW0dan8S3Fljq@ArchLinux> * tb/midx-avoid-cruft-packs (2025-04-15) 9 commits - repack: exclude cruft pack(s) from the MIDX where possible - pack-objects: introduce '--stdin-packs=follow' - pack-objects: swap 'show_{object,commit}_pack_hint' - pack-objects: fix typo in 'show_object_pack_hint()' - pack-objects: perform name-hash traversal for unpacked objects - pack-objects: declare 'rev_info' for '--stdin-packs' earlier - pack-objects: factor out handling '--stdin-packs' - pack-objects: limit scope in 'add_object_entry_from_pack()' - pack-objects: use standard option incompatibility functions "pack-objects" has been taught to avoid pointing into objects in cruft packs from midx. Comments? source: <cover.1744757204.git.me@xxxxxxxxxxxx> * tb/pack-bitmap-lookup-tables (2025-04-17) 4 commits - t/perf/lib-bitmap.sh: avoid test_perf during setup - t/perf: avoid testing bitmaps without lookup table - p5312: removed duplicate performance test script - pack-bitmap: write lookup table extension by default Enable lookup tables extension in pack bitmap (and midx bitmap) by default. Comments? source: <cover.1744924321.git.me@xxxxxxxxxxxx> * pb/status-rebase-fixes (2025-03-28) 4 commits - wt-status: suggest 'git rebase --continue' to conclude 'merge' instruction - wt-status: also abbreviate 'merge' and 'fixup -C' lines during rebase - SQUASH??? - <CAPig+cS92W_gYuNsaTvQxiP3xBK7Wpg0__uVkgAU1x0OFJUZgQ@xxxxxxxxxxxxxx> - rebase -r: do create merge commit after empty resolution A few fixes around "git status" while "git rebase" is running, plus a corner case bug fix for "git rebase -r". Expecting a (small and hopefully final) clarifying reroll. cf. <c2f93d99-2f4d-ee6d-7087-42320c6df0f2@xxxxxx> cf. <e9700234-324d-dc63-d91e-9b8f36fabc79@xxxxxxxxx> source: <pull.1897.git.1743181401.gitgitgadget@xxxxxxxxx> * md/userdiff-bash-shell-function (2025-04-01) 1 commit - userdiff: extend Bash pattern to cover more shell function forms The userdiff pattern for shell scripts has been updated to cope with more bash-isms. Comments? source: <20250330134018.9662-2-dhar61595@xxxxxxxxx> * sc/bundle-uri-use-all-refs-in-bundle (2025-04-25) 2 commits - bundle-uri: add test for bundle-uri clones with tags - bundle-uri: copy all bundle references ino the refs/bundle space Bundle-URI feature did not use refs recorded in the bundle other than normal branches as anchoring points to optimize the follow-up fetch during "git clone"; now it is told to utilize all. Ready? source: <pull.1897.v4.git.git.1745587067.gitgitgadget@xxxxxxxxx> * ds/path-walk-2 (2025-03-25) 13 commits - pack-objects: allow --shallow and --path-walk - path-walk: add new 'edge_aggressive' option - pack-objects: thread the path-based compression - pack-objects: refactor path-walk delta phase - scalar: enable path-walk during push via config - pack-objects: enable --path-walk via config - repack: add --path-walk option - t5538: add tests to confirm deltas in shallow pushes - pack-objects: introduce GIT_TEST_PACK_PATH_WALK - p5313: add performance tests for --path-walk - pack-objects: update usage to match docs - pack-objects: add --path-walk option - pack-objects: extract should_attempt_deltas() "git pack-objects" learns to find delta bases from blobs at the same path, using the --path-walk API. Will merge to 'next'? cf. <aBVLC57bMJKjygyi@nand.local> source: <pull.1819.v2.git.1742829769.gitgitgadget@xxxxxxxxx> * ib/diff-S-G-with-longhand (2025-02-12) 10 commits - diff: docs: Use --patch-{grep,modifies} over -G/-S - diff: --pickaxe-{all,regex} help: Add --patch-{grep,modifies} - diff: test: Use --patch-{grep,modifies} over -G/-S - completion: Support --patch-{grep,modifies} - diff: --patch-{grep,modifies} arg names for -G and -S - docs: gitdiffcore: -G and -S: Use regex/string placeholders - diff: short help: Add -G and --pickaxe-grep - diff: short help: Correct -S description - diff: -G description: Correct copy/paste error - t/t4209-log-pickaxe: Naming typo: -G takes a regex The commands in the "diff" family learned longhands for "-S" and "-G" options. Expecting a reroll. source: <20250212032657.1807939-1-illia.bobyr@xxxxxxxxx> * ej/cat-file-remote-object-info (2025-02-24) 8 commits - cat-file: add remote-object-info to batch-command - transport: add client support for object-info - serve: advertise object-info feature - fetch-pack: move fetch initialization - fetch-pack: refactor packet writing - t1006: split test utility functions into new "lib-cat-file.sh" - cat-file: add declaration of variable i inside its for loop - git-compat-util: add strtoul_ul() with error handling "git cat-file --batch" and friends can optionally ask a remote server about objects it does not have. Expecting a reroll. cf. <CAN2LT1Cc-UaUpabqcGascicR3nk6ZdFythamKje33Orhy5WoNA@xxxxxxxxxxxxxx> source: <20250221190451.12536-1-eric.peijian@xxxxxxxxx>