]> git.ipfire.org Git - thirdparty/git.git/commitdiff
What's cooking (2026/03 #02)
authorJunio C Hamano <gitster@pobox.com>
Wed, 4 Mar 2026 23:01:28 +0000 (15:01 -0800)
committerJunio C Hamano <gitster@pobox.com>
Wed, 4 Mar 2026 23:01:28 +0000 (15:01 -0800)
whats-cooking.txt

index 6e07390a4fc485781d7d540e9c706d24ad0856c9..9f21efc7cb0a945152b989da0ae2f4c72ce333e5 100644 (file)
@@ -1,10 +1,10 @@
 To: git@vger.kernel.org
-Subject: What's cooking in git.git (Mar 2026, #01)
-X-master-at: 4805bb993087cb1fb9a81470aaa238123c0ed6e2
-X-next-at: 1c1a6361099e1f5da60de11cc2655846ea369be3
+Subject: What's cooking in git.git (Mar 2026, #02)
+X-master-at: 628a66ccf68d141d57d06e100c3514a54b31d6b7
+X-next-at: 7842e34a66540770d4e1ee6a443a82652b97dd7d
 Bcc: lwn@lwn.net, gitster@pobox.com
 
-What's cooking in git.git (Mar 2026, #01)
+What's cooking in git.git (Mar 2026, #02)
 -----------------------------------------
 
 Here are the topics that have been cooking in my tree.  Commits
@@ -50,148 +50,325 @@ Release tarballs are available at:
 --------------------------------------------------
 [Graduated to 'master']
 
-* ag/http-netrc-tests (2026-01-06) 1 commit
-  (merged to 'next' on 2026-02-22 at acae2989d4)
- + t5550: add netrc tests for http 401/403
+* aa/add-p-no-auto-advance (2026-02-14) 4 commits
+  (merged to 'next' on 2026-02-25 at ce27f94bc2)
+ + add-patch: allow interfile navigation when selecting hunks
+ + add-patch: allow all-or-none application of patches
+ + add-patch: modify patch_update_file() signature
+ + interactive -p: add new `--auto-advance` flag
 
- Additional tests were introduced to see the interaction with netrc
auth with auth failure on the http transport.
- source: <20260107074724.13165-1-git@ashlesh.me>
+ "git add -p" learned a new mode that allows the user to revisit a
file that was already dealt with.
+ source: <cover.1771066252.git.abrahamadekunle50@gmail.com>
 
 
-* jt/object-file-use-container-of (2026-02-22) 2 commits
-  (merged to 'next' on 2026-02-22 at 309c995771)
- + object-file.c: avoid container_of() of a NULL container
-  (merged to 'next' on 2026-02-20 at 7a30cb262f)
- + object-file: use `container_of()` to convert from base types
+* bk/mailmap-wo-the-repository (2026-02-19) 2 commits
+  (merged to 'next' on 2026-02-26 at f7e3afc1ff)
+ + mailmap: drop global config variables
+ + mailmap: stop using the_repository
 
Code clean-up.
- source: <20260218210120.1146078-1-jltobler@gmail.com>
- source: <xmqqh5r8r0to.fsf_-_@gitster.g>
Wean the mailmap code off of the_repository dependency.
+ source: <20260220060442.29469-1-bkkaracay@gmail.com>
 
 
-* kh/doc-am-xref (2026-02-09) 4 commits
-  (merged to 'next' on 2026-02-22 at 920d0c2836)
- + doc: am: fill out hook discussion
- + doc: am: add missing config am.messageId
- + doc: am: say that --message-id adds a trailer
- + doc: am: normalize git(1) command links
+* cs/subtree-split-fixes (2026-02-17) 3 commits
+  (merged to 'next' on 2026-02-25 at 3824d2c52d)
+ + contrib/subtree: process out-of-prefix subtrees
+ + contrib/subtree: test history depth
+ + contrib/subtree: capture additional test-cases
+
+ An earlier attempt to optimize "git subtree" discarded too much
+ relevant histories, which has been corrected.
+ source: <20260217-cs-subtree-remove-optimization-v2-0-4299e71a30c6@howdoi.land>
 
- Doc update.
- source: <doc_am_gitlinks_and_am.messageId.321@msgid.xyz>
 
+* cx/fetch-display-ubfix (2026-02-24) 1 commit
+  (merged to 'next' on 2026-02-26 at ebd1da8b75)
+ + fetch: fix wrong evaluation order in URL trailing-slash trimming
 
-* kh/doc-patch-id-4 (2026-02-14) 3 commits
-  (merged to 'next' on 2026-02-22 at bfae23ac5e)
- + doc: patch-id: see also git-cherry(1)
- + doc: patch-id: add script example
- + doc: patch-id: emphasize multi-patch processing
+ Undefined-behaviour fix in "git fetch".
+ source: <pull.2211.git.git.1771984857879.gitgitgadget@gmail.com>
 
