What's cooking (2026/03 #02)

Junio C Hamano committed Mar 4, 2026 at 15:01 UTC 2dfd90ad1838a57ad6c752daeaa6971d2ff61d4e
1 file changed +367 -435
whats-cooking.txt
+367 -435
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Mar 2026, #01)
3 -X-master-at: 4805bb993087cb1fb9a81470aaa238123c0ed6e2
4 -X-next-at: 1c1a6361099e1f5da60de11cc2655846ea369be3
2 +Subject: What's cooking in git.git (Mar 2026, #02)
3 +X-master-at: 628a66ccf68d141d57d06e100c3514a54b31d6b7
4 +X-next-at: 7842e34a66540770d4e1ee6a443a82652b97dd7d
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Mar 2026, #01)
7 +What's cooking in git.git (Mar 2026, #02)
8 -----------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -50,148 +50,325 @@ Release tarballs are available at:
50 --------------------------------------------------
51 [Graduated to 'master']
52
53 -* ag/http-netrc-tests (2026-01-06) 1 commit
54 - (merged to 'next' on 2026-02-22 at acae2989d4)
55 - + t5550: add netrc tests for http 401/403
53 +* aa/add-p-no-auto-advance (2026-02-14) 4 commits
54 + (merged to 'next' on 2026-02-25 at ce27f94bc2)
55 + + add-patch: allow interfile navigation when selecting hunks
56 + + add-patch: allow all-or-none application of patches
57 + + add-patch: modify patch_update_file() signature
58 + + interactive -p: add new `--auto-advance` flag
59
57 - Additional tests were introduced to see the interaction with netrc
58 - auth with auth failure on the http transport.
59 - source: <20260107074724.13165-1-git@ashlesh.me>
60 + "git add -p" learned a new mode that allows the user to revisit a
61 + file that was already dealt with.
62 + source: <cover.1771066252.git.abrahamadekunle50@gmail.com>
63
64
62 -* jt/object-file-use-container-of (2026-02-22) 2 commits
63 - (merged to 'next' on 2026-02-22 at 309c995771)
64 - + object-file.c: avoid container_of() of a NULL container
65 - (merged to 'next' on 2026-02-20 at 7a30cb262f)
66 - + object-file: use `container_of()` to convert from base types
65 +* bk/mailmap-wo-the-repository (2026-02-19) 2 commits
66 + (merged to 'next' on 2026-02-26 at f7e3afc1ff)
67 + + mailmap: drop global config variables
68 + + mailmap: stop using the_repository
69
68 - Code clean-up.
69 - source: <20260218210120.1146078-1-jltobler@gmail.com>
70 - source: <xmqqh5r8r0to.fsf_-_@gitster.g>
70 + Wean the mailmap code off of the_repository dependency.
71 +
72 + source: <20260220060442.29469-1-bkkaracay@gmail.com>
73
74
73 -* kh/doc-am-xref (2026-02-09) 4 commits
74 - (merged to 'next' on 2026-02-22 at 920d0c2836)
75 - + doc: am: fill out hook discussion
76 - + doc: am: add missing config am.messageId
77 - + doc: am: say that --message-id adds a trailer
78 - + doc: am: normalize git(1) command links
75 +* cs/subtree-split-fixes (2026-02-17) 3 commits
76 + (merged to 'next' on 2026-02-25 at 3824d2c52d)
77 + + contrib/subtree: process out-of-prefix subtrees
78 + + contrib/subtree: test history depth
79 + + contrib/subtree: capture additional test-cases
80 +
81 + An earlier attempt to optimize "git subtree" discarded too much
82 + relevant histories, which has been corrected.
83 + source: <20260217-cs-subtree-remove-optimization-v2-0-4299e71a30c6@howdoi.land>
84
80 - Doc update.
81 - source: <doc_am_gitlinks_and_am.messageId.321@msgid.xyz>
85
86 +* cx/fetch-display-ubfix (2026-02-24) 1 commit
87 + (merged to 'next' on 2026-02-26 at ebd1da8b75)
88 + + fetch: fix wrong evaluation order in URL trailing-slash trimming
89
84 -* kh/doc-patch-id-4 (2026-02-14) 3 commits
85 - (merged to 'next' on 2026-02-22 at bfae23ac5e)
86 - + doc: patch-id: see also git-cherry(1)
87 - + doc: patch-id: add script example
88 - + doc: patch-id: emphasize multi-patch processing
90 + Undefined-behaviour fix in "git fetch".
91 +
92 + source: <pull.2211.git.git.1771984857879.gitgitgadget@gmail.com>
93
90 - Doc update.
91 - source: <V2_CV_doc_patch-id_4.371@msgid.xyz>
94 +
95 +* dk/meson-regen-config-list (2026-02-24) 1 commit
96 + (merged to 'next' on 2026-02-26 at 64ea932d59)
97 + + build: regenerate config-list.h when Documentation changes
98 +
99 + Fix dependency screw-up in meson-based builds.
100 +
101 + source: <4ef96c6bbf698a08df1df87b7cb053b6d0d00822.1771943954.git.ben.knoble+github@gmail.com>
102 +
103 +
104 +* ds/config-list-with-type (2026-02-23) 13 commits
105 + (merged to 'next' on 2026-02-26 at cdaee07fde)
106 + + config: use an enum for type
107 + + config: restructure format_config()
108 + + config: format colors quietly
109 + + color: add color_parse_quietly()
110 + + config: format expiry dates quietly
111 + + config: format paths gently
112 + + config: format bools or strings in helper
113 + + config: format bools or ints gently
114 + + config: format bools gently
115 + + config: format int64s gently
116 + + config: make 'git config list --type=<X>' work
117 + + config: add 'gently' parameter to format_config()
118 + + config: move show_all_config()
119 +
120 + "git config list" is taught to show the values interpreted for
121 + specific type with "--type=<X>" option.
122 +
123 + source: <pull.2044.v3.git.1771849615.gitgitgadget@gmail.com>
124 +
125 +
126 +* en/merge-ort-almost-wo-the-repository (2026-02-19) 6 commits
127 + (merged to 'next' on 2026-02-26 at 4c07a66173)
128 + + replay: prevent the_repository from coming back
129 + + merge-ort: prevent the_repository from coming back
130 + + merge-ort: replace the_hash_algo with opt->repo->hash_algo
131 + + merge-ort: replace the_repository with opt->repo
132 + + merge-ort: pass repository to write_tree()
133 + + merge,diff: remove the_repository check before prefetching blobs
134 +
135 + Mark the marge-ort codebase to prevent more uses of the_repository
136 + from getting added.
137 + cf. <143ab1c8-9f07-4df7-8200-69b5a78a0351@gmail.com>
138 + cf. <aZ12rYYwbh1fvrnE@pks.im>
139 + source: <pull.2048.v3.git.1771718393.gitgitgadget@gmail.com>
140 +
141 +
142 +* hy/diff-lazy-fetch-with-break-fix (2026-02-23) 1 commit
143 + (merged to 'next' on 2026-02-25 at afe07ad86c)
144 + + diffcore-break: avoid segfault with freed entries
145 +
146 + A prefetch call can be triggered to access a stale diff_queue entry
147 + after diffcore-break breaks a filepair into two and freed the
148 + original entry that is no longer used, leading to a segfault, which
149 + has been corrected.
150 + source: <20260224061329.60364-2-hanyang.tony@bytedance.com>
151
152
94 -* ps/meson-gitk-git-gui (2026-02-04) 1 commit
95 - (merged to 'next' on 2026-02-22 at a6cd49271f)
96 - + meson: wire up gitk and git-gui
153 +* jr/apply-directory-normalize (2026-02-17) 1 commit
154 + (merged to 'next' on 2026-02-26 at 588d44696d)
155 + + apply: normalize path in --directory argument
156
98 - Plumb gitk/git-gui build and install procedure in meson based
99 - builds.
100 - source: <20260204-b4-pks-meson-tcl-tk-v2-1-5bc3ccf3a8ce@pks.im>
157 + "git apply --directory=./un/../normalized/path" now normalizes the
158 + given path before using it.
159 +
160 + source: <pull.2198.v2.git.git.1771373732749.gitgitgadget@gmail.com>
161
162
103 -* ps/object-info-bits-cleanup (2026-02-11) 5 commits
104 - (merged to 'next' on 2026-02-22 at 4d702cbecc)
105 - + odb: convert `odb_has_object()` flags into an enum
106 - + odb: convert object info flags into an enum
107 - + odb: drop gaps in object info flag values
108 - + builtin/fsck: fix flags passed to `odb_has_object()`
109 - + builtin/backfill: fix flags passed to `odb_has_object()`
110 - (this branch is used by ps/odb-sources.)
163 +* kn/osxkeychain-buildfix (2026-02-19) 1 commit
164 + (merged to 'next' on 2026-02-26 at 913be932b0)
165 + + osxkeychain: define build targets in the top-level Makefile.
166
112 - A couple of bugs in use of flag bits around odb API has been
113 - corrected, and the flag bits reordered.
114 - source: <20260212-b4-pks-read-object-info-flags-v2-0-3bfa9bb149ef@pks.im>
167 + Simplify build procedure for oxskeychain (in contrib/).
168 +
169 + source: <pull.2046.v4.git.1771551540816.gitgitgadget@gmail.com>
170
171
117 -* ps/odb-for-each-object (2026-01-26) 16 commits
118 - (merged to 'next' on 2026-02-22 at 80178ecd0d)
119 - + odb: drop unused `for_each_{loose,packed}_object()` functions
120 - + reachable: convert to use `odb_for_each_object()`
121 - + builtin/pack-objects: use `packfile_store_for_each_object()`
122 - + odb: introduce mtime fields for object info requests
123 - + treewide: drop uses of `for_each_{loose,packed}_object()`
124 - + treewide: enumerate promisor objects via `odb_for_each_object()`
125 - + builtin/fsck: refactor to use `odb_for_each_object()`
126 - + odb: introduce `odb_for_each_object()`
127 - + packfile: introduce function to iterate through objects
128 - + packfile: extract function to iterate through objects of a store
129 - + object-file: introduce function to iterate through objects
130 - + object-file: extract function to read object info from path
131 - + odb: fix flags parameter to be unsigned
132 - + odb: rename `FOR_EACH_OBJECT_*` flags
133 - + Merge branch 'ps/packfile-store-in-odb-source' into ps/odb-for-each-object
134 - + Merge branch 'ps/read-object-info-improvements' into ps/odb-for-each-object
135 - (this branch is used by ps/odb-sources.)
172 +* kn/ref-location (2026-02-25) 6 commits
173 + (merged to 'next' on 2026-02-26 at e87adbdb69)
174 + + refs: add GIT_REFERENCE_BACKEND to specify reference backend
175 + + refs: allow reference location in refstorage config
176 + + refs: receive and use the reference storage payload
177 + + refs: move out stub modification to generic layer
178 + + refs: extract out `refs_create_refdir_stubs()`
179 + + setup: don't modify repo in `create_reference_database()`
180
137 - Revamp object enumeration API around odb.
138 - source: <20260126-pks-odb-for-each-object-v4-0-5a64a038c791@pks.im>
181 + Allow the directory in which reference backends store their data to
182 + be specified.
183 +
184 + source: <20260225-kn-alternate-ref-dir-v9-0-3fe118e40e28@gmail.com>
185
186
141 -* ps/receive-pack-shallow-optim (2026-02-16) 3 commits
142 - (merged to 'next' on 2026-02-22 at ad6abc1ef8)
143 - + commit: use commit graph in `lookup_commit_reference_gently()`
144 - + commit: make `repo_parse_commit_no_graph()` more robust
145 - + commit: avoid parsing non-commits in `lookup_commit_reference_gently()`
187 +* lg/t2004-test-path-is-helpers (2026-02-21) 1 commit
188 + (merged to 'next' on 2026-02-25 at c5862e1b3d)
189 + + t2004: use test_path_is_file instead of test -f
190
147 - The code to accept shallow "git push" has been optimized.
148 - source: <20260216-b4-pks-receive-pack-optimize-shallow-v1-0-e98886daff2b@pks.im>
191 + Test code clean-up.
192 + source: <pull.2049.git.1771694893208.gitgitgadget@gmail.com>
193
194
151 -* ps/validate-prefix-in-subtree-split (2026-02-03) 1 commit
152 - (merged to 'next' on 2026-02-22 at f44d607586)
153 - + subtree: validate --prefix against commit in split
195 +* lo/repo-leftover-bits (2026-02-25) 9 commits
196 + (merged to 'next' on 2026-02-26 at 962fc48d45)
197 + + Documentation/git-repo: capitalize format descriptions
198 + + Documentation/git-repo: replace 'NUL' with '_NUL_'
199 + + t1901: adjust nul format output instead of expected value
200 + + t1900: rename t1900-repo to t1900-repo-info
201 + + repo: rename struct field to repo_info_field
202 + + repo: replace get_value_fn_for_key by get_repo_info_field
203 + + repo: rename repo_info_fields to repo_info_field
204 + + CodingGuidelines: instruct to name arrays in singular
205 + + Merge branch 'lo/repo-info-keys' into lo/repo-leftover-bits
206
155 - "git subtree split --prefix=P <commit>" now checks the prefix P
156 - against the tree of the (potentially quite different from the
157 - current working tree) given commit.
158 - source: <20260203164815.68258-2-pushkarkumarsingh1970@gmail.com>
207 + Clean-up the code around "git repo info" command.
208 +
209 + source: <20260225183559.79303-1-lucasseikioshiro@gmail.com>
210
211
161 -* pw/meson-doc-mergetool (2026-02-09) 1 commit
162 - (merged to 'next' on 2026-02-22 at dfdfff02f8)
163 - + meson: fix building mergetool docs
212 +* ps/maintenance-geometric-default (2026-02-24) 8 commits
213 + (merged to 'next' on 2026-02-26 at 8ab085f657)
214 + + builtin/maintenance: use "geometric" strategy by default
215 + + t7900: prepare for switch of the default strategy
216 + + t6500: explicitly use "gc" strategy
217 + + t5510: explicitly use "gc" strategy
218 + + t5400: explicitly use "gc" strategy
219 + + t34xx: don't expire reflogs where it matters
220 + + t: disable maintenance where we verify object database structure
221 + + t: fix races caused by background maintenance
222
165 - Update build precedure for mergetool documentation in meson-based builds.
166 - source: <604c79018992dee019205741934508091cdd1e47.1770631599.git.phillip.wood@dunelm.org.uk>
223 + "git maintenance" starts using the "geometric" strategy by default.
224 +
225 + source: <20260224-b4-pks-maintenance-default-geometric-strategy-v2-0-8657338c6fa1@pks.im>
226
227
169 -* ty/symlinks-use-unsigned-for-bitset (2026-02-16) 1 commit
170 - (merged to 'next' on 2026-02-22 at 6546dc5cf2)
171 - + symlinks: use unsigned int for flags
228 +* ps/simplify-normalize-path-copy-len (2026-02-21) 1 commit
229 + (merged to 'next' on 2026-02-25 at ce7c45c6fa)
230 + + path: factor out skip_slashes() in normalize_path_copy_len()
231
232 Code clean-up.
174 - source: <20260216172028.140525-1-a3205153416@gmail.com>
233 + source: <20260221110511.1592-2-pushkarkumarsingh1970@gmail.com>
234 +
235 +
236 +* pw/no-more-NULL-means-current-worktree (2026-02-19) 2 commits
237 + (merged to 'next' on 2026-02-26 at 281f28b140)
238 + + path: remove repository argument from worktree_git_path()
239 + + wt-status: avoid passing NULL worktree
240 +
241 + API clean-up for the worktree subsystem.
242 + cf. <d5866041-3e2f-4f5e-a8d1-725fd3eac2e2@gmail.com>
243 + source: <cover.1771511192.git.phillip.wood@dunelm.org.uk>
244 +
245 +
246 +* rr/gitweb-mobile (2026-02-16) 5 commits
247 + (merged to 'next' on 2026-02-26 at b7e4c26f73)
248 + + gitweb: let page header grow on mobile for long wrapped project names
249 + + gitweb: fix mobile footer overflow by wrapping text and clearing floats
250 + + gitweb: fix mobile page overflow across log/commit/blob/diff views
251 + + gitweb: prevent project search bar from overflowing on mobile
252 + + gitweb: add viewport meta tag for mobile devices
253
254 + "gitweb" has been taught to be mobile friendly.
255 +
256 + source: <pull.2043.v2.git.1771257211.gitgitgadget@gmail.com>
257 +
258 +
259 +* sc/pack-redundant-leakfix (2026-02-21) 1 commit
260 + (merged to 'next' on 2026-02-25 at b2fda8839e)
261 + + pack-redundant: fix memory leak when open_pack_index() fails
262 +
263 + Leakfix.
264 + source: <20260221103900.41740-1-sahityajb@gmail.com>
265 +
266 +
267 +* sp/shallow-deepen-relative-fix (2026-02-15) 2 commits
268 + (merged to 'next' on 2026-02-26 at 2183b3405e)
269 + + shallow: handling fetch relative-deepen
270 + + shallow: free local object_array allocations
271
177 -* uk/signature-is-good-after-key-expires (2026-02-04) 1 commit
178 - (merged to 'next' on 2026-02-22 at 094113b392)
179 - + gpg-interface: signatures by expired keys are fine
272 + "git fetch --deepen" that tries to go beyond merged branch used to
273 + get confused where the updated shallow points are, which has been
274 + corrected.
275 +
276 + source: <pull.2121.v5.git.git.1771186316.gitgitgadget@gmail.com>
277 +
278 +
279 +* sp/tree-diff-wo-the-repository (2026-02-20) 1 commit
280 + (merged to 'next' on 2026-02-26 at c5762ee063)
281 + + tree-diff: remove the usage of the_hash_algo global
282
181 - A signature on a commit that was GPG signed long time ago ought to
182 - be still valid after the key that was used to sign it has expired,
183 - but we showed them in alarming red.
184 - source: <20260204152306.1767112-2-ukleinek@kernel.org>
283 + The last uses of the_repository in "tree-diff.c" have been
284 + eradicated.
285 +
286 + source: <20260220175331.1250726-1-shreyanshpaliwalcmsmn@gmail.com>
287
288 --------------------------------------------------
289 [New Topics]
290
189 -* fp/t3310-test-path-is-helpers (2026-02-27) 1 commit
190 - - t3310: replace test -f/-d with test_path_is_file/test_path_is_dir
291 +* kj/path-micro-code-cleanup (2026-03-04) 3 commits
292 + (merged to 'next' on 2026-03-04 at 569091027c)
293 + + path: remove redundant function calls
294 + + path: use size_t for dir_prefix length
295 + + path: remove unused header
296 +
297 + Code clean-up.
298 +
299 + Will merge to 'master'.
300 + source: <20260304130502.8475-1-jayatheerthkulkarni2005@gmail.com>
301 +
302 +
303 +* lp/doc-gitprotocol-pack-fixes (2026-03-02) 3 commits
304 + (merged to 'next' on 2026-03-04 at 7fb5fdd8af)
305 + + doc: gitprotocol-pack: normalize italic formatting
306 + + doc: gitprotocol-pack: improve paragraphs structure
307 + + doc: gitprotocol-pack: fix pronoun-antecedent agreement
308 +
309 + Doc update.
310 +
311 + Will merge to 'master'.
312 + source: <cover.1772502209.git.lorenzo.pegorari2002@gmail.com>
313 +
314 +
315 +* ss/t3700-modernize (2026-03-03) 2 commits
316 + - t3700: use test_grep helper for better diagnostics
317 + - t3700: avoid suppressing git's exit code
318
319 Test clean-up.
320
321 Will merge to 'next'.
322 + source: <20260303204029.52952-1-r.siddharth.shrimali@gmail.com>
323 +
324 +
325 +* ps/history-split (2026-03-02) 8 commits
326 + - builtin/history: implement "split" subcommand
327 + - builtin/history: split out extended function to create commits
328 + - cache-tree: allow writing in-memory index as tree
329 + - add-patch: allow disabling editing of hunks
330 + - add-patch: add support for in-memory index patching
331 + - add-patch: remove dependency on "add-interactive" subsystem
332 + - add-patch: split out `struct interactive_options`
333 + - add-patch: split out header from "add-interactive.h"
334 +
335 + "git history" learned the "split" subcommand.
336 +
337 + Comments?
338 + source: <20260302-pks-history-split-v1-0-444fc987a324@pks.im>
339 +
340 +
341 +* os/doc-custom-subcommand-on-path (2026-03-04) 1 commit
342 + - doc: add information regarding external commands
343 +
344 + The way end-users can add their own "git <cmd>" subcommand by
345 + storing "git-<cmd>" in a directory on their $PATH has not been
346 + documented clearly, which has been corrected.
347 +
348 + Will merge to 'next'.
349 + source: <pull.2220.v4.git.git.1772636614850.gitgitgadget@gmail.com>
350 +
351 +
352 +* pt/promisor-lazy-fetch-no-recurse (2026-03-04) 1 commit
353 + - promisor-remote: prevent lazy-fetch recursion in child fetch
354 +
355 + The mechanism to avoid recursive lazy-fetch from promisor remotes
356 + were not propagated properly to child "git fetch" processes, which
357 + has been corrected.
358 +
359 + Comments?
360 + source: <pull.2224.v2.git.git.1772648846009.gitgitgadget@gmail.com>
361 +
362 +--------------------------------------------------
363 +[Cooking]
364 +
365 +* fp/t3310-test-path-is-helpers (2026-02-27) 1 commit
366 + (merged to 'next' on 2026-03-03 at c01b2c73d8)
367 + + t3310: replace test -f/-d with test_path_is_file/test_path_is_dir
368 +
369 + Test clean-up.
370 +
371 + Will merge to 'master'.
372 source: <20260228005939.9012-1-francescopaparatto@gmail.com>
373
374
@@ -206,7 +383,7 @@ Release tarballs are available at:
383 - sideband: mask control characters
384
385 Try to resurrect and reboot a stalled "avoid sending risky escape
209 - sequences taken from sideband" topic.
386 + sequences taken from sideband to the terminal" topic.
387
388 Comments?
389 source: <pull.1853.v4.git.1770113882.gitgitgadget@gmail.com>
@@ -214,32 +391,35 @@ Release tarballs are available at:
391
392
393 * mm/diff-no-index-find-object (2026-02-28) 1 commit
217 - - diff: fix crash with --find-object outside repository
394 + (merged to 'next' on 2026-03-03 at fcff548ddb)
395 + + diff: fix crash with --find-object outside repository
396
397 "git diff --no-index --find-object=<object-name>" outside a
398 repository of course wouldn't be able to find the object and died
399 while parsing the command line, which is made to die in a bit more
400 user-friendly way.
401
224 - Will merge to 'next'.
402 + Will merge to 'master'.
403 source: <pull.2057.git.1772310676438.gitgitgadget@gmail.com>
404
405
406 * ps/ci-reduce-gitlab-envsize (2026-03-02) 1 commit
229 - - ci: unset GITLAB_FEATURES envvar to not bust xargs(1) limits
407 + (merged to 'next' on 2026-03-03 at e2d1e47015)
408 + + ci: unset GITLAB_FEATURES envvar to not bust xargs(1) limits
409
410 CI fix.
411
233 - Will merge to 'next'.
412 + Will merge to 'master'.
413 source: <20260302-pks-msvc-meson-xargs-v1-1-8e42abd879ce@pks.im>
414
415
416 * pt/fsmonitor-watchman-sample-fix (2026-02-28) 1 commit
238 - - fsmonitor-watchman: fix variable reference and remove redundant code
417 + (merged to 'next' on 2026-03-03 at b899c2b411)
418 + + fsmonitor-watchman: fix variable reference and remove redundant code
419
420 Fix typo-induced breakages in fsmonitor-watchman sample hook.
421
242 - Will merge to 'next'.
422 + Will merge to 'master'.
423 source: <pull.2180.v2.git.git.1772300277959.gitgitgadget@gmail.com>
424
425
@@ -257,15 +437,14 @@ Release tarballs are available at:
437
438
439 * ss/test-that-that-typofix (2026-03-02) 1 commit
260 - - t: fix "that that" typo in lib-unicode-nfc-nfd.sh
440 + (merged to 'next' on 2026-03-03 at 1224b73913)
441 + + t: fix "that that" typo in lib-unicode-nfc-nfd.sh
442
443 Typofix in t/.
444
264 - Will merge to 'next'.
445 + Will merge to 'master'.
446 source: <20260302192627.83631-1-r.siddharth.shrimali@gmail.com>
447
267 ---------------------------------------------------
268 -[Cooking]
448
449 * jk/repo-structure-cleanup (2026-02-23) 1 commit
450 (merged to 'next' on 2026-03-02 at e1647839fa)
@@ -289,27 +468,36 @@ Release tarballs are available at:
468 source: <cover.1772226209.git.lorenzo.pegorari2002@gmail.com>
469
470
292 -* ps/upload-pack-buffer-more-writes (2026-02-27) 2 commits
471 +* ps/upload-pack-buffer-more-writes (2026-03-03) 10 commits
472 + - builtin/pack-objects: reduce lock contention when writing packfile data
473 + - csum-file: drop `hashfd_throughput()`
474 + - csum-file: introduce `hashfd_ext()`
475 + - sideband: use writev(3p) to send pktlines
476 + - wrapper: introduce writev(3p) wrappers
477 + - compat/posix: introduce writev(3p) wrapper
478 + - git-compat-util: introduce `cast_size_t_to_ssize_t()`
479 - upload-pack: reduce lock contention when writing packfile data
480 + - upload-pack: adapt keepalives based on buffering
481 - upload-pack: fix debug statement when flushing packfile data
482
483 Reduce system overhead "git upload-pack" spends relaying "git
484 pack-objects" output to the "git fetch" running on the other end of
485 the connection.
486
300 - Under discussion.
301 - cf. <20260227193758.GA2931515@coredump.intra.peff.net>
302 - source: <20260227-pks-upload-pack-write-contention-v1-0-7166fe255704@pks.im>
487 + Comments?
488 + cf. <xmqqseaf5k5t.fsf@gitster.g>
489 + source: <20260303-pks-upload-pack-write-contention-v2-0-7321830f08fe@pks.im>
490
491
492 * rs/parse-options-duplicated-long-options (2026-02-28) 2 commits
306 - - parseopt: check for duplicate long names and numerical options
307 - - pack-objects: remove duplicate --stdin-packs definition
493 + (merged to 'next' on 2026-03-03 at 70cbc2ea97)
494 + + parseopt: check for duplicate long names and numerical options
495 + + pack-objects: remove duplicate --stdin-packs definition
496
497 The parse-options API learned to notice an options[] array with
498 duplicated long options.
499
312 - Will merge to 'next'.
500 + Will merge to 'master'.
501 source: <1e7de0f7-a712-465f-b3c9-5dbe78132d3f@web.de>
502 source: <7693799a-91a2-480a-ae3e-29f8eed5b55a@web.de>
503
@@ -368,24 +556,27 @@ Release tarballs are available at:
556 The object source API is getting restructured to allow plugging new
557 backends.
558
371 - Comments?
559 + Being reviewed.
560 + cf. <aaidbdpkpH7tfn9x@denethor>
561 source: <20260223-b4-pks-odb-source-pluggable-v1-0-253bac1db598@pks.im>
562
563
375 -* ds/for-each-repo-w-worktree (2026-03-02) 4 commits
564 +* ds/for-each-repo-w-worktree (2026-03-03) 4 commits
565 - for-each-repo: simplify passing of parameters
566 - for-each-repo: work correctly in a worktree
378 - - run-command: extract clear_local_repo_env helper
567 + - run-command: extract sanitize_repo_env helper
568 - for-each-repo: test outside of repo context
569
570 "git for-each-repo" started from a secondary worktree did not work
571 as expected, which has been corrected.
572
573 Will merge to 'next'?
385 - source: <pull.2056.v3.git.1772465805.gitgitgadget@gmail.com>
574 + source: <pull.2056.v4.git.1772559114.gitgitgadget@gmail.com>
575
576
388 -* jh/alias-i18n-fixes (2026-02-26) 4 commits
577 +* jh/alias-i18n-fixes (2026-03-03) 5 commits
578 + (merged to 'next' on 2026-03-03 at d4347fab01)
579 + + doc: fix list continuation in alias.adoc
580 (merged to 'next' on 2026-03-02 at 914bcef227)
581 + git, help: fix memory leaks in alias listing
582 + alias: treat empty subsection [alias ""] as plain [alias]
@@ -396,6 +587,7 @@ Release tarballs are available at:
587
588 Will merge to 'master'.
589 source: <20260226205339.1535482-1-jonatan@jontes.page>
590 + source: <20260303151238.1000191-1-jonatan@jontes.page>
591
592
593 * lc/rebase-trailer (2026-02-23) 5 commits
@@ -410,6 +602,8 @@ Release tarballs are available at:
602
603 Expecting a (hopefully small and final) reroll?
604 cf. <e555e29f-57e3-4192-98f3-380181c81fd2@gmail.com>
605 + cf. <824809c3-72ac-43fb-8a93-4f48e0727e6a@gmail.com>
606 + cf. <dbaf6ea5-8a08-42c0-8184-16dcf40207dd@gmail.com>
607 source: <20260224070552.148591-1-me@linux.beauty>
608
609
@@ -440,23 +634,15 @@ Release tarballs are available at:
634 source: <20260228112210.270273-1-shreyanshpaliwalcmsmn@gmail.com>
635
636
443 -* cx/fetch-display-ubfix (2026-02-24) 1 commit
444 - (merged to 'next' on 2026-02-26 at ebd1da8b75)
445 - + fetch: fix wrong evaluation order in URL trailing-slash trimming
446 -
447 - Undefined-behaviour fix in "git fetch".
448 -
449 - Will merge to 'master'.
450 - source: <pull.2211.git.git.1771984857879.gitgitgadget@gmail.com>
451 -
452 -
453 -* pt/fsmonitor-linux (2026-02-25) 10 commits
637 +* pt/fsmonitor-linux (2026-03-04) 12 commits
638 + - fsmonitor: convert shown khash to strset in do_handle_client
639 + - fsmonitor: add tests for Linux
640 + - fsmonitor: add timeout to daemon stop command
641 - fsmonitor: close inherited file descriptors and detach in daemon
642 - run-command: add close_fd_above_stderr option
456 - - fsmonitor: add tests for Linux
643 - fsmonitor: implement filesystem change listener for Linux
458 - - fsmonitor: deduplicate settings logic for Unix platforms
459 - - fsmonitor: deduplicate IPC path logic for Unix platforms
644 + - fsmonitor: rename fsm-settings-darwin.c to fsm-settings-unix.c
645 + - fsmonitor: rename fsm-ipc-darwin.c to fsm-ipc-unix.c
646 - fsmonitor: use pthread_cond_timedwait for cookie wait
647 - compat/win32: add pthread_cond_timedwait
648 - fsmonitor: fix hashmap memory leak in fsmonitor_run_daemon
@@ -465,8 +651,7 @@ Release tarballs are available at:
651 The fsmonitor daemon has been implemented for Linux.
652
653 Will merge to 'next'?
468 - cf. <xmqq5x7j5xje.fsf@gitster.g>
469 - source: <pull.2147.v7.git.git.1772065643.gitgitgadget@gmail.com>
654 + source: <pull.2147.v8.git.git.1772648125.gitgitgadget@gmail.com>
655
656
657 * pt/t7527-flake-workaround (2025-12-31) 1 commit
@@ -485,43 +670,13 @@ Release tarballs are available at:
670 The code in "git help" that shows configuration items in sorted
671 order was awkwardly organized and prone to bugs.
672
488 - Comments?
673 + Expecting a (hopefully small and final) reroll to update tests?
674 cf. <xmqqwlzu43rh.fsf@gitster.g>
675 source: <20260228104654.80831-2-amishhhaaaa@gmail.com>
676
677
493 -* lg/t2004-test-path-is-helpers (2026-02-21) 1 commit
494 - (merged to 'next' on 2026-02-25 at c5862e1b3d)
495 - + t2004: use test_path_is_file instead of test -f
496 -
497 - Test code clean-up.
498 -
499 - Will merge to 'master'.
500 - source: <pull.2049.git.1771694893208.gitgitgadget@gmail.com>
501 -
502 -
503 -* ps/simplify-normalize-path-copy-len (2026-02-21) 1 commit
504 - (merged to 'next' on 2026-02-25 at ce7c45c6fa)
505 - + path: factor out skip_slashes() in normalize_path_copy_len()
506 -
507 - Code clean-up.
508 -
509 - Will merge to 'master'.
510 - source: <20260221110511.1592-2-pushkarkumarsingh1970@gmail.com>
511 -
512 -
513 -* sc/pack-redundant-leakfix (2026-02-21) 1 commit
514 - (merged to 'next' on 2026-02-25 at b2fda8839e)
515 - + pack-redundant: fix memory leak when open_pack_index() fails
516 -
517 - Leakfix.
518 -
519 - Will merge to 'master'.
520 - source: <20260221103900.41740-1-sahityajb@gmail.com>
521 -
522 -
523 -* ty/setup-error-tightening (2026-02-22) 1 commit
524 - . setup: improve error diagnosis for invalid .git files
678 +* ty/setup-error-tightening (2026-03-04) 1 commit
679 + - setup: improve error diagnosis for invalid .git files
680
681 While discovering a ".git" directory, the code treats any stat()
682 failure as a sign that a filesystem entity .git does not exist
@@ -529,24 +684,13 @@ Release tarballs are available at:
684 directory. The code has been tightened to notice and report
685 filesystem corruption better.
686
532 - Kicked out of the tree for now, due to CI breakage.
533 - cf. <xmqqpl5rumy0.fsf@gitster.g>
534 - source: <20260223074410.917523-1-a3205153416@gmail.com>
535 -
536 -
537 -* bk/mailmap-wo-the-repository (2026-02-19) 2 commits
538 - (merged to 'next' on 2026-02-26 at f7e3afc1ff)
539 - + mailmap: drop global config variables
540 - + mailmap: stop using the_repository
541 -
542 - Wean the mailmap code off of the_repository dependency.
543 -
544 - Will merge to 'master'.
545 - source: <20260220060442.29469-1-bkkaracay@gmail.com>
687 + Will merge to 'next'?
688 + source: <20260304141526.37764-1-a3205153416@gmail.com>
689
690
691 * kh/format-patch-noprefix-is-boolean (2026-03-01) 3 commits
549 - - doc: diff-options.adoc: make *.noprefix split translatable
692 + (merged to 'next' on 2026-03-03 at 54bc051969)
693 + + doc: diff-options.adoc: make *.noprefix split translatable
694 (merged to 'next' on 2026-02-26 at fcf4773929)
695 + doc: diff-options.adoc: show format.noprefix for format-patch
696 + format-patch: make format.noprefix a boolean
@@ -554,36 +698,11 @@ Release tarballs are available at:
698 The configuration variable format.noprefix did not behave as a
699 proper boolean variable, which has now been fixed and documented.
700
557 - Will merge to 'next' and then to 'master'.
701 + Will merge to 'master'.
702 source: <V2_CV_format.noprefix_boolean.421@msgid.xyz>
703 source: <better_for_translators.424@msgid.xyz>
704
705
562 -* pw/no-more-NULL-means-current-worktree (2026-02-19) 2 commits
563 - (merged to 'next' on 2026-02-26 at 281f28b140)
564 - + path: remove repository argument from worktree_git_path()
565 - + wt-status: avoid passing NULL worktree
566 -
567 - API clean-up for the worktree subsystem.
568 -
569 - Will merge to 'master'.
570 - cf. <d5866041-3e2f-4f5e-a8d1-725fd3eac2e2@gmail.com>
571 - source: <cover.1771511192.git.phillip.wood@dunelm.org.uk>
572 -
573 -
574 -* cs/subtree-split-fixes (2026-02-17) 3 commits
575 - (merged to 'next' on 2026-02-25 at 3824d2c52d)
576 - + contrib/subtree: process out-of-prefix subtrees
577 - + contrib/subtree: test history depth
578 - + contrib/subtree: capture additional test-cases
579 -
580 - An earlier attempt to optimize "git subtree" discarded too much
581 - relevant histories, which has been corrected.
582 -
583 - Will merge to 'master'.
584 - source: <20260217-cs-subtree-remove-optimization-v2-0-4299e71a30c6@howdoi.land>
585 -
586 -
706 * dt/send-email-client-cert (2026-03-01) 1 commit
707 - send-email: add client certificate options
708
@@ -593,70 +712,6 @@ Release tarballs are available at:
712 source: <20260302032048.260209-2-dxdt@dev.snart.me>
713
714
596 -* en/merge-ort-almost-wo-the-repository (2026-02-19) 6 commits
597 - (merged to 'next' on 2026-02-26 at 4c07a66173)
598 - + replay: prevent the_repository from coming back
599 - + merge-ort: prevent the_repository from coming back
600 - + merge-ort: replace the_hash_algo with opt->repo->hash_algo
601 - + merge-ort: replace the_repository with opt->repo
602 - + merge-ort: pass repository to write_tree()
603 - + merge,diff: remove the_repository check before prefetching blobs
604 -
605 - Mark the marge-ort codebase to prevent more uses of the_repository
606 - from getting added.
607 -
608 - Will merge to 'master'.
609 - cf. <143ab1c8-9f07-4df7-8200-69b5a78a0351@gmail.com>
610 - cf. <aZ12rYYwbh1fvrnE@pks.im>
611 - source: <pull.2048.v3.git.1771718393.gitgitgadget@gmail.com>
612 -
613 -
614 -* jr/apply-directory-normalize (2026-02-17) 1 commit
615 - (merged to 'next' on 2026-02-26 at 588d44696d)
616 - + apply: normalize path in --directory argument
617 -
618 - "git apply --directory=./un/../normalized/path" now normalizes the
619 - given path before using it.
620 -
621 - Will merge to 'master'.
622 - source: <pull.2198.v2.git.git.1771373732749.gitgitgadget@gmail.com>
623 -
624 -
625 -* lo/repo-leftover-bits (2026-02-25) 9 commits
626 - (merged to 'next' on 2026-02-26 at 962fc48d45)
627 - + Documentation/git-repo: capitalize format descriptions
628 - + Documentation/git-repo: replace 'NUL' with '_NUL_'
629 - + t1901: adjust nul format output instead of expected value
630 - + t1900: rename t1900-repo to t1900-repo-info
631 - + repo: rename struct field to repo_info_field
632 - + repo: replace get_value_fn_for_key by get_repo_info_field
633 - + repo: rename repo_info_fields to repo_info_field
634 - + CodingGuidelines: instruct to name arrays in singular
635 - + Merge branch 'lo/repo-info-keys' into lo/repo-leftover-bits
636 -
637 - Clean-up the code around "git repo info" command.
638 -
639 - Will merge to 'master'.
640 - source: <20260225183559.79303-1-lucasseikioshiro@gmail.com>
641 -
642 -
643 -* ps/maintenance-geometric-default (2026-02-24) 8 commits
644 - (merged to 'next' on 2026-02-26 at 8ab085f657)
645 - + builtin/maintenance: use "geometric" strategy by default
646 - + t7900: prepare for switch of the default strategy
647 - + t6500: explicitly use "gc" strategy
648 - + t5510: explicitly use "gc" strategy
649 - + t5400: explicitly use "gc" strategy
650 - + t34xx: don't expire reflogs where it matters
651 - + t: disable maintenance where we verify object database structure
652 - + t: fix races caused by background maintenance
653 -
654 - "git maintenance" starts using the "geometric" strategy by default.
655 -
656 - Will merge to 'master'.
657 - source: <20260224-b4-pks-maintenance-default-geometric-strategy-v2-0-8657338c6fa1@pks.im>
658 -
659 -
715 * ps/refs-for-each (2026-02-23) 18 commits
716 (merged to 'next' on 2026-02-27 at ec9e0a36ff)
717 + refs: replace `refs_for_each_fullref_in()`
@@ -700,27 +755,6 @@ Release tarballs are available at:
755 source: <20260218234215.89326-1-siddharthasthana31@gmail.com>
756
757
703 -* sp/tree-diff-wo-the-repository (2026-02-20) 1 commit
704 - (merged to 'next' on 2026-02-26 at c5762ee063)
705 - + tree-diff: remove the usage of the_hash_algo global
706 -
707 - The last uses of the_repository in "tree-diff.c" have been
708 - eradicated.
709 -
710 - Will merge to 'master'.
711 - source: <20260220175331.1250726-1-shreyanshpaliwalcmsmn@gmail.com>
712 -
713 -
714 -* dk/meson-regen-config-list (2026-02-24) 1 commit
715 - (merged to 'next' on 2026-02-26 at 64ea932d59)
716 - + build: regenerate config-list.h when Documentation changes
717 -
718 - Fix dependency screw-up in meson-based builds.
719 -
720 - Will merge to 'master'.
721 - source: <4ef96c6bbf698a08df1df87b7cb053b6d0d00822.1771943954.git.ben.knoble+github@gmail.com>
722 -
723 -
758 * sp/wt-status-wo-the-repository (2026-02-18) 3 commits
759 - wt-status: use hash_algo from local repository instead of global the_hash_algo
760 - wt-status: replace uses of the_repository with local repository instances
@@ -746,98 +780,9 @@ Release tarballs are available at:
780 source: <pull.2008.v5.git.1771856405.gitgitgadget@gmail.com>
781
782
749 -* hy/diff-lazy-fetch-with-break-fix (2026-02-23) 1 commit
750 - (merged to 'next' on 2026-02-25 at afe07ad86c)
751 - + diffcore-break: avoid segfault with freed entries
752 -
753 - A prefetch call can be triggered to access a stale diff_queue entry
754 - after diffcore-break breaks a filepair into two and freed the
755 - original entry that is no longer used, leading to a segfault, which
756 - has been corrected.
757 -
758 - Will merge to 'master'.
759 - source: <20260224061329.60364-2-hanyang.tony@bytedance.com>
760 -
761 -
762 -* ds/config-list-with-type (2026-02-23) 13 commits
763 - (merged to 'next' on 2026-02-26 at cdaee07fde)
764 - + config: use an enum for type
765 - + config: restructure format_config()
766 - + config: format colors quietly
767 - + color: add color_parse_quietly()
768 - + config: format expiry dates quietly
769 - + config: format paths gently
770 - + config: format bools or strings in helper
771 - + config: format bools or ints gently
772 - + config: format bools gently
773 - + config: format int64s gently
774 - + config: make 'git config list --type=<X>' work
775 - + config: add 'gently' parameter to format_config()
776 - + config: move show_all_config()
777 -
778 - "git config list" is taught to show the values interpreted for
779 - specific type with "--type=<X>" option.
780 -
781 - Will merge to 'master'.
782 - source: <pull.2044.v3.git.1771849615.gitgitgadget@gmail.com>
783 -
784 -
785 -* rr/gitweb-mobile (2026-02-16) 5 commits
786 - (merged to 'next' on 2026-02-26 at b7e4c26f73)
787 - + gitweb: let page header grow on mobile for long wrapped project names
788 - + gitweb: fix mobile footer overflow by wrapping text and clearing floats
789 - + gitweb: fix mobile page overflow across log/commit/blob/diff views
790 - + gitweb: prevent project search bar from overflowing on mobile
791 - + gitweb: add viewport meta tag for mobile devices
792 -
793 - "gitweb" has been taught to be mobile friendly.
794 -
795 - Will merge to 'master'.
796 - source: <pull.2043.v2.git.1771257211.gitgitgadget@gmail.com>
797 -
798 -
799 -* kn/osxkeychain-buildfix (2026-02-19) 1 commit
800 - (merged to 'next' on 2026-02-26 at 913be932b0)
801 - + osxkeychain: define build targets in the top-level Makefile.
802 -
803 - Simplify build procedure for oxskeychain (in contrib/).
804 -
805 - Will merge to 'master'.
806 - source: <pull.2046.v4.git.1771551540816.gitgitgadget@gmail.com>
807 -
808 -
809 -* aa/add-p-no-auto-advance (2026-02-14) 4 commits
810 - (merged to 'next' on 2026-02-25 at ce27f94bc2)
811 - + add-patch: allow interfile navigation when selecting hunks
812 - + add-patch: allow all-or-none application of patches
813 - + add-patch: modify patch_update_file() signature
814 - + interactive -p: add new `--auto-advance` flag
815 -
816 - "git add -p" learned a new mode that allows the user to revisit a
817 - file that was already dealt with.
818 -
819 - Will merge to 'master'.
820 - source: <cover.1771066252.git.abrahamadekunle50@gmail.com>
821 -
822 -
823 -* kn/ref-location (2026-02-25) 6 commits
824 - (merged to 'next' on 2026-02-26 at e87adbdb69)
825 - + refs: add GIT_REFERENCE_BACKEND to specify reference backend
826 - + refs: allow reference location in refstorage config
827 - + refs: receive and use the reference storage payload
828 - + refs: move out stub modification to generic layer
829 - + refs: extract out `refs_create_refdir_stubs()`
830 - + setup: don't modify repo in `create_reference_database()`
831 -
832 - Allow the directory in which reference backends store their data to
833 - be specified.
834 -
835 - Will merge to 'master'.
836 - source: <20260225-kn-alternate-ref-dir-v9-0-3fe118e40e28@gmail.com>
837 -
838 -
783 * ar/config-hooks (2026-03-02) 10 commits
840 - - Merge branch 'ar/run-command-hook-take-2' into ar/config-hooks
784 + (merged to 'next' on 2026-03-03 at 5a4be22ab6)
785 + + Merge branch 'ar/run-command-hook-take-2' into ar/config-hooks
786 (merged to 'next' on 2026-02-27 at 6a04cca28e)
787 + hook: add -z option to "git hook list"
788 + hook: allow out-of-repo 'git hook' invocations
@@ -854,7 +799,7 @@ Release tarballs are available at:
799 configuration files, and run multiple of them for the same hook
800 event.
801
857 - Will merge to 'next' and then to 'master'.
802 + Will merge to 'master'.
803 source: <20260218222352.55393-1-adrian.ratiu@collabora.com>
804
805
@@ -876,15 +821,14 @@ Release tarballs are available at:
821 source: <20260222002904.1879356-1-adrian.ratiu@collabora.com>
822
823
879 -* ng/submodule-default-remote (2026-02-28) 1 commit
824 +* ng/submodule-default-remote (2026-03-03) 1 commit
825 - submodule: fetch missing objects from default remote
826
827 Instead of hardcoded 'origin', use the configured default remote
828 when fetching from submodules.
829
885 - Will merge to 'next'.
886 - cf. <CA+P7+xqC10D9a3zp7JO_yoK9Vjpg+xua7yH=fGXjApUYisTf4w@mail.gmail.com>
887 - source: <20260301025327.3845292-1-nasser.grainawi@oss.qualcomm.com>
830 + Comments?
831 + source: <20260303234044.105157-1-nasser.grainawi@oss.qualcomm.com>
832
833
834 * ar/run-command-hook-take-2 (2026-03-02) 13 commits
@@ -913,15 +857,14 @@ Release tarballs are available at:
857 source: <20260302191704.1814567-1-adrian.ratiu@collabora.com>
858
859
916 -* yc/histogram-hunk-shift-fix (2025-12-06) 1 commit
860 +* yc/histogram-hunk-shift-fix (2026-03-02) 1 commit
861 - xdiff: re-diff shifted change groups when using histogram algorithm
862
863 The final clean-up phase of the diff output could turn the result of
864 histogram diff algorithm suboptimal, which has been corrected.
865
922 - Expecting a reroll.
923 - cf. <CAHTeOx9WehtwSMie53xzZUU7iK3JTrgUbVK48WM7S+LBi=jpkQ@mail.gmail.com>
924 - source: <pull.2120.git.git.1765054287938.gitgitgadget@gmail.com>
866 + Needs review.
867 + source: <pull.2120.v2.git.git.1772463265865.gitgitgadget@gmail.com>
868
869
870 * cs/add-skip-submodule-ignore-all (2026-02-06) 5 commits
@@ -941,19 +884,6 @@ Release tarballs are available at:
884 source: <pull.1987.v4.git.1770384180.gitgitgadget@gmail.com>
885
886
944 -* sp/shallow-deepen-relative-fix (2026-02-15) 2 commits
945 - (merged to 'next' on 2026-02-26 at 2183b3405e)
946 - + shallow: handling fetch relative-deepen
947 - + shallow: free local object_array allocations
948 -
949 - "git fetch --deepen" that tries to go beyond merged branch used to
950 - get confused where the updated shallow points are, which has been
951 - corrected.
952 -
953 - Will merge to 'master'.
954 - source: <pull.2121.v5.git.git.1771186316.gitgitgadget@gmail.com>
955 -
956 -
887 * en/xdiff-cleanup-3 (2026-01-03) 11 commits
888 . SQUASH??? cocci
889 . xdiff: move xdl_cleanup_records() from xprepare.c to xdiffi.c
@@ -1014,31 +944,33 @@ Release tarballs are available at:
944
945
946 * bc/sha1-256-interop-02 (2026-02-07) 16 commits
1017 - - object-file-convert: always make sure object ID algo is valid
1018 - - rust: add a small wrapper around the hashfile code
1019 - - rust: add a new binary object map format
1020 - - rust: add functionality to hash an object
1021 - - rust: add a build.rs script for tests
1022 - - rust: fix linking binaries with cargo
1023 - - hash: expose hash context functions to Rust
1024 - - write-or-die: add an fsync component for the object map
1025 - - csum-file: define hashwrite's count as a uint32_t
1026 - - rust: add additional helpers for ObjectID
1027 - - hash: add a function to look up hash algo structs
1028 - - rust: add a hash algorithm abstraction
1029 - - rust: add a ObjectID struct
1030 - - hash: use uint32_t for object_id algorithm
1031 - - conversion: don't crash when no destination algo
1032 - - repository: require Rust support for interoperability
947 + (merged to 'next' on 2026-03-04 at 99dc92c08e)
948 + + object-file-convert: always make sure object ID algo is valid
949 + + rust: add a small wrapper around the hashfile code
950 + + rust: add a new binary object map format
951 + + rust: add functionality to hash an object
952 + + rust: add a build.rs script for tests
953 + + rust: fix linking binaries with cargo
954 + + hash: expose hash context functions to Rust
955 + + write-or-die: add an fsync component for the object map
956 + + csum-file: define hashwrite's count as a uint32_t
957 + + rust: add additional helpers for ObjectID
958 + + hash: add a function to look up hash algo structs
959 + + rust: add a hash algorithm abstraction
960 + + rust: add a ObjectID struct
961 + + hash: use uint32_t for object_id algorithm
962 + + conversion: don't crash when no destination algo
963 + + repository: require Rust support for interoperability
964
965 The code to maintain mapping between object names in multiple hash
966 functions is being added, written in Rust.
967
1037 - Will merge to 'next'?
1038 - Message-Id: <20260207200446.2837699-1-sandals@crustytoothpaste.net>
968 + Will merge to 'master'.
969 + source: <20260207200446.2837699-1-sandals@crustytoothpaste.net>
970
971
1041 -* hn/status-compare-with-push (2026-02-26) 3 commits
972 +* hn/status-compare-with-push (2026-03-04) 4 commits
973 + - status: clarify how status.compareBranches deduplicates
974 (merged to 'next' on 2026-02-26 at 1c11b8819a)
975 + status: add status.compareBranches config for multiple branch comparisons
976 + refactor format_branch_comparison in preparation
@@ -1048,9 +980,9 @@ Release tarballs are available at:
980 and various other branches listed on status.compareBranches
981 configuration.
982
1051 - Will merge to 'master'.
1052 - cf. <xmqqa4wv5xsb.fsf@gitster.g>
983 + Will merge to 'next' and then to 'master'?
984 source: <pull.2138.v30.git.git.1772102022.gitgitgadget@gmail.com>
985 + source: <pull.2138.v31.git.git.1772627131.gitgitgadget@gmail.com>
986
987 --------------------------------------------------
988 [Discarded]