To: git@vger.kernel.org
-Subject: What's cooking in git.git (Mar 2026, #11)
-X-master-at: 41688c1a2312f62f44435e1a6d03b4b904b5b0ec
-X-next-at: 0a8c60e8ae259ec48ddcdbbda0df4b2f04610708
+Subject: What's cooking in git.git (Mar 2026, #12)
+X-master-at: 270e10ad6dda3379ea0da7efd11e4fbf2cd7a325
+X-next-at: 0c370356e2245450de215a847afb905bda230d11
Bcc: lwn@lwn.net, gitster@pobox.com
-What's cooking in git.git (Mar 2026, #11)
+What's cooking in git.git (Mar 2026, #12)
-----------------------------------------
Here are the topics that have been cooking in my tree. Commits
https://www.kernel.org/pub/software/scm/git/
--------------------------------------------------
-[Graduated to 'master']
+[New Topics]
+
+* sa/cat-file-batch-mailmap-switch (2026-03-29) 1 commit
+ - cat-file: add mailmap subcommand to --batch-command
+
+ "git cat-file --batch" learns an in-line command "mailmap"
+ that lets the user toggle use of mailmap.
+
+ Comments?
+ source: <20260329082808.12609-2-siddharthasthana31@gmail.com>
+
+
+* sp/doc-gitignore-oowt (2026-03-28) 1 commit
+ - doc: gitignore: clarify pattern base for info/exclude and core.excludesFile
+
+ Doc update.
+
+ Will merge to 'next'.
+ source: <20260328152233.1140327-1-shreyanshpaliwalcmsmn@gmail.com>
+
+
+* tb/incremental-midx-part-3.3 (2026-03-29) 16 commits
+ - repack: allow `--write-midx=incremental` without `--geometric`
+ - repack: introduce `--write-midx=incremental`
+ - repack: implement incremental MIDX repacking
+ - packfile: ensure `close_pack_revindex()` frees in-memory revindex
+ - builtin/repack.c: convert `--write-midx` to an `OPT_CALLBACK`
+ - repack-geometry: prepare for incremental MIDX repacking
+ - repack-midx: extract `repack_fill_midx_stdin_packs()`
+ - repack-midx: factor out `repack_prepare_midx_command()`
+ - midx: expose `midx_layer_contains_pack()`
+ - repack: track the ODB source via existing_packs
+ - midx: support custom `--base` for incremental MIDX writes
+ - midx: introduce `--checksum-only` for incremental MIDX writes
+ - midx: use `strvec` for `keep_hashes`
+ - strvec: introduce `strvec_init_alloc()`
+ - midx: use `string_list` for retained MIDX files
+ - midx-write: handle noop writes when converting incremental chains
+
+ The repacking code has been refactored and compaction of MIDX layers
+ have been implemented, and incremental strategy that does not require
+ all-into-one repacking has been introduced.
+
+ Needs review.
+ source: <cover.1774820449.git.me@ttaylorr.com>
+
+
+* th/t6101-unhide-git-failures (2026-03-28) 1 commit
+ - t6101: avoid suppressing git's exit code
+
+ Test cleanup.
+
+ Will merge to 'next'.
+ source: <20260328135935.180646-1-vikingtc4@gmail.com>
+
+
+* za/t2000-modernise (2026-03-27) 1 commit
+ - t2000: modernise overall structure
+
+ Test cleanup.
+
+ Will merge to 'next'.
+ source: <20260327234019.95591-1-zakariyahali100@gmail.com>
+
+
+* jd/read-cache-trace-wo-the-repository (2026-03-30) 1 commit
+ - read-cache: use istate->repo for trace2 logging
-* ps/object-counting (2026-03-12) 7 commits
- (merged to 'next' on 2026-03-17 at 8d3d9a1374)
- + odb: introduce generic object counting
- + odb/source: introduce generic object counting
- + object-file: generalize counting objects
- + object-file: extract logic to approximate object count
- + packfile: extract logic to count number of objects
- + odb: stop including "odb/source.h"
- + Merge branch 'ps/odb-sources' into ps/object-counting
- (this branch is used by ps/odb-generic-object-name-handling.)
-
- The logic to count objects has been cleaned up.
- source: <20260312-b4-pks-odb-source-count-objects-v2-0-5914f69256bf@pks.im>
-
-
-* tb/incremental-midx-part-3.2 (2026-02-24) 17 commits
- (merged to 'next' on 2026-03-18 at 7f995e23bb)
- + midx: enable reachability bitmaps during MIDX compaction
- + midx: implement MIDX compaction
- + t/helper/test-read-midx.c: plug memory leak when selecting layer
- + midx-write.c: factor fanout layering from `compute_sorted_entries()`
- + midx-write.c: enumerate `pack_int_id` values directly
- + midx-write.c: extract `fill_pack_from_midx()`
- + midx-write.c: introduce `midx_pack_perm()` helper
- + midx: do not require packs to be sorted in lexicographic order
- + midx-write.c: introduce `struct write_midx_opts`
- + midx-write.c: don't use `pack_perm` when assigning `bitmap_pos`
- + t/t5319-multi-pack-index.sh: fix copy-and-paste error in t5319.39
- + git-multi-pack-index(1): align SYNOPSIS with 'git multi-pack-index -h'
- + git-multi-pack-index(1): remove non-existent incompatibility
- + builtin/multi-pack-index.c: make '--progress' a common option
- + midx: introduce `midx_get_checksum_hex()`
- + midx: rename `get_midx_checksum()` to `midx_get_checksum_hash()`
- + midx: mark `get_midx_checksum()` arguments as const
-
- Further work on incremental repacking using MIDX/bitmap
- source: <cover.1771959555.git.me@ttaylorr.com>
+ A handful of inappropriate uses of the_repository have been
+ rewritten to use the right repository structure instance in the
+ read-cache.c codepath.
+
+ Will merge to 'next'.
+ source: <pull.2253.v4.git.git.1774895886678.gitgitgadget@gmail.com>
+
+
+* jd/unpack-trees-wo-the-repository (2026-03-30) 1 commit
+ - unpack-trees: use explicit repository in trace2 calls
+
+ A handful of inappropriate uses of the_repository have been
+ rewritten to use the right repository structure instance in the
+ unpack-trees.c codepath.
+
+ Will merge to 'next'.
+ source: <pull.2258.git.git.1774901607564.gitgitgadget@gmail.com>
+
+
+* ps/receive-pack-updateinstead-in-worktree (2026-03-30) 3 commits
+ - receive-pack: use worktree HEAD for updateInstead
+ - t5516: clean up cloned and new-wt in denyCurrentBranch and worktrees test
+ - t5516: test updateInstead with worktree and unborn bare HEAD
+
+ The check in "receive-pack" to prevent a checked out branch from
+ getting updated via updateInstead mechanism has been corrected.
+
+ Needs review.
+ source: <20260330111822.165188-1-pabloosabaterr@gmail.com>
+
+
+* ps/setup-wo-the-repository (2026-03-30) 18 commits
+ - setup: stop using `the_repository` in `init_db()`
+ - setup: stop using `the_repository` in `create_reference_database()`
+ - setup: stop using `the_repository` in `initialize_repository_version()`
+ - setup: stop using `the_repository` in `check_repository_format()`
+ - setup: stop using `the_repository` in `upgrade_repository_format()`
+ - setup: stop using `the_repository` in `setup_git_directory()`
+ - setup: stop using `the_repository` in `setup_git_directory_gently()`
+ - setup: stop using `the_repository` in `setup_git_env()`
+ - setup: stop using `the_repository` in `set_git_work_tree()`
+ - setup: stop using `the_repository` in `setup_work_tree()`
+ - setup: stop using `the_repository` in `enter_repo()`
+ - setup: stop using `the_repository` in `verify_non_filename()`
+ - setup: stop using `the_repository` in `verify_filename()`
+ - setup: stop using `the_repository` in `path_inside_repo()`
+ - setup: stop using `the_repository` in `prefix_path()`
+ - setup: stop using `the_repository` in `is_inside_git_dir()`
+ - setup: stop using `the_repository` in `is_inside_worktree()`
+ - setup: replace use of `the_repository` in static functions
+
+ Many uses of the_repository has been updated to use a more
+ appropriate struct repository instance in setup.c codepath.
+
+ Needs review.
+ source: <20260330-pks-setup-wo-the-repository-v1-0-0d2e822837aa@pks.im>
+
+
+* qb/doc-git-stash-push-optionality (2026-03-30) 1 commit
+ - docs: fix "git stash [push]" documentation
+
+ Doc update.
+
+ Will merge to 'next'.
+ source: <pull.2255.v2.git.git.1774877075694.gitgitgadget@gmail.com>
+
+
+* kh/doc-trailers (2026-03-30) 2 commits
+ - doc: interpret-trailers: explain key format
+ - doc: interpret-trailers: stop fixating on RFC 822
+
+ Documentation updates.
+
+ Expecting a reroll.
+ cf. <5ba0bbcb-25a7-4ad0-ac1d-c86508eaffdd@app.fastmail.com>
+ source: <CV_doc_int-tr_key_format.533@msgid.xyz>
--------------------------------------------------
-[New Topics]
+[Graduated to 'master']
-* jc/test-set-e-clean (2026-03-24) 11 commits
- . t9902: make test "set -e" clean
- . t5570: make test "set -e" clean
- . t940?: make test "set -e" clean
- . t9200: make test "set -e" clean
- . t7508: make test "set -e" clean
- . tests: make svn test "set -e" clean
- . t7450: make test "set -e" clean
- . t4032: make test "set -e" clean
- . t6002: make test "set -e" clean
- . t0008: make test "set -e" clean
- . test-lib: catch misspelt 'test_expect_successo'
-
- The test suite harness and many individual test scripts have been
- updated to work correctly when 'set -e' is in effect, which helps
- detect misspelled test commands.
+* ai/t2107-test-path-is-helpers (2026-03-18) 1 commit
+ (merged to 'next' on 2026-03-23 at 56d10e5f76)
+ + t2107: modernize path existence check
- Comments?
- source: <20260325062114.2067946-1-gitster@pobox.com>
+ Test cleanup.
+ source: <pull.2071.v2.git.1773864455956.gitgitgadget@gmail.com>
+
+
+* ej/ref-transaction-hook-preparing (2026-03-16) 1 commit
+ (merged to 'next' on 2026-03-20 at f9b8fbb0dc)
+ + refs: add 'preparing' phase to the reference-transaction hook
+
+ The reference-transaction hook was taught to be triggered before
+ taking locks on references in the "preparing" phase.
+ source: <20260317023624.43070-2-eric.peijian@gmail.com>
+* gi/doc-boolean-config-typofix (2026-03-18) 1 commit
+ (merged to 'next' on 2026-03-20 at 8810624798)
+ + doc: add missing space on git-config page
+
+ Doc typofix.
+ source: <20260318210020.759128-1-gabl@gabl.ink>
+
+
+* jc/rerere-modern-strbuf-handling (2026-03-19) 2 commits
+ (merged to 'next' on 2026-03-21 at 919b766afc)
+ + cocci: strbuf.buf is never NULL
+ + rerere: update to modern representation of empty strbufs
+
+ Code clean-up overdue by 19 years.
+ source: <xmqq341wnvbk.fsf@gitster.g>
+ source: <xmqq4imbigvt.fsf@gitster.g>
+
+
+* jk/diff-highlight-identical-pairs (2026-03-17) 1 commit
+ (merged to 'next' on 2026-03-20 at a8aa5bd14e)
+ + contrib/diff-highlight: do not highlight identical pairs
+ (this branch is used by jk/diff-highlight-more.)
+
+ The handling of the incomplete lines at the end by "git
+ diff-highlight" has been fixed.
+ source: <20260317230223.GA716496@coredump.intra.peff.net>
+
+
+* jw/apply-corrupt-location (2026-03-17) 3 commits
+ (merged to 'next' on 2026-03-23 at 18e9b8f91f)
+ + apply: report input location in binary and garbage patch errors
+ + apply: report input location in header parsing errors
+ + apply: report the location of corrupt patches
+
+ "git apply" now reports the name of the input file along with the
+ line number when it encounters a corrupt patch, and correctly
+ resets the line counter when processing multiple patch files.
+ source: <20260317162321.71812-1-jerrywang183@yahoo.com>
+
+
+* jw/object-name-bitset-to-enum (2026-03-18) 1 commit
+ (merged to 'next' on 2026-03-23 at 881af371ef)
+ + object-name: turn INTERPRET_BRANCH_* constants into enum values
+
+ The unsigned integer that is used as an bitset to specify the kind
+ of branches interpret_branch_name() function has been changed to
+ use a dedicated enum type.
+ source: <20260318190942.22595-1-jerrywang183@yahoo.com>
+
+
+* jw/t2203-status-pipe-fix (2026-03-16) 1 commit
+ (merged to 'next' on 2026-03-23 at 521c6eb44b)
+ + t2203: avoid suppressing git status exit code
+
+ Test clean-up.
+ source: <20260317011544.65952-1-jerrywang183@yahoo.com>
+
+
+* kh/doc-interpret-trailers-1 (2026-03-16) 4 commits
+ (merged to 'next' on 2026-03-20 at 6acc8b5a8a)
+ + interpret-trailers: use placeholder instead of *
+ + doc: config: convert trailers section to synopsis style
+ + doc: interpret-trailers: normalize and fill out options
+ + doc: interpret-trailers: convert to synopsis style
+
+ Doc updates.
+ source: <V2_CV_doc_interpret-tr_synopsis.50a@msgid.xyz>
+
+
+* mf/apply-p-no-atoi (2026-03-15) 1 commit
+ (merged to 'next' on 2026-03-20 at 70a0a4313b)
+ + apply.c: fix -p argument parsing
+
+ "git apply -p<n>" parses <n> more carefully now.
+ source: <20260316005120.7079-1-mroik@delayed.space>
+
+
+* mr/merge-file-object-id-worktree-fix (2026-03-10) 1 commit
+ (merged to 'next' on 2026-03-20 at 68e1ee2045)
+ + merge-file: fix BUG when --object-id is used in a worktree
+
+ merge-file --object-id used to trigger a BUG when run in a linked
+ worktree, which has been fixed.
+ source: <c076edd0-9057-443b-ba37-33aacde2eede@app.fastmail.com>
+
+
+* ps/build-tweaks (2026-03-18) 8 commits
+ (merged to 'next' on 2026-03-20 at fb53cf619a)
+ + meson: precompile "git-compat-util.h"
+ + meson: compile compatibility sources separately
+ + git-compat-util.h: move warning infra to prepare for PCHs
+ + builds: move build scripts into "tools/"
+ + contrib: move "update-unicode.sh" script into "tools/"
+ + contrib: move "coverage-diff.sh" script into "tools/"
+ + contrib: move "coccinelle/" directory into "tools/"
+ + Introduce new "tools/" directory
+ (this branch is used by rs/use-strvec-pushv.)
+
+ Tweak the build infrastructure by moving tools around.
+ source: <20260319-b4-pks-build-infra-improvements-v3-0-82f5fb3edc3f@pks.im>
+
+
+* rs/ahead-behind-cleanup-optimization (2026-03-19) 1 commit
+ (merged to 'next' on 2026-03-21 at 5d8b4fa265)
+ + commit-reach: simplify cleanup of remaining bitmaps in ahead_behind ()
+
+ The cleanup of remaining bitmaps in "ahead_behind()" has been
+ simplified.
+ source: <21adf042-2bd1-4022-8822-9ed4985122a4@web.de>
+
+
+* rs/prio-queue-to-commit-stack (2026-03-17) 1 commit
+ (merged to 'next' on 2026-03-20 at 265cb7b28c)
+ + use commit_stack instead of prio_queue in LIFO mode
+
+ Uses of prio_queue as a LIFO stack of commits have been written
+ with commit_stack.
+ source: <05fc946f-6670-46e9-a058-231ee464029d@web.de>
+
+
+* rs/split-index-the-repo-fix (2026-03-19) 1 commit
+ (merged to 'next' on 2026-03-21 at d66850b2ce)
+ + split-index: stop using the_repository and the_hash_algo
+
+ split-index.c has been updated to not use the global the_repository
+ and the_hash_algo variables.
+ source: <944c2331-4dec-4c98-9059-f41dc204ed86@web.de>
+
+--------------------------------------------------
+[Cooking]
+
* jk/t0061-bat-test-update (2026-03-24) 1 commit
(merged to 'next' on 2026-03-26 at ffae180124)
+ t0061: simplify .bat test
The experimental `git replay` command learned the `--ref=<ref>` option
to allow specifying which ref to update, overriding the default behavior.
- Comments?
+ Seems to break CI.
+ cf. <xmqqjyuynv99.fsf@gitster.g>
source: <20260325-toon-replay-arbitrary-ref-v2-0-553038702c9c@iotcl.com>
that discarded constness when they return a pointer into a const
string to preserve constness.
- Comments?
+ Will merge to 'next'.
source: <20260326190243.GA412983@coredump.intra.peff.net>
source: <20260326192320.GA418281@coredump.intra.peff.net>
-* mf/format-patch-commit-list-format-doc (2026-03-26) 2 commits
+* mf/format-patch-commit-list-format-doc (2026-03-27) 3 commits
+ - format-patch: removing unconditional wrapping
- docs: fix --commit-list-format related entries
- Merge branch 'mf/format-patch-commit-list-format' into mf/format-patch-commit-list-format-doc
(this branch uses mf/format-patch-commit-list-format and mf/format-patch-cover-letter-format.)
Doc updates.
- Waiting for review responses.
- source: <20260326200643.20251-1-mroik@delayed.space>
-
-
-* th/t8003-unhide-git-failures (2026-03-26) 1 commit
- - t8003: avoid suppressing git's exit code
+ Will merge to 'next'.
+ source: <cover.1774640789.git.mroik@delayed.space>
- Test clean-up.
-
- Will merge to 'next'?
- source: <20260326141118.146155-1-vikingtc4@gmail.com>
-
-* za/t2000-test-path-is-helpers (2026-03-26) 1 commit
- - t2000: modernize path checks with test_path_is_* helpers
+* th/t8003-unhide-git-failures (2026-03-28) 2 commits
+ (merged to 'next' on 2026-03-30 at ad41378b07)
+ + t8003: modernise style
+ + t8003: avoid suppressing git's exit code
Test clean-up.
- Will merge to 'next'?
- source: <20260326192603.23961-1-zakariyahali100@gmail.com>
+ Will merge to 'master'.
+ source: <20260328132955.172262-2-vikingtc4@gmail.com>
---------------------------------------------------
-[Cooking]
* jt/fast-import-signed-modes (2026-03-26) 5 commits
- fast-import: add 'abort-if-invalid' mode to '--signed-tags=<mode>'
Handling of signed commits and tags in fast-import has been made more
configurable.
+
+ Needs review.
source: <20260326191414.3783974-1-jltobler@gmail.com>
-* ps/graph-lane-limit (2026-03-25) 2 commits
- - graph: add documentation and tests about --graph-lane-limit
+* ps/graph-lane-limit (2026-03-27) 3 commits
+ - graph: add truncation mark to capped lanes
- graph: add --graph-lane-limit option
+ - graph: limit the graph width to a hard-coded max
The graph output from commands like "git log --graph" can now be
limited to a specified number of lanes, preventing overly wide output
in repositories with many branches.
- Expecting a reroll.
- cf. <CAN5EUNQdq7Eg+yd9ZqVGbYuKSYOhAB5rc2np7SeQT-Zc10aqDw@mail.gmail.com>
- source: <20260325174401.217577-1-pabloosabaterr@gmail.com>
+ Needs review.
+ source: <20260328001113.1275291-1-pabloosabaterr@gmail.com>
* rs/use-strvec-pushv (2026-03-24) 2 commits
(merged to 'next' on 2026-03-24 at 7c6487dcaf)
+ use strvec_pushv() to add another strvec
+ Merge branch 'ps/build-tweaks' into rs/use-strvec-pushv
- (this branch uses ps/build-tweaks.)
Code paths that loop over another array to push each element into a
strvec have been rewritten to use strvec_pushv() instead.
source: <20260322023557.15907-1-jayatheerthkulkarni2005@gmail.com>
-* jk/diff-highlight-identical-pairs (2026-03-17) 1 commit
- (merged to 'next' on 2026-03-20 at a8aa5bd14e)
- + contrib/diff-highlight: do not highlight identical pairs
- (this branch is used by jk/diff-highlight-more.)
-
- The handling of the incomplete lines at the end by "git
- diff-highlight" has been fixed.
-
- Will merge to 'master'.
- source: <20260317230223.GA716496@coredump.intra.peff.net>
-
-
* jk/diff-highlight-more (2026-03-22) 9 commits
(merged to 'next' on 2026-03-24 at e7b555cbc5)
+ diff-highlight: fetch all config with one process
+ diff-highlight: drop perl version dependency back to 5.8
+ diff-highlight: mention build instructions
+ Merge branch 'jk/diff-highlight-identical-pairs' into jk/diff-highlight-more
- (this branch uses jk/diff-highlight-identical-pairs.)
Various updates to contrib/diff-highlight, including documentation
updates, test improvements, and color configuration handling.
source: <20260323-b4-pks-fsck-without-the-repository-v2-0-e8dc79bca651@pks.im>
-* tb/stdin-packs-excluded-but-open (2026-03-25) 5 commits
+* tb/stdin-packs-excluded-but-open (2026-03-27) 5 commits
- repack: mark non-MIDX packs above the split as excluded-open
- pack-objects: support excluded-open packs with --stdin-packs
- t7704: demonstrate failure with once-cruft objects above the geometric split
pack-objects's --stdin-packs=follow mode learns to handle
excluded-but-open packs.
- Will merge to 'next'?
- source: <cover.1774482700.git.me@ttaylorr.com>
+ Will merge to 'next'.
+ source: <cover.1774641999.git.me@ttaylorr.com>
* yc/path-walk-fix-error-reporting (2026-03-20) 1 commit
* ds/backfill-revs (2026-03-26) 6 commits
- - t5620: test backfill's unknown argument handling
- - path-walk: support wildcard pathspecs for blob filtering
- - backfill: work with prefix pathspecs
- - backfill: accept revision arguments
- - t5620: prepare branched repo for revision tests
- - revision: include object-name.h
+ (merged to 'next' on 2026-03-27 at d4703fdd35)
+ + t5620: test backfill's unknown argument handling
+ + path-walk: support wildcard pathspecs for blob filtering
+ + backfill: work with prefix pathspecs
+ + backfill: accept revision arguments
+ + t5620: prepare branched repo for revision tests
+ + revision: include object-name.h
`git backfill` learned to accept revision and pathspec arguments.
- Will merge to 'next'?
- source: <pull.2070.v3.git.1774538094.gitgitgadget@gmail.com>
-
-
-* jw/t2203-status-pipe-fix (2026-03-16) 1 commit
- (merged to 'next' on 2026-03-23 at 521c6eb44b)
- + t2203: avoid suppressing git status exit code
-
- Test clean-up.
-
Will merge to 'master'.
- source: <20260317011544.65952-1-jerrywang183@yahoo.com>
+ source: <pull.2070.v3.git.1774538094.gitgitgadget@gmail.com>
* ps/commit-graph-overflow-fix (2026-03-23) 1 commit
git replay now supports replaying down to the root commit.
- Will merge to 'next'?
+ Will merge to 'next'.
source: <20260324-toon-replay-down-to-root-v2-1-34e723489f6e@iotcl.com>
-* mr/merge-file-object-id-worktree-fix (2026-03-10) 1 commit
- (merged to 'next' on 2026-03-20 at 68e1ee2045)
- + merge-file: fix BUG when --object-id is used in a worktree
-
- merge-file --object-id used to trigger a BUG when run in a linked
- worktree, which has been fixed.
-
- Will merge to 'master'.
- source: <c076edd0-9057-443b-ba37-33aacde2eede@app.fastmail.com>
-
-
-* rs/prio-queue-to-commit-stack (2026-03-17) 1 commit
- (merged to 'next' on 2026-03-20 at 265cb7b28c)
- + use commit_stack instead of prio_queue in LIFO mode
-
- Uses of prio_queue as a LIFO stack of commits have been written
- with commit_stack.
-
- Will merge to 'master'.
- source: <05fc946f-6670-46e9-a058-231ee464029d@web.de>
-
-
-* jw/object-name-bitset-to-enum (2026-03-18) 1 commit
- (merged to 'next' on 2026-03-23 at 881af371ef)
- + object-name: turn INTERPRET_BRANCH_* constants into enum values
-
- The unsigned integer that is used as an bitset to specify the kind
- of branches interpret_branch_name() function has been changed to
- use a dedicated enum type.
-
- Will merge to 'master'.
- source: <20260318190942.22595-1-jerrywang183@yahoo.com>
-
-
-* ai/t2107-test-path-is-helpers (2026-03-18) 1 commit
- (merged to 'next' on 2026-03-23 at 56d10e5f76)
- + t2107: modernize path existence check
-
- Test cleanup.
-
- Will merge to 'master'.
- source: <pull.2071.v2.git.1773864455956.gitgitgadget@gmail.com>
-
-
-* gi/doc-boolean-config-typofix (2026-03-18) 1 commit
- (merged to 'next' on 2026-03-20 at 8810624798)
- + doc: add missing space on git-config page
-
- Doc typofix.
-
- Will merge to 'master'.
- source: <20260318210020.759128-1-gabl@gabl.ink>
-
-
-* ua/push-remote-group (2026-03-25) 2 commits
+* ua/push-remote-group (2026-03-27) 3 commits
+ - SQUASH??? - futureproof against the attack of the "main"
- push: support pushing to a remote group
- remote: move remote group resolution to remote.c
"git push" learned to take a "remote group" name to push to, which
causes pushes to multiple places, just like "git fetch" would do.
- Waiting for a review response.
+ Expecting a reroll.
cf. <xmqq7bqzu1xh.fsf@gitster.g>
+ cf. <xmqqse9kj4rh.fsf@gitster.g>
source: <20260325190906.1153080-1-usmanakinyemi202@gmail.com>
-* jc/rerere-modern-strbuf-handling (2026-03-19) 2 commits
- (merged to 'next' on 2026-03-21 at 919b766afc)
- + cocci: strbuf.buf is never NULL
- + rerere: update to modern representation of empty strbufs
-
- Code clean-up overdue by 19 years.
-
- Will merge to 'master'.
- source: <xmqq341wnvbk.fsf@gitster.g>
- source: <xmqq4imbigvt.fsf@gitster.g>
-
-
* ps/odb-generic-object-name-handling (2026-03-20) 16 commits
- odb: introduce generic `odb_find_abbrev_len()`
- object-file: move logic to compute packed abbreviation length
refactored to be backend-generic, moving logic into the respective
object database backends.
- Comments?
+ Will merge to 'next'.
+ cf. <874ilxm4wp.fsf@toon--20250203-5JQV3.mail-host-address-is-not-set>
source: <20260320-b4-pks-odb-source-abbrev-v2-0-fe65dcd8c735@pks.im>
-* rs/ahead-behind-cleanup-optimization (2026-03-19) 1 commit
- (merged to 'next' on 2026-03-21 at 5d8b4fa265)
- + commit-reach: simplify cleanup of remaining bitmaps in ahead_behind ()
-
- The cleanup of remaining bitmaps in "ahead_behind()" has been
- simplified.
-
- Will merge to 'master'.
- source: <21adf042-2bd1-4022-8822-9ed4985122a4@web.de>
-
-
* bk/t5315-test-path-is-helpers (2026-03-19) 1 commit
(merged to 'next' on 2026-03-24 at f7374e8e70)
+ t5315: use test_path_is_file for loose-object check
source: <20260319180803.164335-1-elkhatabibilal@gmail.com>
-* rs/split-index-the-repo-fix (2026-03-19) 1 commit
- (merged to 'next' on 2026-03-21 at d66850b2ce)
- + split-index: stop using the_repository and the_hash_algo
-
- split-index.c has been updated to not use the global the_repository
- and the_hash_algo variables.
-
- Will merge to 'master'.
- source: <944c2331-4dec-4c98-9059-f41dc204ed86@web.de>
-
-
* aa/reap-transport-child-processes (2026-03-12) 1 commit
- transport-helper, connect: use clean_on_exit to reap children on abnormal exit
connection weren't wait(2)ing for their children and letting "init"
reap them instead; they have been tightened.
- Will merge to 'next' after jk/t0061-bat-test-update settles down.
+ Will merge to 'next'.
cf. <20260325061357.GA3772970@coredump.intra.peff.net>
source: <20260312214945.4050010-1-cshung@gmail.com>
-* ej/ref-transaction-hook-preparing (2026-03-16) 1 commit
- (merged to 'next' on 2026-03-20 at f9b8fbb0dc)
- + refs: add 'preparing' phase to the reference-transaction hook
-
- The reference-transaction hook was taught to be triggered before
- taking locks on references in the "preparing" phase.
-
- Will merge to 'master'.
- source: <20260317023624.43070-2-eric.peijian@gmail.com>
-
-
* hn/git-checkout-m-with-stash (2026-03-17) 4 commits
- checkout: -m (--merge) uses autostash when switching branches
- sequencer: teach autostash apply to take optional conflict marker labels
* pw/worktree-reduce-the-repository (2026-03-26) 3 commits
- - worktree: reject NULL worktree in get_worktree_git_dir()
- - worktree add: stop reading ".git/HEAD"
- - worktree: remove "the_repository" from is_current_worktree()
+ (merged to 'next' on 2026-03-30 at f967ececef)
+ + worktree: reject NULL worktree in get_worktree_git_dir()
+ + worktree add: stop reading ".git/HEAD"
+ + worktree: remove "the_repository" from is_current_worktree()
Reduce the reference to the_repository in the worktree subsystem.
- Will merge to 'next'?
- source: <cover.1774534617.git.phillip.wood@dunelm.org.uk>
-
-
-* jw/apply-corrupt-location (2026-03-17) 3 commits
- (merged to 'next' on 2026-03-23 at 18e9b8f91f)
- + apply: report input location in binary and garbage patch errors
- + apply: report input location in header parsing errors
- + apply: report the location of corrupt patches
-
- "git apply" now reports the name of the input file along with the
- line number when it encounters a corrupt patch, and correctly
- resets the line counter when processing multiple patch files.
-
Will merge to 'master'.
- source: <20260317162321.71812-1-jerrywang183@yahoo.com>
+ source: <cover.1774534617.git.phillip.wood@dunelm.org.uk>
* mf/format-patch-commit-list-format (2026-03-23) 9 commits
source: <SY0P300MB080186A23FB9582AD793F0D1CE40A@SY0P300MB0801.AUSP300.PROD.OUTLOOK.COM>
-* mf/apply-p-no-atoi (2026-03-15) 1 commit
- (merged to 'next' on 2026-03-20 at 70a0a4313b)
- + apply.c: fix -p argument parsing
-
- "git apply -p<n>" parses <n> more carefully now.
-
- Will merge to 'master'.
- source: <20260316005120.7079-1-mroik@delayed.space>
-
-
-* ps/build-tweaks (2026-03-18) 8 commits
- (merged to 'next' on 2026-03-20 at fb53cf619a)
- + meson: precompile "git-compat-util.h"
- + meson: compile compatibility sources separately
- + git-compat-util.h: move warning infra to prepare for PCHs
- + builds: move build scripts into "tools/"
- + contrib: move "update-unicode.sh" script into "tools/"
- + contrib: move "coverage-diff.sh" script into "tools/"
- + contrib: move "coccinelle/" directory into "tools/"
- + Introduce new "tools/" directory
- (this branch is used by rs/use-strvec-pushv.)
-
- Tweak the build infrastructure by moving tools around.
-
- Will merge to 'master'.
- source: <20260319-b4-pks-build-infra-improvements-v3-0-82f5fb3edc3f@pks.im>
-
-
-* kh/doc-interpret-trailers-1 (2026-03-16) 4 commits
- (merged to 'next' on 2026-03-20 at 6acc8b5a8a)
- + interpret-trailers: use placeholder instead of *
- + doc: config: convert trailers section to synopsis style
- + doc: interpret-trailers: normalize and fill out options
- + doc: interpret-trailers: convert to synopsis style
-
- Doc updates.
-
- Will merge to 'master'.
- source: <V2_CV_doc_interpret-tr_synopsis.50a@msgid.xyz>
-
-
* mm/line-log-use-standard-diff-output (2026-03-16) 4 commits
- doc: note that -L supports patch formatting and pickaxe options
- t4211: add tests for -L with standard diff options
* ar/config-hook-cleanups (2026-03-25) 13 commits
- - hook: reject unknown hook names in git-hook(1)
- - hook: show disabled hooks in "git hook list"
- - hook: show config scope in git hook list
- - hook: introduce hook_config_cache_entry for per-hook data
- - t1800: add test to verify hook execution ordering
- - hook: make consistent use of friendly-name in docs
- - hook: replace hook_list_clear() -> string_list_clear_func()
- - hook: detect & emit two more bugs
- - hook: rename cb_data_free/alloc -> hook_data_free/alloc
- - hook: fix minor style issues
- - builtin/receive-pack: properly init receive_hook strbuf
- - hook: move unsorted_string_list_remove() to string-list.[ch]
- - Merge branch 'ar/config-hooks' into ar/config-hook-cleanups
+ (merged to 'next' on 2026-03-30 at c128948b16)
+ + hook: reject unknown hook names in git-hook(1)
+ + hook: show disabled hooks in "git hook list"
+ + hook: show config scope in git hook list
+ + hook: introduce hook_config_cache_entry for per-hook data
+ + t1800: add test to verify hook execution ordering
+ + hook: make consistent use of friendly-name in docs
+ + hook: replace hook_list_clear() -> string_list_clear_func()
+ + hook: detect & emit two more bugs
+ + hook: rename cb_data_free/alloc -> hook_data_free/alloc
+ + hook: fix minor style issues
+ + builtin/receive-pack: properly init receive_hook strbuf
+ + hook: move unsorted_string_list_remove() to string-list.[ch]
+ + Merge branch 'ar/config-hooks' into ar/config-hook-cleanups
(this branch is used by ar/parallel-hooks.)
Code clean-up around the recent "hooks defined in config" topic.
- Will merge to 'next'?
+ Will merge to 'master'.
source: <20260325195503.1139418-1-adrian.ratiu@collabora.com>
The fsmonitor daemon has been implemented for Linux.
- Waiting for the rerolls to slow down?
- cf. <aakyzGksiC2fhhiD@pks.im>
+ Needs review.
source: <pull.2147.v8.git.git.1772648125.gitgitgadget@gmail.com>
* sa/replay-revert (2026-03-25) 2 commits
- - replay: add --revert mode to reverse commit changes
- - sequencer: extract revert message formatting into shared function
+ (merged to 'next' on 2026-03-30 at ef4896a676)
+ + replay: add --revert mode to reverse commit changes
+ + sequencer: extract revert message formatting into shared function
(this branch is used by tc/replay-ref.)
"git replay" (experimental) learns, in addition to "pick" and
"replay", a new operating mode "revert".
- Will merge to 'next'?
+ Will merge to 'master'.
source: <20260325202354.10628-1-siddharthasthana31@gmail.com>
source: <20260326101819.1307742-1-adrian.ratiu@collabora.com>
-* en/xdiff-cleanup-3 (2026-03-25) 5 commits
- - xdiff/xdl_cleanup_records: use unambiguous types
+* en/xdiff-cleanup-3 (2026-03-30) 6 commits
- xdiff/xdl_cleanup_records: simplify INVESTIGATE handling for clarity
- xdiff/xdl_cleanup_records: make setting action easier to follow
- xdiff/xdl_cleanup_records: make limits more clear
+ - xdiff/xdl_cleanup_records: use unambiguous types
+ - xdiff: use unambiguous types in xdl_bogo_sqrt()
- xdiff/xdl_cleanup_records: delete local recs pointer
Preparation of the xdiff/ codebase to work with Rust
- Needs review?
- source: <pull.2156.v2.git.git.1774473065.gitgitgadget@gmail.com>
-
-
-* js/macos-homebrew-forgets-reg-enhanced (2026-03-20) 1 commit
- . osx-clang: work around Homebrew's clang lacking REG_ENHANCED
-
- The build on macOS with Clang is fixed to work around a Homebrew change
- that exposed an issue with missing REG_ENHANCED.
-
- No longer needed?
- cf. <6c108696-2d41-4fa1-9662-fbf6db97f767@web.de>
- cf. <458ad3c1-96df-4575-ee42-e6eb754f25f6@gmx.de>
- cf. <xmqq8qbi5vvx.fsf@gitster.g>
- source: <d340af9e-334c-4e81-e58a-fc3dea73ebdd@gmx.de>
+ Needs review.
+ source: <pull.2156.v4.git.git.1774890003.gitgitgadget@gmail.com>
--------------------------------------------------
[Discarded]
-* js/neuter-sideband (2026-02-03) 6 commits
- . sideband: delay sanitizing by default to Git v3.0
- . sideband: offer to configure sanitizing on a per-URL basis
- . sideband: add options to allow more control sequences to be passed through
- . sideband: do allow ANSI color sequences by default
- . sideband: introduce an "escape hatch" to allow control characters
- . sideband: mask control characters
-
- Invalidate control characters in sideband messages, to avoid
- terminal state getting messed up.
-
- Superseded by 'jc/neuter-sideband-fixup', which reuses most of the patches.
- cf. <xmqqv7gcnwd4.fsf@gitster.g>
- source: <pull.1853.v4.git.1770113882.gitgitgadget@gmail.com>
-
-
* bc/rev-parse-parseopt-help-exit-code (2026-03-16) 1 commit
. rev-parse: have --parseopt callers exit 0 on --help
Need to step back and rethink how exit code should look like.
cf. <20260317150759.GA9975@coredump.intra.peff.net>
source: <20260316220742.1286157-1-sandals@crustytoothpaste.net>
+
+
+* js/macos-homebrew-forgets-reg-enhanced (2026-03-20) 1 commit
+ . osx-clang: work around Homebrew's clang lacking REG_ENHANCED
+
+ The build on macOS with Clang is fixed to work around a Homebrew change
+ that exposed an issue with missing REG_ENHANCED.
+
+ No longer needed?
+ cf. <6c108696-2d41-4fa1-9662-fbf6db97f767@web.de>
+ cf. <458ad3c1-96df-4575-ee42-e6eb754f25f6@gmx.de>
+ cf. <xmqq8qbi5vvx.fsf@gitster.g>
+ source: <d340af9e-334c-4e81-e58a-fc3dea73ebdd@gmx.de>