- Doc update.
- source: <V2_CV_doc_patch-id_4.371@msgid.xyz>
+
+* dk/meson-regen-config-list (2026-02-24) 1 commit
+  (merged to 'next' on 2026-02-26 at 64ea932d59)
+ + build: regenerate config-list.h when Documentation changes
+
+ Fix dependency screw-up in meson-based builds.
+ source: <4ef96c6bbf698a08df1df87b7cb053b6d0d00822.1771943954.git.ben.knoble+github@gmail.com>
+
+
+* ds/config-list-with-type (2026-02-23) 13 commits
+  (merged to 'next' on 2026-02-26 at cdaee07fde)
+ + config: use an enum for type
+ + config: restructure format_config()
+ + config: format colors quietly
+ + color: add color_parse_quietly()
+ + config: format expiry dates quietly
+ + config: format paths gently
+ + config: format bools or strings in helper
+ + config: format bools or ints gently
+ + config: format bools gently
+ + config: format int64s gently
+ + config: make 'git config list --type=<X>' work
+ + config: add 'gently' parameter to format_config()
+ + config: move show_all_config()
+
+ "git config list" is taught to show the values interpreted for
+ specific type with "--type=<X>" option.
+ source: <pull.2044.v3.git.1771849615.gitgitgadget@gmail.com>
+
+
+* en/merge-ort-almost-wo-the-repository (2026-02-19) 6 commits
+  (merged to 'next' on 2026-02-26 at 4c07a66173)
+ + replay: prevent the_repository from coming back
+ + merge-ort: prevent the_repository from coming back
+ + merge-ort: replace the_hash_algo with opt->repo->hash_algo
+ + merge-ort: replace the_repository with opt->repo
+ + merge-ort: pass repository to write_tree()
+ + merge,diff: remove the_repository check before prefetching blobs
+
+ Mark the marge-ort codebase to prevent more uses of the_repository
+ from getting added.
+  cf. <143ab1c8-9f07-4df7-8200-69b5a78a0351@gmail.com>
+ cf. <aZ12rYYwbh1fvrnE@pks.im>
+ source: <pull.2048.v3.git.1771718393.gitgitgadget@gmail.com>
+
+
+* hy/diff-lazy-fetch-with-break-fix (2026-02-23) 1 commit
+  (merged to 'next' on 2026-02-25 at afe07ad86c)
+ + diffcore-break: avoid segfault with freed entries
+
+ A prefetch call can be triggered to access a stale diff_queue entry
+ after diffcore-break breaks a filepair into two and freed the
+ original entry that is no longer used, leading to a segfault, which
+ has been corrected.
+ source: <20260224061329.60364-2-hanyang.tony@bytedance.com>
 
 
-* ps/meson-gitk-git-gui (2026-02-04) 1 commit
-  (merged to 'next' on 2026-02-22 at a6cd49271f)
- + meson: wire up gitk and git-gui
+* jr/apply-directory-normalize (2026-02-17) 1 commit
+  (merged to 'next' on 2026-02-26 at 588d44696d)
+ + apply: normalize path in --directory argument
 
- Plumb gitk/git-gui build and install procedure in meson based
- builds.
- source: <20260204-b4-pks-meson-tcl-tk-v2-1-5bc3ccf3a8ce@pks.im>
+ "git apply --directory=./un/../normalized/path" now normalizes the
+ given path before using it.
+ source: <pull.2198.v2.git.git.1771373732749.gitgitgadget@gmail.com>
 
 
-* ps/object-info-bits-cleanup (2026-02-11) 5 commits
-  (merged to 'next' on 2026-02-22 at 4d702cbecc)
- + odb: convert `odb_has_object()` flags into an enum
- + odb: convert object info flags into an enum
- + odb: drop gaps in object info flag values
- + builtin/fsck: fix flags passed to `odb_has_object()`
- + builtin/backfill: fix flags passed to `odb_has_object()`
- (this branch is used by ps/odb-sources.)
+* kn/osxkeychain-buildfix (2026-02-19) 1 commit
+  (merged to 'next' on 2026-02-26 at 913be932b0)
+ + osxkeychain: define build targets in the top-level Makefile.
 
- A couple of bugs in use of flag bits around odb API has been
- corrected, and the flag bits reordered.
- source: <20260212-b4-pks-read-object-info-flags-v2-0-3bfa9bb149ef@pks.im>
+ Simplify build procedure for oxskeychain (in contrib/).
+ source: <pull.2046.v4.git.1771551540816.gitgitgadget@gmail.com>
 
 
-* ps/odb-for-each-object (2026-01-26) 16 commits
-  (merged to 'next' on 2026-02-22 at 80178ecd0d)
- + odb: drop unused `for_each_{loose,packed}_object()` functions
- + reachable: convert to use `odb_for_each_object()`
- + builtin/pack-objects: use `packfile_store_for_each_object()`
- + odb: introduce mtime fields for object info requests
- + treewide: drop uses of `for_each_{loose,packed}_object()`
- + treewide: enumerate promisor objects via `odb_for_each_object()`
- + builtin/fsck: refactor to use `odb_for_each_object()`
- + odb: introduce `odb_for_each_object()`
- + packfile: introduce function to iterate through objects
- + packfile: extract function to iterate through objects of a store
- + object-file: introduce function to iterate through objects
- + object-file: extract function to read object info from path
- + odb: fix flags parameter to be unsigned
- + odb: rename `FOR_EACH_OBJECT_*` flags
- + Merge branch 'ps/packfile-store-in-odb-source' into ps/odb-for-each-object
- + Merge branch 'ps/read-object-info-improvements' into ps/odb-for-each-object
- (this branch is used by ps/odb-sources.)
+* kn/ref-location (2026-02-25) 6 commits
+  (merged to 'next' on 2026-02-26 at e87adbdb69)
+ + refs: add GIT_REFERENCE_BACKEND to specify reference backend
+ + refs: allow reference location in refstorage config
+ + refs: receive and use the reference storage payload
+ + refs: move out stub modification to generic layer
+ + refs: extract out `refs_create_refdir_stubs()`
+ + setup: don't modify repo in `create_reference_database()`
 
- Revamp object enumeration API around odb.
- source: <20260126-pks-odb-for-each-object-v4-0-5a64a038c791@pks.im>
+ Allow the directory in which reference backends store their data to
+ be specified.
+ source: <20260225-kn-alternate-ref-dir-v9-0-3fe118e40e28@gmail.com>
 
 
-* ps/receive-pack-shallow-optim (2026-02-16) 3 commits
-  (merged to 'next' on 2026-02-22 at ad6abc1ef8)
- + commit: use commit graph in `lookup_commit_reference_gently()`
- + commit: make `repo_parse_commit_no_graph()` more robust
- + commit: avoid parsing non-commits in `lookup_commit_reference_gently()`
+* lg/t2004-test-path-is-helpers (2026-02-21) 1 commit
+  (merged to 'next' on 2026-02-25 at c5862e1b3d)
+ + t2004: use test_path_is_file instead of test -f
 
- The code to accept shallow "git push" has been optimized.
- source: <20260216-b4-pks-receive-pack-optimize-shallow-v1-0-e98886daff2b@pks.im>
+ Test code clean-up.
+ source: <pull.2049.git.1771694893208.gitgitgadget@gmail.com>
 
 
-* ps/validate-prefix-in-subtree-split (2026-02-03) 1 commit
-  (merged to 'next' on 2026-02-22 at f44d607586)
- + subtree: validate --prefix against commit in split
+* lo/repo-leftover-bits (2026-02-25) 9 commits
+  (merged to 'next' on 2026-02-26 at 962fc48d45)
+ + Documentation/git-repo: capitalize format descriptions
+ + Documentation/git-repo: replace 'NUL' with '_NUL_'
+ + t1901: adjust nul format output instead of expected value
+ + t1900: rename t1900-repo to t1900-repo-info
+ + repo: rename struct field to repo_info_field
+ + repo: replace get_value_fn_for_key by get_repo_info_field
+ + repo: rename repo_info_fields to repo_info_field
+ + CodingGuidelines: instruct to name arrays in singular
+ + Merge branch 'lo/repo-info-keys' into lo/repo-leftover-bits
 
- "git subtree split --prefix=P <commit>" now checks the prefix P
- against the tree of the (potentially quite different from the
- current working tree) given commit.
- source: <20260203164815.68258-2-pushkarkumarsingh1970@gmail.com>
+ Clean-up the code around "git repo info" command.
+ source: <20260225183559.79303-1-lucasseikioshiro@gmail.com>
 
 
-* pw/meson-doc-mergetool (2026-02-09) 1 commit
-  (merged to 'next' on 2026-02-22 at dfdfff02f8)
- + meson: fix building mergetool docs
+* ps/maintenance-geometric-default (2026-02-24) 8 commits
+  (merged to 'next' on 2026-02-26 at 8ab085f657)
+ + builtin/maintenance: use "geometric" strategy by default
+ + t7900: prepare for switch of the default strategy
+ + t6500: explicitly use "gc" strategy
+ + t5510: explicitly use "gc" strategy
+ + t5400: explicitly use "gc" strategy
+ + t34xx: don't expire reflogs where it matters
+ + t: disable maintenance where we verify object database structure
+ + t: fix races caused by background maintenance
 
- Update build precedure for mergetool documentation in meson-based builds.
- source: <604c79018992dee019205741934508091cdd1e47.1770631599.git.phillip.wood@dunelm.org.uk>
+ "git maintenance" starts using the "geometric" strategy by default.
+ source: <20260224-b4-pks-maintenance-default-geometric-strategy-v2-0-8657338c6fa1@pks.im>
 
 
-* ty/symlinks-use-unsigned-for-bitset (2026-02-16) 1 commit
-  (merged to 'next' on 2026-02-22 at 6546dc5cf2)
- + symlinks: use unsigned int for flags
+* ps/simplify-normalize-path-copy-len (2026-02-21) 1 commit
+  (merged to 'next' on 2026-02-25 at ce7c45c6fa)
+ + path: factor out skip_slashes() in normalize_path_copy_len()
 
  Code clean-up.
- source: <20260216172028.140525-1-a3205153416@gmail.com>
+ source: <20260221110511.1592-2-pushkarkumarsingh1970@gmail.com>
+
+
+* pw/no-more-NULL-means-current-worktree (2026-02-19) 2 commits
+  (merged to 'next' on 2026-02-26 at 281f28b140)
+ + path: remove repository argument from worktree_git_path()
+ + wt-status: avoid passing NULL worktree
+
+ API clean-up for the worktree subsystem.
+  cf. <d5866041-3e2f-4f5e-a8d1-725fd3eac2e2@gmail.com>
+ source: <cover.1771511192.git.phillip.wood@dunelm.org.uk>
+
+
+* rr/gitweb-mobile (2026-02-16) 5 commits
+  (merged to 'next' on 2026-02-26 at b7e4c26f73)
+ + gitweb: let page header grow on mobile for long wrapped project names
+ + gitweb: fix mobile footer overflow by wrapping text and clearing floats
+ + gitweb: fix mobile page overflow across log/commit/blob/diff views
+ + gitweb: prevent project search bar from overflowing on mobile
+ + gitweb: add viewport meta tag for mobile devices
 
+ "gitweb" has been taught to be mobile friendly.
+ source: <pull.2043.v2.git.1771257211.gitgitgadget@gmail.com>
+
+
+* sc/pack-redundant-leakfix (2026-02-21) 1 commit
+  (merged to 'next' on 2026-02-25 at b2fda8839e)
+ + pack-redundant: fix memory leak when open_pack_index() fails
+
+ Leakfix.
+ source: <20260221103900.41740-1-sahityajb@gmail.com>
+
+
+* sp/shallow-deepen-relative-fix (2026-02-15) 2 commits
+  (merged to 'next' on 2026-02-26 at 2183b3405e)
+ + shallow: handling fetch relative-deepen
+ + shallow: free local object_array allocations
 
-* uk/signature-is-good-after-key-expires (2026-02-04) 1 commit
-  (merged to 'next' on 2026-02-22 at 094113b392)
- + gpg-interface: signatures by expired keys are fine
+ "git fetch --deepen" that tries to go beyond merged branch used to
+ get confused where the updated shallow points are, which has been
+ corrected.
+ source: <pull.2121.v5.git.git.1771186316.gitgitgadget@gmail.com>
+
+
+* sp/tree-diff-wo-the-repository (2026-02-20) 1 commit
+  (merged to 'next' on 2026-02-26 at c5762ee063)
+ + tree-diff: remove the usage of the_hash_algo global
 
- A signature on a commit that was GPG signed long time ago ought to
- be still valid after the key that was used to sign it has expired,
- but we showed them in alarming red.
- source: <20260204152306.1767112-2-ukleinek@kernel.org>
+ The last uses of the_repository in "tree-diff.c" have been
+ eradicated.
+ source: <20260220175331.1250726-1-shreyanshpaliwalcmsmn@gmail.com>
 
 --------------------------------------------------
 [New Topics]
 
-* fp/t3310-test-path-is-helpers (2026-02-27) 1 commit
- - t3310: replace test -f/-d with test_path_is_file/test_path_is_dir
+* kj/path-micro-code-cleanup (2026-03-04) 3 commits
+  (merged to 'next' on 2026-03-04 at 569091027c)
+ + path: remove redundant function calls
+ + path: use size_t for dir_prefix length
+ + path: remove unused header
+
+ Code clean-up.
+
+ Will merge to 'master'.
+ source: <20260304130502.8475-1-jayatheerthkulkarni2005@gmail.com>
+
+
+* lp/doc-gitprotocol-pack-fixes (2026-03-02) 3 commits
+  (merged to 'next' on 2026-03-04 at 7fb5fdd8af)
+ + doc: gitprotocol-pack: normalize italic formatting
+ + doc: gitprotocol-pack: improve paragraphs structure
+ + doc: gitprotocol-pack: fix pronoun-antecedent agreement
+
+ Doc update.
+
+ Will merge to 'master'.
+ source: <cover.1772502209.git.lorenzo.pegorari2002@gmail.com>
+
+
+* ss/t3700-modernize (2026-03-03) 2 commits
+ - t3700: use test_grep helper for better diagnostics
+ - t3700: avoid suppressing git's exit code
 
  Test clean-up.
 
  Will merge to 'next'.
+ source: <20260303204029.52952-1-r.siddharth.shrimali@gmail.com>
+
+
+* ps/history-split (2026-03-02) 8 commits
+ - builtin/history: implement "split" subcommand
+ - builtin/history: split out extended function to create commits
+ - cache-tree: allow writing in-memory index as tree
+ - add-patch: allow disabling editing of hunks
+ - add-patch: add support for in-memory index patching
+ - add-patch: remove dependency on "add-interactive" subsystem
+ - add-patch: split out `struct interactive_options`
+ - add-patch: split out header from "add-interactive.h"
+
+ "git history" learned the "split" subcommand.
+
+ Comments?
+ source: <20260302-pks-history-split-v1-0-444fc987a324@pks.im>
+
+
+* os/doc-custom-subcommand-on-path (2026-03-04) 1 commit
+ - doc: add information regarding external commands
+
+ The way end-users can add their own "git <cmd>" subcommand by
+ storing "git-<cmd>" in a directory on their $PATH has not been
+ documented clearly, which has been corrected.
+
+ Will merge to 'next'.
+ source: <pull.2220.v4.git.git.1772636614850.gitgitgadget@gmail.com>
+
+
+* pt/promisor-lazy-fetch-no-recurse (2026-03-04) 1 commit
+ - promisor-remote: prevent lazy-fetch recursion in child fetch
+
+ The mechanism to avoid recursive lazy-fetch from promisor remotes
+ were not propagated properly to child "git fetch" processes, which
+ has been corrected.
+
+ Comments?
+ source: <pull.2224.v2.git.git.1772648846009.gitgitgadget@gmail.com>
+
+--------------------------------------------------
+[Cooking]
+
+* fp/t3310-test-path-is-helpers (2026-02-27) 1 commit
+  (merged to 'next' on 2026-03-03 at c01b2c73d8)
+ + t3310: replace test -f/-d with test_path_is_file/test_path_is_dir
+
+ Test clean-up.
+
+ Will merge to 'master'.
  source: <20260228005939.9012-1-francescopaparatto@gmail.com>
 
 
@@ -206,7 +383,7 @@ Release tarballs are available at:
  - sideband: mask control characters
 
  Try to resurrect and reboot a stalled "avoid sending risky escape
- sequences taken from sideband" topic.
+ sequences taken from sideband to the terminal" topic.
 
  Comments?
  source: <pull.1853.v4.git.1770113882.gitgitgadget@gmail.com>
@@ -214,32 +391,35 @@ Release tarballs are available at:
 
 
 * mm/diff-no-index-find-object (2026-02-28) 1 commit
- - diff: fix crash with --find-object outside repository
+  (merged to 'next' on 2026-03-03 at fcff548ddb)
+ + diff: fix crash with --find-object outside repository
 
  "git diff --no-index --find-object=<object-name>" outside a
  repository of course wouldn't be able to find the object and died
  while parsing the command line, which is made to die in a bit more
  user-friendly way.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <pull.2057.git.1772310676438.gitgitgadget@gmail.com>
 
 
 * ps/ci-reduce-gitlab-envsize (2026-03-02) 1 commit
- - ci: unset GITLAB_FEATURES envvar to not bust xargs(1) limits
+  (merged to 'next' on 2026-03-03 at e2d1e47015)
+ + ci: unset GITLAB_FEATURES envvar to not bust xargs(1) limits
 
  CI fix.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <20260302-pks-msvc-meson-xargs-v1-1-8e42abd879ce@pks.im>
 
 
 * pt/fsmonitor-watchman-sample-fix (2026-02-28) 1 commit
- - fsmonitor-watchman: fix variable reference and remove redundant code
+  (merged to 'next' on 2026-03-03 at b899c2b411)
+ + fsmonitor-watchman: fix variable reference and remove redundant code
 
  Fix typo-induced breakages in fsmonitor-watchman sample hook.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <pull.2180.v2.git.git.1772300277959.gitgitgadget@gmail.com>
 
 
@@ -257,15 +437,14 @@ Release tarballs are available at:
 
 
 * ss/test-that-that-typofix (2026-03-02) 1 commit
- - t: fix "that that" typo in lib-unicode-nfc-nfd.sh
+  (merged to 'next' on 2026-03-03 at 1224b73913)
+ + t: fix "that that" typo in lib-unicode-nfc-nfd.sh
 
  Typofix in t/.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <20260302192627.83631-1-r.siddharth.shrimali@gmail.com>
 
---------------------------------------------------
-[Cooking]
 
 * jk/repo-structure-cleanup (2026-02-23) 1 commit
   (merged to 'next' on 2026-03-02 at e1647839fa)
@@ -289,27 +468,36 @@ Release tarballs are available at:
  source: <cover.1772226209.git.lorenzo.pegorari2002@gmail.com>
 
 
-* ps/upload-pack-buffer-more-writes (2026-02-27) 2 commits
+* ps/upload-pack-buffer-more-writes (2026-03-03) 10 commits
+ - builtin/pack-objects: reduce lock contention when writing packfile data
+ - csum-file: drop `hashfd_throughput()`
+ - csum-file: introduce `hashfd_ext()`
+ - sideband: use writev(3p) to send pktlines
+ - wrapper: introduce writev(3p) wrappers
+ - compat/posix: introduce writev(3p) wrapper
+ - git-compat-util: introduce `cast_size_t_to_ssize_t()`
  - upload-pack: reduce lock contention when writing packfile data
+ - upload-pack: adapt keepalives based on buffering
  - upload-pack: fix debug statement when flushing packfile data
 
  Reduce system overhead "git upload-pack" spends relaying "git
  pack-objects" output to the "git fetch" running on the other end of
  the connection.
 
- Under discussion.
- cf. <20260227193758.GA2931515@coredump.intra.peff.net>
- source: <20260227-pks-upload-pack-write-contention-v1-0-7166fe255704@pks.im>
+ Comments?
+ cf. <xmqqseaf5k5t.fsf@gitster.g>
+ source: <20260303-pks-upload-pack-write-contention-v2-0-7321830f08fe@pks.im>
 
 
 * rs/parse-options-duplicated-long-options (2026-02-28) 2 commits
- - parseopt: check for duplicate long names and numerical options
- - pack-objects: remove duplicate --stdin-packs definition
+  (merged to 'next' on 2026-03-03 at 70cbc2ea97)
+ + parseopt: check for duplicate long names and numerical options
+ + pack-objects: remove duplicate --stdin-packs definition
 
  The parse-options API learned to notice an options[] array with
  duplicated long options.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <1e7de0f7-a712-465f-b3c9-5dbe78132d3f@web.de>
  source: <7693799a-91a2-480a-ae3e-29f8eed5b55a@web.de>
 
@@ -368,24 +556,27 @@ Release tarballs are available at:
  The object source API is getting restructured to allow plugging new
  backends.
 
- Comments?
+ Being reviewed.
+ cf. <aaidbdpkpH7tfn9x@denethor> 
  source: <20260223-b4-pks-odb-source-pluggable-v1-0-253bac1db598@pks.im>
 
 
-* ds/for-each-repo-w-worktree (2026-03-02) 4 commits
+* ds/for-each-repo-w-worktree (2026-03-03) 4 commits
  - for-each-repo: simplify passing of parameters
  - for-each-repo: work correctly in a worktree
- - run-command: extract clear_local_repo_env helper
+ - run-command: extract sanitize_repo_env helper
  - for-each-repo: test outside of repo context
 
  "git for-each-repo" started from a secondary worktree did not work
  as expected, which has been corrected.
 
  Will merge to 'next'?
- source: <pull.2056.v3.git.1772465805.gitgitgadget@gmail.com>
+ source: <pull.2056.v4.git.1772559114.gitgitgadget@gmail.com>
 
 
-* jh/alias-i18n-fixes (2026-02-26) 4 commits
+* jh/alias-i18n-fixes (2026-03-03) 5 commits
+  (merged to 'next' on 2026-03-03 at d4347fab01)
+ + doc: fix list continuation in alias.adoc
   (merged to 'next' on 2026-03-02 at 914bcef227)
  + git, help: fix memory leaks in alias listing
  + alias: treat empty subsection [alias ""] as plain [alias]
@@ -396,6 +587,7 @@ Release tarballs are available at:
 
  Will merge to 'master'.
  source: <20260226205339.1535482-1-jonatan@jontes.page>
+ source: <20260303151238.1000191-1-jonatan@jontes.page>
 
 
 * lc/rebase-trailer (2026-02-23) 5 commits
@@ -410,6 +602,8 @@ Release tarballs are available at:
 
  Expecting a (hopefully small and final) reroll?
  cf. <e555e29f-57e3-4192-98f3-380181c81fd2@gmail.com>
+ cf. <824809c3-72ac-43fb-8a93-4f48e0727e6a@gmail.com>
+ cf. <dbaf6ea5-8a08-42c0-8184-16dcf40207dd@gmail.com>
  source: <20260224070552.148591-1-me@linux.beauty>
 
 
@@ -440,23 +634,15 @@ Release tarballs are available at:
  source: <20260228112210.270273-1-shreyanshpaliwalcmsmn@gmail.com>
 
 
-* cx/fetch-display-ubfix (2026-02-24) 1 commit
-  (merged to 'next' on 2026-02-26 at ebd1da8b75)
- + fetch: fix wrong evaluation order in URL trailing-slash trimming
-
- Undefined-behaviour fix in "git fetch".
-
- Will merge to 'master'.
- source: <pull.2211.git.git.1771984857879.gitgitgadget@gmail.com>
-
-
-* pt/fsmonitor-linux (2026-02-25) 10 commits
+* pt/fsmonitor-linux (2026-03-04) 12 commits
+ - fsmonitor: convert shown khash to strset in do_handle_client
+ - fsmonitor: add tests for Linux
+ - fsmonitor: add timeout to daemon stop command
  - fsmonitor: close inherited file descriptors and detach in daemon
  - run-command: add close_fd_above_stderr option
- - fsmonitor: add tests for Linux
  - fsmonitor: implement filesystem change listener for Linux
- - fsmonitor: deduplicate settings logic for Unix platforms
- - fsmonitor: deduplicate IPC path logic for Unix platforms
+ - fsmonitor: rename fsm-settings-darwin.c to fsm-settings-unix.c
+ - fsmonitor: rename fsm-ipc-darwin.c to fsm-ipc-unix.c
  - fsmonitor: use pthread_cond_timedwait for cookie wait
  - compat/win32: add pthread_cond_timedwait
  - fsmonitor: fix hashmap memory leak in fsmonitor_run_daemon
@@ -465,8 +651,7 @@ Release tarballs are available at:
  The fsmonitor daemon has been implemented for Linux.
 
  Will merge to 'next'?
- cf. <xmqq5x7j5xje.fsf@gitster.g>
- source: <pull.2147.v7.git.git.1772065643.gitgitgadget@gmail.com>
+ source: <pull.2147.v8.git.git.1772648125.gitgitgadget@gmail.com>
 
 
 * pt/t7527-flake-workaround (2025-12-31) 1 commit
@@ -485,43 +670,13 @@ Release tarballs are available at:
  The code in "git help" that shows configuration items in sorted
  order was awkwardly organized and prone to bugs.
 
Comments?
Expecting a (hopefully small and final) reroll to update tests?
  cf. <xmqqwlzu43rh.fsf@gitster.g>
  source: <20260228104654.80831-2-amishhhaaaa@gmail.com>
 
 
-* lg/t2004-test-path-is-helpers (2026-02-21) 1 commit
-  (merged to 'next' on 2026-02-25 at c5862e1b3d)
- + t2004: use test_path_is_file instead of test -f
-
- Test code clean-up.
-
- Will merge to 'master'.
- source: <pull.2049.git.1771694893208.gitgitgadget@gmail.com>
-
-
-* ps/simplify-normalize-path-copy-len (2026-02-21) 1 commit
-  (merged to 'next' on 2026-02-25 at ce7c45c6fa)
- + path: factor out skip_slashes() in normalize_path_copy_len()
-
- Code clean-up.
-
- Will merge to 'master'.
- source: <20260221110511.1592-2-pushkarkumarsingh1970@gmail.com>
-
-
-* sc/pack-redundant-leakfix (2026-02-21) 1 commit
-  (merged to 'next' on 2026-02-25 at b2fda8839e)
- + pack-redundant: fix memory leak when open_pack_index() fails
-
- Leakfix.
-
- Will merge to 'master'.
- source: <20260221103900.41740-1-sahityajb@gmail.com>
-
-
-* ty/setup-error-tightening (2026-02-22) 1 commit
- . setup: improve error diagnosis for invalid .git files
+* ty/setup-error-tightening (2026-03-04) 1 commit
+ - setup: improve error diagnosis for invalid .git files
 
  While discovering a ".git" directory, the code treats any stat()
  failure as a sign that a filesystem entity .git does not exist
@@ -529,24 +684,13 @@ Release tarballs are available at:
  directory.  The code has been tightened to notice and report
  filesystem corruption better.
 
- Kicked out of the tree for now, due to CI breakage.
- cf. <xmqqpl5rumy0.fsf@gitster.g>
- source: <20260223074410.917523-1-a3205153416@gmail.com>
-
-
-* bk/mailmap-wo-the-repository (2026-02-19) 2 commits
-  (merged to 'next' on 2026-02-26 at f7e3afc1ff)
- + mailmap: drop global config variables
- + mailmap: stop using the_repository
-
- Wean the mailmap code off of the_repository dependency.
-
- Will merge to 'master'.
- source: <20260220060442.29469-1-bkkaracay@gmail.com>
+ Will merge to 'next'?
+ source: <20260304141526.37764-1-a3205153416@gmail.com>
 
 
 * kh/format-patch-noprefix-is-boolean (2026-03-01) 3 commits
- - doc: diff-options.adoc: make *.noprefix split translatable
+  (merged to 'next' on 2026-03-03 at 54bc051969)
+ + doc: diff-options.adoc: make *.noprefix split translatable
   (merged to 'next' on 2026-02-26 at fcf4773929)
  + doc: diff-options.adoc: show format.noprefix for format-patch
  + format-patch: make format.noprefix a boolean
@@ -554,36 +698,11 @@ Release tarballs are available at:
  The configuration variable format.noprefix did not behave as a
  proper boolean variable, which has now been fixed and documented.
 
- Will merge to 'next' and then to 'master'.
+ Will merge to 'master'.
  source: <V2_CV_format.noprefix_boolean.421@msgid.xyz>
  source: <better_for_translators.424@msgid.xyz>
 
 
-* pw/no-more-NULL-means-current-worktree (2026-02-19) 2 commits
-  (merged to 'next' on 2026-02-26 at 281f28b140)
- + path: remove repository argument from worktree_git_path()
- + wt-status: avoid passing NULL worktree
-
- API clean-up for the worktree subsystem.
-
- Will merge to 'master'.
- cf. <d5866041-3e2f-4f5e-a8d1-725fd3eac2e2@gmail.com>
- source: <cover.1771511192.git.phillip.wood@dunelm.org.uk>
-
-
-* cs/subtree-split-fixes (2026-02-17) 3 commits
-  (merged to 'next' on 2026-02-25 at 3824d2c52d)
- + contrib/subtree: process out-of-prefix subtrees
- + contrib/subtree: test history depth
- + contrib/subtree: capture additional test-cases
-
- An earlier attempt to optimize "git subtree" discarded too much
- relevant histories, which has been corrected.
-
- Will merge to 'master'.
- source: <20260217-cs-subtree-remove-optimization-v2-0-4299e71a30c6@howdoi.land>
-
-
 * dt/send-email-client-cert (2026-03-01) 1 commit
  - send-email: add client certificate options
 
@@ -593,70 +712,6 @@ Release tarballs are available at:
  source: <20260302032048.260209-2-dxdt@dev.snart.me>
 
 
-* en/merge-ort-almost-wo-the-repository (2026-02-19) 6 commits
-  (merged to 'next' on 2026-02-26 at 4c07a66173)
- + replay: prevent the_repository from coming back
- + merge-ort: prevent the_repository from coming back
- + merge-ort: replace the_hash_algo with opt->repo->hash_algo
- + merge-ort: replace the_repository with opt->repo
- + merge-ort: pass repository to write_tree()
- + merge,diff: remove the_repository check before prefetching blobs
-
- Mark the marge-ort codebase to prevent more uses of the_repository
- from getting added.
-
- Will merge to 'master'.
- cf. <143ab1c8-9f07-4df7-8200-69b5a78a0351@gmail.com>
- cf. <aZ12rYYwbh1fvrnE@pks.im>
- source: <pull.2048.v3.git.1771718393.gitgitgadget@gmail.com>
-
-
-* jr/apply-directory-normalize (2026-02-17) 1 commit
-  (merged to 'next' on 2026-02-26 at 588d44696d)
- + apply: normalize path in --directory argument
-
- "git apply --directory=./un/../normalized/path" now normalizes the
- given path before using it.
-
- Will merge to 'master'.
- source: <pull.2198.v2.git.git.1771373732749.gitgitgadget@gmail.com>
-
-
-* lo/repo-leftover-bits (2026-02-25) 9 commits
-  (merged to 'next' on 2026-02-26 at 962fc48d45)
- + Documentation/git-repo: capitalize format descriptions
- + Documentation/git-repo: replace 'NUL' with '_NUL_'
- + t1901: adjust nul format output instead of expected value
- + t1900: rename t1900-repo to t1900-repo-info
- + repo: rename struct field to repo_info_field
- + repo: replace get_value_fn_for_key by get_repo_info_field
- + repo: rename repo_info_fields to repo_info_field
- + CodingGuidelines: instruct to name arrays in singular
- + Merge branch 'lo/repo-info-keys' into lo/repo-leftover-bits
-
- Clean-up the code around "git repo info" command.
-
- Will merge to 'master'.
- source: <20260225183559.79303-1-lucasseikioshiro@gmail.com>
-
-
-* ps/maintenance-geometric-default (2026-02-24) 8 commits
-  (merged to 'next' on 2026-02-26 at 8ab085f657)
- + builtin/maintenance: use "geometric" strategy by default
- + t7900: prepare for switch of the default strategy
- + t6500: explicitly use "gc" strategy
- + t5510: explicitly use "gc" strategy
- + t5400: explicitly use "gc" strategy
- + t34xx: don't expire reflogs where it matters
- + t: disable maintenance where we verify object database structure
- + t: fix races caused by background maintenance
-
- "git maintenance" starts using the "geometric" strategy by default.
-
- Will merge to 'master'.
- source: <20260224-b4-pks-maintenance-default-geometric-strategy-v2-0-8657338c6fa1@pks.im>
-
-
 * ps/refs-for-each (2026-02-23) 18 commits
   (merged to 'next' on 2026-02-27 at ec9e0a36ff)
  + refs: replace `refs_for_each_fullref_in()`
@@ -700,27 +755,6 @@ Release tarballs are available at:
  source: <20260218234215.89326-1-siddharthasthana31@gmail.com>
 
 
-* sp/tree-diff-wo-the-repository (2026-02-20) 1 commit
-  (merged to 'next' on 2026-02-26 at c5762ee063)
- + tree-diff: remove the usage of the_hash_algo global
-
- The last uses of the_repository in "tree-diff.c" have been
- eradicated.
-
- Will merge to 'master'.
- source: <20260220175331.1250726-1-shreyanshpaliwalcmsmn@gmail.com>
-
-
-* dk/meson-regen-config-list (2026-02-24) 1 commit
-  (merged to 'next' on 2026-02-26 at 64ea932d59)
- + build: regenerate config-list.h when Documentation changes
-
- Fix dependency screw-up in meson-based builds.
-
- Will merge to 'master'.
- source: <4ef96c6bbf698a08df1df87b7cb053b6d0d00822.1771943954.git.ben.knoble+github@gmail.com>
-
-
 * sp/wt-status-wo-the-repository (2026-02-18) 3 commits
  - wt-status: use hash_algo from local repository instead of global the_hash_algo
  - wt-status: replace uses of the_repository with local repository instances
@@ -746,98 +780,9 @@ Release tarballs are available at:
  source: <pull.2008.v5.git.1771856405.gitgitgadget@gmail.com>
 
 
-* hy/diff-lazy-fetch-with-break-fix (2026-02-23) 1 commit
-  (merged to 'next' on 2026-02-25 at afe07ad86c)
- + diffcore-break: avoid segfault with freed entries
-
- A prefetch call can be triggered to access a stale diff_queue entry
- after diffcore-break breaks a filepair into two and freed the
- original entry that is no longer used, leading to a segfault, which
- has been corrected.
-
- Will merge to 'master'.
- source: <20260224061329.60364-2-hanyang.tony@bytedance.com>
-
-
-* ds/config-list-with-type (2026-02-23) 13 commits
-  (merged to 'next' on 2026-02-26 at cdaee07fde)
- + config: use an enum for type
- + config: restructure format_config()
- + config: format colors quietly
- + color: add color_parse_quietly()
- + config: format expiry dates quietly
- + config: format paths gently
- + config: format bools or strings in helper
- + config: format bools or ints gently
- + config: format bools gently
- + config: format int64s gently
- + config: make 'git config list --type=<X>' work
- + config: add 'gently' parameter to format_config()
- + config: move show_all_config()
-
- "git config list" is taught to show the values interpreted for
- specific type with "--type=<X>" option.
-
- Will merge to 'master'.
- source: <pull.2044.v3.git.1771849615.gitgitgadget@gmail.com>
-
-
-* rr/gitweb-mobile (2026-02-16) 5 commits
-  (merged to 'next' on 2026-02-26 at b7e4c26f73)
- + gitweb: let page header grow on mobile for long wrapped project names
- + gitweb: fix mobile footer overflow by wrapping text and clearing floats
- + gitweb: fix mobile page overflow across log/commit/blob/diff views
- + gitweb: prevent project search bar from overflowing on mobile
- + gitweb: add viewport meta tag for mobile devices
-
- "gitweb" has been taught to be mobile friendly.
-
- Will merge to 'master'.
- source: <pull.2043.v2.git.1771257211.gitgitgadget@gmail.com>
-
-
-* kn/osxkeychain-buildfix (2026-02-19) 1 commit
-  (merged to 'next' on 2026-02-26 at 913be932b0)
- + osxkeychain: define build targets in the top-level Makefile.
-
- Simplify build procedure for oxskeychain (in contrib/).
-
- Will merge to 'master'.
- source: <pull.2046.v4.git.1771551540816.gitgitgadget@gmail.com>
-
-
-* aa/add-p-no-auto-advance (2026-02-14) 4 commits
-  (merged to 'next' on 2026-02-25 at ce27f94bc2)
- + add-patch: allow interfile navigation when selecting hunks
- + add-patch: allow all-or-none application of patches
- + add-patch: modify patch_update_file() signature
- + interactive -p: add new `--auto-advance` flag
-
- "git add -p" learned a new mode that allows the user to revisit a
- file that was already dealt with.
-
- Will merge to 'master'.
- source: <cover.1771066252.git.abrahamadekunle50@gmail.com>
-
-
-* kn/ref-location (2026-02-25) 6 commits
-  (merged to 'next' on 2026-02-26 at e87adbdb69)
- + refs: add GIT_REFERENCE_BACKEND to specify reference backend
- + refs: allow reference location in refstorage config
- + refs: receive and use the reference storage payload
- + refs: move out stub modification to generic layer
- + refs: extract out `refs_create_refdir_stubs()`
- + setup: don't modify repo in `create_reference_database()`
-
- Allow the directory in which reference backends store their data to
- be specified.
-
- Will merge to 'master'.
- source: <20260225-kn-alternate-ref-dir-v9-0-3fe118e40e28@gmail.com>
-
-
 * ar/config-hooks (2026-03-02) 10 commits
- - Merge branch 'ar/run-command-hook-take-2' into ar/config-hooks
+  (merged to 'next' on 2026-03-03 at 5a4be22ab6)
+ + Merge branch 'ar/run-command-hook-take-2' into ar/config-hooks
   (merged to 'next' on 2026-02-27 at 6a04cca28e)
  + hook: add -z option to "git hook list"
  + hook: allow out-of-repo 'git hook' invocations
@@ -854,7 +799,7 @@ Release tarballs are available at:
  configuration files, and run multiple of them for the same hook
  event.
 
- Will merge to 'next' and then to 'master'.
+ Will merge to 'master'.
  source: <20260218222352.55393-1-adrian.ratiu@collabora.com>
 
 
@@ -876,15 +821,14 @@ Release tarballs are available at:
  source: <20260222002904.1879356-1-adrian.ratiu@collabora.com>
 
 
-* ng/submodule-default-remote (2026-02-28) 1 commit
+* ng/submodule-default-remote (2026-03-03) 1 commit
  - submodule: fetch missing objects from default remote
 
  Instead of hardcoded 'origin', use the configured default remote
  when fetching from submodules.
 
- Will merge to 'next'.
- cf. <CA+P7+xqC10D9a3zp7JO_yoK9Vjpg+xua7yH=fGXjApUYisTf4w@mail.gmail.com>
- source: <20260301025327.3845292-1-nasser.grainawi@oss.qualcomm.com>
+ Comments?
+ source: <20260303234044.105157-1-nasser.grainawi@oss.qualcomm.com>
 
 
 * ar/run-command-hook-take-2 (2026-03-02) 13 commits
@@ -913,15 +857,14 @@ Release tarballs are available at:
  source: <20260302191704.1814567-1-adrian.ratiu@collabora.com>
 
 
-* yc/histogram-hunk-shift-fix (2025-12-06) 1 commit
+* yc/histogram-hunk-shift-fix (2026-03-02) 1 commit
  - xdiff: re-diff shifted change groups when using histogram algorithm
 
  The final clean-up phase of the diff output could turn the result of
  histogram diff algorithm suboptimal, which has been corrected.
 
- Expecting a reroll.
- cf. <CAHTeOx9WehtwSMie53xzZUU7iK3JTrgUbVK48WM7S+LBi=jpkQ@mail.gmail.com>
- source: <pull.2120.git.git.1765054287938.gitgitgadget@gmail.com>
+ Needs review.
+ source: <pull.2120.v2.git.git.1772463265865.gitgitgadget@gmail.com>
 
 
 * cs/add-skip-submodule-ignore-all (2026-02-06) 5 commits
@@ -941,19 +884,6 @@ Release tarballs are available at:
  source: <pull.1987.v4.git.1770384180.gitgitgadget@gmail.com>
 
 
-* sp/shallow-deepen-relative-fix (2026-02-15) 2 commits
-  (merged to 'next' on 2026-02-26 at 2183b3405e)
- + shallow: handling fetch relative-deepen
- + shallow: free local object_array allocations
-
- "git fetch --deepen" that tries to go beyond merged branch used to
- get confused where the updated shallow points are, which has been
- corrected.
-
- Will merge to 'master'.
- source: <pull.2121.v5.git.git.1771186316.gitgitgadget@gmail.com>
-
-
 * en/xdiff-cleanup-3 (2026-01-03) 11 commits
  . SQUASH??? cocci
  . xdiff: move xdl_cleanup_records() from xprepare.c to xdiffi.c
@@ -1014,31 +944,33 @@ Release tarballs are available at:
 
 
 * bc/sha1-256-interop-02 (2026-02-07) 16 commits
- - object-file-convert: always make sure object ID algo is valid
- - rust: add a small wrapper around the hashfile code
- - rust: add a new binary object map format
- - rust: add functionality to hash an object
- - rust: add a build.rs script for tests
- - rust: fix linking binaries with cargo
- - hash: expose hash context functions to Rust
- - write-or-die: add an fsync component for the object map
- - csum-file: define hashwrite's count as a uint32_t
- - rust: add additional helpers for ObjectID
- - hash: add a function to look up hash algo structs
- - rust: add a hash algorithm abstraction
- - rust: add a ObjectID struct
- - hash: use uint32_t for object_id algorithm
- - conversion: don't crash when no destination algo
- - repository: require Rust support for interoperability
+  (merged to 'next' on 2026-03-04 at 99dc92c08e)
+ + object-file-convert: always make sure object ID algo is valid
+ + rust: add a small wrapper around the hashfile code
+ + rust: add a new binary object map format
+ + rust: add functionality to hash an object
+ + rust: add a build.rs script for tests
+ + rust: fix linking binaries with cargo
+ + hash: expose hash context functions to Rust
+ + write-or-die: add an fsync component for the object map
+ + csum-file: define hashwrite's count as a uint32_t
+ + rust: add additional helpers for ObjectID
+ + hash: add a function to look up hash algo structs
+ + rust: add a hash algorithm abstraction
+ + rust: add a ObjectID struct
+ + hash: use uint32_t for object_id algorithm
+ + conversion: don't crash when no destination algo
+ + repository: require Rust support for interoperability
 
  The code to maintain mapping between object names in multiple hash
  functions is being added, written in Rust.
 
- Will merge to 'next'?
Message-Id: <20260207200446.2837699-1-sandals@crustytoothpaste.net>
+ Will merge to 'master'.
source: <20260207200446.2837699-1-sandals@crustytoothpaste.net>
 
 
-* hn/status-compare-with-push (2026-02-26) 3 commits
+* hn/status-compare-with-push (2026-03-04) 4 commits
+ - status: clarify how status.compareBranches deduplicates
   (merged to 'next' on 2026-02-26 at 1c11b8819a)
  + status: add status.compareBranches config for multiple branch comparisons
  + refactor format_branch_comparison in preparation
@@ -1048,9 +980,9 @@ Release tarballs are available at:
  and various other branches listed on status.compareBranches
  configuration.
 
- Will merge to 'master'.
- cf. <xmqqa4wv5xsb.fsf@gitster.g>
+ Will merge to 'next' and then to 'master'?
  source: <pull.2138.v30.git.git.1772102022.gitgitgadget@gmail.com>
+ source: <pull.2138.v31.git.git.1772627131.gitgitgadget@gmail.com>
 
 --------------------------------------------------
 [Discarded]