What's cooking (2026/07 #12)

Junio C Hamano committed Jul 26, 2026 at 15:03 UTC 08a10c9b7445113f5b38a67894e37cc615c62258
1 file changed +225 -109
whats-cooking.txt
+225 -109
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Jul 2026, #11)
2 +Subject: What's cooking in git.git (Jul 2026, #12)
3 X-master-at: 9a0c4701dcd5725c4184599322b52933ff5005ca
4 -X-next-at: e436a42272e5f75bb9ac8df1355c4593652372fe
4 +X-next-at: 244d577d9305226b47fecda6f8d041ceb0ff9aa4
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Jul 2026, #11)
7 +What's cooking in git.git (Jul 2026, #12)
8 -----------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -50,52 +50,90 @@ Release tarballs are available at:
50 --------------------------------------------------
51 [New Topics]
52
53 -* af/clone-revision-v0-segfault-fix (2026-07-24) 1 commit
54 - - builtin/clone: fix segfault when using --revision with protocol v0
53 +* jc/remote-insteadof-leakfix (2026-07-25) 1 commit
54 + - remote: plug memory leaks
55
56 - 'git clone --revision' talking to a server that does not support
57 - protocol v2 (falling back to protocol v0) segfaulted, which has
58 - been corrected.
56 + rewrites_release() in 'remote.c' has been updated to free 'struct
57 + rewrite' instances and their '.instead_of' arrays, and their contents.
58
60 - Will merge to 'next'?
61 - cf. <xmqqldb08jcd.fsf@gitster.g>
62 - source: <20260724124138.666877-1-adrian.friedli@mt.com>
59 + Will merge to 'next'.
60 + cf. <20260725161819.GA2343104@coredump.intra.peff.net>
61 + source: <xmqqpl0b12gj.fsf@gitster.g>
62
63
65 -* lo/mv-missing-dest-dir-check (2026-07-23) 2 commits
66 - - mv: check for missing destination directory before renaming
67 - - mv: name both source and destination when rename fails
64 +* tb/pack-with-duplicates (2026-07-24) 5 commits
65 + - pack-bitmap: handle duplicate pack entries during MIDX reuse
66 + - test-tool bitmap: reject packs with duplicate objects
67 + - midx: verify duplicate pack entries by OID and offset
68 + - packfile: recover delta cycles through duplicate entries
69 + - t5308: test reverse indexes with duplicate objects
70
69 - 'git mv' has been updated to check for a missing destination
70 - leading directory during the checking phase, allowing 'git mv -n'
71 - to report the failure. The error message when the rename(2)
72 - syscall fails has also been improved to name both the source and
73 - the destination.
71 + The handling of packfiles with duplicate object entries has been
72 + hardened. Specifically, reverse index lookup, delta cycle
73 + recovery, multi-pack-index verification, and pack reuse paths have
74 + been updated to correctly handle or gracefully reject duplicate
75 + entries.
76
75 - Waiting for response.
76 - cf. <xmqq8q71k3fy.fsf@gitster.g>
77 - cf. <xmqqh5lpk3r3.fsf@gitster.g>
78 - source: <pull.2356.v2.git.git.1784812390.gitgitgadget@gmail.com>
77 + Needs review.
78 + cf. <xmqqecgs3vg6.fsf@gitster.g>
79 + source: <cover.1784927134.git.ttaylorr@openai.com>
80
81
81 -* ps/odb-make-creation-pluggable (2026-07-23) 5 commits
82 - - odb: make creation of on-disk structures pluggable
83 - - odb/source: introduce function to map source type to name
84 - - setup: defer object database creation
85 - - setup: detangle loading of loose object maps
86 - - loose: load loose object map for the correct source
82 +* ps/cat-file-remote-object-info-type (2026-07-25) 6 commits
83 + - cat-file: unify default format
84 + - serve: advertise type capability
85 + - fetch-object-info: request all supported options dynamically
86 + - fetch-object-info: parse type from server response
87 + - protocol-caps: add type support to object-info
88 + - Merge branch 'ps/cat-file-remote-object-info' into ps/cat-file-remote-object-info-type
89 + (this branch uses ps/cat-file-remote-object-info.)
90
88 - The creation of the on-disk data structures for the object database
89 - has been made pluggable, allowing future backends to customize their
90 - setup. As part of this, the initialization of the object database
91 - has been deferred, and the loading of the loose-object map has been
92 - detangled from repository initialization.
91 + The 'remote-object-info' command for 'git cat-file --batch-command'
92 + has been extended to support the '%(objecttype)' placeholder.
93
94 Needs review.
95 - cf. <xmqq5x248fk9.fsf@gitster.g>
96 - cf. <xmqqh5lo6xi2.fsf@gitster.g>
97 - cf. <xmqq5x246x35.fsf@gitster.g>
98 - source: <20260724-pks-odb-create-on-disk-v1-0-3b3d265d979b@pks.im>
95 + source: <20260725-objecttype-support-v1-0-2d4ca3bbabf1@gmail.com>
96 +
97 +
98 +* rs/branch-delete-bisect-warning (2026-07-25) 1 commit
99 + - branch: report active bisect run when rejecting delete
100 +
101 + 'git branch -d' learned to report when a branch cannot be deleted
102 + because it is being used in an active bisect run.
103 +
104 + Will merge to 'next'?
105 + cf. <xmqqbjbtyd80.fsf@gitster.g>
106 + source: <590382fb-731b-4e14-911e-ff68356d1082@web.de>
107 +
108 +
109 +* jk/ci-static-analysis-image-bump (2026-07-26) 2 commits
110 + - ci: bump ubuntu image version for static-analysis job
111 + - bloom: silence CHECK_ASSERTION_SIDE_EFFECTS false positive
112 +
113 + The image version used by the static-analysis CI job has been bumped
114 + to ubuntu-latest (Ubuntu 24.04), which brings in a newer Coccinelle
115 + version that resolves a severe performance regression. A false
116 + positive warning from the CHECK_ASSERTION_SIDE_EFFECTS build with
117 + GCC 15 in the Bloom filter code has also been silenced to facilitate
118 + the image upgrade.
119 +
120 + Will merge to 'next'?
121 + cf. <xmqqo6ftvhed.fsf@gitster.g>
122 + source: <20260726083254.GA3528497@coredump.intra.peff.net>
123 +
124 +
125 +* jk/diff-relative-cached-unmerged-more (2026-07-26) 3 commits
126 + - diff-lib: skip paths outside prefix in oneway_diff()
127 + - diff-lib: drop stale comment about advancing o->pos
128 + - Merge branch 'jk/diff-relative-cached-unmerged' into jk/diff-relative-cached-unmerged-more
129 + (this branch uses jk/diff-relative-cached-unmerged.)
130 +
131 + The code path that deals with relative paths in the diff-lib has
132 + been cleaned up.
133 +
134 + Will merge to 'next'?
135 + cf. <xmqqjyqhv7s7.fsf@gitster.g>
136 + source: <20260726084550.GC2366012@coredump.intra.peff.net>
137
138 --------------------------------------------------
139 [Stalled]
@@ -119,8 +157,8 @@ Release tarballs are available at:
157 collect unreachable objects.
158
159 Waiting for response for too long, stalled.
122 - cf. <xmqqpl1d56dd.fsf@gitster.g>
123 - cf. <xmqqwlvl56vh.fsf@gitster.g>
160 + cf. <aj8cvDCMcw+RayyO@nand.local>
161 + cf. <aj8cOhH6hGVZIFft@nand.local>
162 source: <cover.1782500507.git.me@ttaylorr.com>
163
164
@@ -131,9 +169,10 @@ Release tarballs are available at:
169 The 'git checkout --track=...' command has been taught to optionally
170 fetch the branch from the remote that the new branch will work with.
171
134 - Waiting for response for too long, stalled.
172 + Will be discarded.
173 cf. <xmqq5x37h6fj.fsf@gitster.g>
174 cf. <CAL71e4MiijEiM26TKJcOYT7L4pfQeMM_F2oT3U3igP-wOZm2Ag@mail.gmail.com>
175 + cf. <xmqq8q71clob.fsf@gitster.g>
176 source: <pull.2281.v15.git.git.1782338098.gitgitgadget@gmail.com>
177
178
@@ -146,8 +185,8 @@ Release tarballs are available at:
185 the path with a dot, matching standard shell-completion behavior.
186
187 Waiting for response, stalled.
149 - cf. <xmqq1pe0g08t.fsf@gitster.g>
150 - cf. <xmqqik71t3nr.fsf@gitster.g>
188 + cf. <xmqqbjd37i4y.fsf@gitster.g>
189 + cf. <xmqq4ihpclo8.fsf@gitster.g>
190 source: <pull.2311.v3.git.git.1781978156.gitgitgadget@gmail.com>
191
192
@@ -169,7 +208,7 @@ Release tarballs are available at:
208 how comment lines in the input are treated.
209
210 Expecting a reroll for too long, stalled.
172 - cf. <xmqq1pedthkv.fsf@gitster.g>
211 + cf. <729baf6b-53ea-4e8d-95ab-5935667e66c2@app.fastmail.com>
212 source: <V3_CV_doc_int-tr_key_format.8a3@msgid.xyz>
213
214
@@ -184,11 +223,60 @@ Release tarballs are available at:
223
224 Waiting for response for too long, stalled.
225 cf. <87cxwxofgv.fsf@emacs.iotcl.com>
226 + cf. <xmqqv7a5b6n7.fsf@gitster.g>
227 source: <V3_CV_doc_replay_config.780@msgid.xyz>
228
229 --------------------------------------------------
230 [Cooking]
231
232 +* af/clone-revision-v0-segfault-fix (2026-07-24) 1 commit
233 + - builtin/clone: fix segfault when using --revision with protocol v0
234 +
235 + 'git clone --revision' talking to a server that does not support
236 + protocol v2 (falling back to protocol v0) segfaulted, which has
237 + been corrected.
238 +
239 + Will merge to 'next'.
240 + cf. <xmqqldb08jcd.fsf@gitster.g>
241 + source: <20260724124138.666877-1-adrian.friedli@mt.com>
242 +
243 +
244 +* lo/mv-missing-dest-dir-check (2026-07-26) 2 commits
245 + - mv: reject a destination whose leading path is missing or a symlink
246 + - mv: name both source and destination when rename fails
247 +
248 + 'git mv' has been updated to check for a missing destination
249 + leading directory during the checking phase, allowing 'git mv -n'
250 + to report the failure. The error message when the rename(2)
251 + syscall fails has also been improved to name both the source and
252 + the destination.
253 +
254 + Needs review.
255 + source: <pull.2356.v4.git.git.1785097071.gitgitgadget@gmail.com>
256 +
257 +
258 +* ps/odb-make-creation-pluggable (2026-07-23) 5 commits
259 + - odb: make creation of on-disk structures pluggable
260 + - odb/source: introduce function to map source type to name
261 + - setup: defer object database creation
262 + - setup: detangle loading of loose object maps
263 + - loose: load loose object map for the correct source
264 +
265 + The creation of the on-disk data structures for the object database
266 + has been made pluggable, allowing future backends to customize their
267 + setup. As part of this, the initialization of the object database
268 + has been deferred, and the loading of the loose-object map has been
269 + detangled from repository initialization.
270 +
271 + Waiting for response.
272 + cf. <xmqq5x248fk9.fsf@gitster.g>
273 + cf. <xmqqh5lo6xi2.fsf@gitster.g>
274 + cf. <xmqq5x246x35.fsf@gitster.g>
275 + cf. <xmqqfr15v6ba.fsf@gitster.g>
276 + cf. <xmqqbjbtv5y6.fsf@gitster.g>
277 + source: <20260724-pks-odb-create-on-disk-v1-0-3b3d265d979b@pks.im>
278 +
279 +
280 * jt/config-lock-timeout (2026-05-17) 1 commit
281 (merged to 'next' on 2026-07-24 at 3cb8da6b6a)
282 + config: retry acquiring config.lock, configurable via core.configLockTimeout
@@ -213,6 +301,7 @@ Release tarballs are available at:
301
302 Waiting for a response.
303 cf. <xmqqldb4xlqa.fsf@gitster.g>
304 + cf. <db7edc66-9b2a-47bc-98db-87d01885cef0@gmail.com>
305 source: <20260721140443.1809379-2-hugo@hsal.es>
306
307
@@ -240,8 +329,8 @@ Release tarballs are available at:
329 resolve 'url.*.insteadOf' aliases before comparing the inventoried
330 URL from '.gitmodules' with the URLs of configured remotes.
331
243 - Will merge to 'next'?
244 - cf. <xmqqbjbyole1.fsf@gitster.g>
332 + Will merge to 'next'.
333 + cf. <xmqqldb05dlo.fsf@gitster.g>
334 source: <20260723002132.3989727-1-ccjmne@gmail.com>
335
336
@@ -252,19 +341,21 @@ Release tarballs are available at:
341 FSEvents before waiting for the cookie file, to avoid premature
342 timeouts on busy systems.
343
255 - Waiting for a resposne.
344 + Waiting for response.
345 cf. <CAOTNsDy4pKbPHdK1T688Ax6Mgz15K-qfZR-8fAvTk48z3E43Rg@mail.gmail.com>
346 + cf. <xmqqh5lo5dib.fsf@gitster.g>
347 source: <20260721-fsmonitor-darwin-cookie-flush-v1-1-357dc5e32040@gmail.com>
348
349
350 * jc/exclude-first-parent-seen (2026-07-22) 1 commit
261 - - revision: honor --exclude-first-parent-only with SEEN first parent
351 + (merged to 'next' on 2026-07-25 at 85755d1d45)
352 + + revision: honor --exclude-first-parent-only with SEEN first parent
353
354 Traversals with '--exclude-first-parent-only' have been corrected to
355 properly stop after the first parent even when it has already been
356 marked as SEEN.
357
267 - Will merge to 'next'.
358 + Will merge to 'master'.
359 source: <xmqqbjbzq7n2.fsf@gitster.g>
360
361
@@ -277,9 +368,11 @@ Release tarballs are available at:
368 the current branch are skipped and duplicate updates are avoided to
369 prevent failures when branch aliases are present.
370
280 - Waiting for a response.
281 - cf. <f982c386-e329-4ab0-b695-e540bcb9de3d@gmail.com>
371 + Waiting for response.
372 + cf. <5bece313-6ffb-450b-add1-29652b64de10@gmail.com>
373 cf. <00e529b6-7ae7-463f-a4b3-0991e9411aba@gmail.com>
374 + cf. <amSSYagL0jTgzElD@mbp>
375 + cf. <xmqq7bmhycxq.fsf@gitster.g>
376 source: <pull.2126.v3.git.1784708107.gitgitgadget@gmail.com>
377
378
@@ -313,31 +406,33 @@ Release tarballs are available at:
406
407
408 * hn/url-push-tracking (2026-07-22) 2 commits
316 - - remote: find tracking branches for URL push destinations
317 - - remote: pass repository to push tracking helper
409 + (merged to 'next' on 2026-07-25 at 9b776656fc)
410 + + remote: find tracking branches for URL push destinations
411 + + remote: pass repository to push tracking helper
412
413 When the push remote is specified as a URL, the fetch refspec of a
414 uniquely matching configured remote is now used to find and update
415 the remote-tracking branch (e.g., '@{push}').
416
323 - Will merge to 'next'.
417 + Will merge to 'master'.
418 cf. <xmqqpl0eoniz.fsf@gitster.g>
419 source: <pull.2358.v4.git.git.1784743738.gitgitgadget@gmail.com>
420
421
422 * tl/gitweb-shorten-hashes-with-modes (2026-07-17) 1 commit
329 - - gitweb: shorten index hashes with trailing file modes
423 + (merged to 'next' on 2026-07-25 at 5b92e8a325)
424 + + gitweb: shorten index hashes with trailing file modes
425
426 The object ID shortening and linking in the 'commitdiff' view of
427 'gitweb' has been corrected to work even when the index line carries
428 a trailing file mode.
429
335 - Will merge to 'next'?
430 + Will merge to 'master'.
431 cf. <xmqqjyqu6u7i.fsf@gitster.g>
432 source: <SA1PR10MB9977150C823C0751E53B150D5AF1C62@SA1PR10MB997715.namprd10.prod.outlook.com>
433
434
340 -* kj/repo-info-more-path-keys (2026-07-17) 7 commits
435 +* kj/repo-info-more-path-keys (2026-07-26) 7 commits
436 - repo: add path.git-prefix path key
437 - repo: add path.grafts with absolute and relative suffix formatting
438 - repo: add path.index with absolute and relative suffix formatting
@@ -351,10 +446,8 @@ Release tarballs are available at:
446 root, superproject working tree, object database, etc.), supporting
447 both absolute and relative path formats.
448
354 - Waiting for response.
355 - cf. <845D6852-98F5-4168-82CD-90B3B476BCF5@gmail.com>
356 - cf. <xmqq33xejomv.fsf@gitster.g>
357 - source: <20260717133015.32040-1-jayatheerthkulkarni2005@gmail.com>
449 + Needs review.
450 + source: <20260726104343.16933-1-jayatheerthkulkarni2005@gmail.com>
451
452
453 * sk/userdiff-swift (2026-07-20) 1 commit
@@ -372,16 +465,17 @@ Release tarballs are available at:
465
466
467 * ps/odb-move-loose-object-writing (2026-07-17) 10 commits
375 - - object-file: move logic to write loose objects
376 - - object-file: move `force_object_loose()`
377 - - object-file: force objects loose via generic interface
378 - - object-file: fix memory leak in `force_object_loose()`
379 - - odb: support setting mtime when writing objects
380 - - odb: lift object existence check out of the "loose" backend
381 - - odb: compute object hash in `odb_write_object_ext()`
382 - - t/u-odb-inmemory: implement wrapper for writing objects
383 - - odb: compute compat object ID in `odb_write_object_ext()`
384 - - Merge branch 'jt/receive-pack-use-odb-transactions' into HEAD
468 + (merged to 'next' on 2026-07-25 at 244d577d93)
469 + + object-file: move logic to write loose objects
470 + + object-file: move `force_object_loose()`
471 + + object-file: force objects loose via generic interface
472 + + object-file: fix memory leak in `force_object_loose()`
473 + + odb: support setting mtime when writing objects
474 + + odb: lift object existence check out of the "loose" backend
475 + + odb: compute object hash in `odb_write_object_ext()`
476 + + t/u-odb-inmemory: implement wrapper for writing objects
477 + + odb: compute compat object ID in `odb_write_object_ext()`
478 + + Merge branch 'jt/receive-pack-use-odb-transactions' into HEAD
479
480 The logic to write loose objects has been refactored and moved from
481 'object-file.c' to the loose backend source file 'odb/source-loose.c',
@@ -389,13 +483,12 @@ Release tarballs are available at:
483 first refactoring force_object_loose() to use generic ODB write
484 interfaces instead of loose-backend internals.
485
392 - Will merge to 'next'?
393 - cf. <87jyqnp365.fsf@emacs.iotcl.com>
394 - cf. <87fr1bp0bi.fsf@emacs.iotcl.com>
486 + Will merge to 'master'.
487 + cf. <xmqqecgzpm0y.fsf@gitster.g>
488 source: <20260717-pks-odb-move-loose-object-writing-v1-0-46446a3cb5b7@pks.im>
489
490
398 -* pw/rebase-fixup-fixes (2026-07-17) 2 commits
491 +* pw/rebase-fixup-fixes (2026-07-26) 2 commits
492 - rebase: remember fixup -c after skipping fixup/squash
493 - rebase -i: fix counting of fixups after rebase --skip
494
@@ -405,8 +498,9 @@ Release tarballs are available at:
498 and another prevented the editor from opening when the final command
499 in a chain containing 'fixup -c' was skipped.
500
408 - Needs review.
409 - source: <cover.1784304378.git.phillip.wood@dunelm.org.uk>
501 + Will merge to 'next'?
502 + cf. <xmqqse55tp1k.fsf@gitster.g>
503 + source: <cover.1785080337.git.phillip.wood@dunelm.org.uk>
504
505
506 * tc/last-modified-bloom (2026-07-17) 4 commits
@@ -421,8 +515,8 @@ Release tarballs are available at:
515 wildcard pathspecs are used.
516
517 Waiting for a response.
424 - cf. <87cxwl1lb4.fsf@emacs.iotcl.com>
518 cf. <20260720094218.GA681989@coredump.intra.peff.net>
519 + cf. <alvulw2fk67duo8n@com-79390>
520 source: <20260717-toon-speed-up-last-modified-v1-0-410418f18614@iotcl.com>
521
522
@@ -460,20 +554,26 @@ Release tarballs are available at:
554 about unchecked returns.
555
556 Waiting for response.
557 + cf. <alcvmX3b6y92KE4y@pks.im>
558 + cf. <alcvnm0xiOv5W0w_@pks.im>
559 cf. <xmqqldbdqciy.fsf@gitster.g>
560 cf. <xmqqh5m1qcfh.fsf@gitster.g>
465 - cf. <alcvnm0xiOv5W0w_@pks.im>
561 + cf. <xmqqh5lui6wg.fsf@gitster.g>
562 + cf. <xmqqcxwii6wd.fsf@gitster.g>
563 source: <pull.2179.git.1784069325.gitgitgadget@gmail.com>
564
565
566 * jk/diff-relative-cached-unmerged (2026-07-14) 1 commit
470 - - diff: ignore unmerged paths outside prefix with --relative --cached
567 + (merged to 'next' on 2026-07-25 at 8829f9b348)
568 + + diff: ignore unmerged paths outside prefix with --relative --cached
569 + (this branch is used by jk/diff-relative-cached-unmerged-more.)
570
571 'git diff --relative' running with '--cached' has been corrected to
572 avoid a segfault when encountering unmerged paths outside the
573 prefix.
574
476 - Will merge to 'next'?
575 + Will merge to 'master'.
576 + cf. <xmqqjyqwp9jh.fsf@gitster.g>
577 source: <20260715060523.GA517940@coredump.intra.peff.net>
578
579
@@ -498,6 +598,8 @@ Release tarballs are available at:
598 timestamps in the traces.
599
600 Waiting for response.
601 + cf. <alpXW5U6sndZtgqV@com-79390>
602 + cf. <c8d443a5-3cfb-4752-8716-cf0d8fadd9d3@gmail.com>
603 cf. <xmqqzezlhgyo.fsf@gitster.g>
604 cf. <al4yrXXoZiHLwSvE@com-79390>
605 source: <pull.2178.git.1784131932489.gitgitgadget@gmail.com>
@@ -512,7 +614,9 @@ Release tarballs are available at:
614 before the walk reaches it does not prematurely mutate its tracked
615 line ranges, making it safer for potential lookahead evaluations.
616
515 - Needs review.
617 + Waiting for review.
618 + cf. <xmqqjyqk3w7d.fsf@gitster.g>
619 + cf. <CAC2QwmKP16cyw0get3hEWP8GjcFkUHB3uXxcQi9hBCCM-B+ECw@mail.gmail.com>
620 source: <pull.2169.git.1784143793613.gitgitgadget@gmail.com>
621
622
@@ -591,6 +695,7 @@ Release tarballs are available at:
695
696 Waiting for response.
697 cf. <f8050598-392f-44c9-8d66-0454740a7a12@kdbg.org>
698 + cf. <a2676ec6-39d5-4220-8549-10a17daec668@hogyros.de>
699 cf. <xmqqwluuekbh.fsf@gitster.g>
700 source: <20260716-pks-reintroduce-writev-v1-0-ea9038c884bc@pks.im>
701
@@ -622,7 +727,7 @@ Release tarballs are available at:
727 source: <alQ7WKITYDXfiVn9@com-79390>
728
729
625 -* tn/packfile-uri-concurrency (2026-07-24) 3 commits
730 +* tn/packfile-uri-concurrency (2026-07-25) 3 commits
731 - fetch-pack: accept "pack" output for packfile URIs
732 - http: avoid concurrent appends to partial packs
733 - http-fetch: correct --index-pack-arg documentation
@@ -634,9 +739,11 @@ Release tarballs are available at:
739 'fetch-pack' command has also been updated to tolerate pre-existing
740 '.keep' files.
741
637 - Needs review.
638 - cf. <xmqqldb19evx.fsf@gitster.g>
639 - source: <cover.1784874850.git.tnyman@openai.com>
742 + Expecting a reroll.
743 + cf. <20260726092027.GA3529827@coredump.intra.peff.net>
744 + cf. <20260726102712.GA3535709@coredump.intra.peff.net>
745 + cf. <20260726100421.12648-1-tnyman@openai.com>
746 + source: <cover.1785047139.git.tnyman@openai.com>
747
748
749 * rs/tempfile-wo-the-repository (2026-07-14) 5 commits
@@ -720,6 +827,8 @@ Release tarballs are available at:
827
828 Waiting for response.
829 cf. <690b965e-5f07-4aa4-a64c-96e60a86d73b@gmail.com>
830 + cf. <xmqqh5m494yh.fsf@gitster.g>
831 + cf. <b4cf8f14-1ffa-4395-bc3e-936538574665@gmail.com>
832 source: <20260711-fz-autosquash-empty-v3-1-d227b63eb511@gmail.com>
833
834
@@ -758,7 +867,10 @@ Release tarballs are available at:
867 database backends to implement their own housekeeping services.
868
869 Waiting for response.
870 + cf. <xmqqh5m2yhkm.fsf@gitster.g>
871 cf. <xmqqwluyyhv1.fsf@gitster.g>
872 + cf. <amCmwKjbq2aNt8mZ@pks.im>
873 + cf. <xmqqwluhvhtu.fsf@gitster.g>
874 source: <20260713-b4-pks-odb-optimize-v2-0-9c2c3ee94b38@pks.im>
875
876
@@ -803,7 +915,7 @@ Release tarballs are available at:
915 script on repositories already managed by the new tool.
916
917 Expecting a reroll.
806 - cf. <27215.27575.968985.583226@chiark.greenend.org.uk>
918 + cf. <27219.20156.438730.881821@chiark.greenend.org.uk>
919 source: <20260706115816.20267-1-ijackson@chiark.greenend.org.uk>
920
921
@@ -840,7 +952,8 @@ Release tarballs are available at:
952 test_path_is_missing() helper functions instead of raw 'test -[fde]'
953 commands.
954
843 - Waiting for response.
955 + Waiting for response, stalled.
956 + cf. <xmqqmrwbsybn.fsf@gitster.g>
957 cf. <akTKHfKPsP3-Rn31@pks.im>
958 source: <20260630020220.1559190-1-bblima@usp.br>
959
@@ -900,9 +1013,10 @@ Release tarballs are available at:
1013
1014 Ejected for now, as it causes too many evil merges with other topics.
1015
903 - Needs review.
904 - cf. <alR9GDNTbdjWB4dq@szeder.dev>
905 - cf. <2d455ecf-972e-e3ce-54bc-683050c04282@gmx.de>
1016 + Waiting for response.
1017 + cf. <xmqqqzkx9t95.fsf@gitster.g>
1018 + cf. <xmqqjyqpb96n.fsf@gitster.g>
1019 + cf. <al6Yz_QMlyU1GETv@fruit.crustytoothpaste.net>
1020 source: <20260713-pks-libgit-in-subdir-v4-0-696240876eb1@pks.im>
1021
1022
@@ -914,6 +1028,7 @@ Release tarballs are available at:
1028 - diff: emit -L hunk headers via xdiff's formatter
1029 - diff: simplify the line-range filter by classifying removals immediately
1030 - diff: rename and group the line-range filter for clarity
1031 + (this branch is used by mm/diff-process-hunks.)
1032
1033 The 'git log -L<range>:<path>' command has been taught to limit
1034 various 'diff' operations, such as '--stat', '--check', and '-G', to
@@ -1004,6 +1119,7 @@ Release tarballs are available at:
1119 + t1006: extract helper functions into new 'lib-cat-file.sh'
1120 + cat-file: declare loop counter inside for()
1121 + transport-helper: fix memory leak of helper on disconnect
1122 + (this branch is used by ps/cat-file-remote-object-info-type.)
1123
1124 The 'remote-object-info' command has been added to 'git cat-file
1125 --batch-command', allowing clients to request object metadata
@@ -1016,16 +1132,18 @@ Release tarballs are available at:
1132 source: <20260724-ps-eric-work-rebase-v21-0-ba67f024fdff@gmail.com>
1133
1134
1019 -* mm/diff-process-hunks (2026-07-15) 9 commits
1020 - . line-log: consult diff process for range tracking
1021 - . diff: consult diff process for --stat counts
1022 - . blame: consult diff process for no-hunk detection
1023 - . diff: bypass diff process with --no-ext-diff and in format-patch
1024 - . diff: add long-running diff process via diff.<driver>.process
1025 - . sub-process: separate process lifecycle from hashmap management
1026 - . userdiff: add diff.<driver>.process config
1027 - . xdiff: support external hunks via xpparam_t
1028 - . gitattributes: document how external diff drivers relate to diff features
1135 +* mm/diff-process-hunks (2026-07-26) 10 commits
1136 + - line-log: consult diff process for range tracking
1137 + - diff: consult diff process for --stat counts
1138 + - blame: consult diff process for no-hunk detection
1139 + - diff: bypass diff process with --no-ext-diff and in format-patch
1140 + - diff: add long-running diff process via diff.<driver>.process
1141 + - sub-process: separate process lifecycle from hashmap management
1142 + - userdiff: add diff.<driver>.process config
1143 + - xdiff: support external hunks via xpparam_t
1144 + - gitattributes: document how external diff drivers relate to diff features
1145 + - Merge branch 'mm/line-log-limited-ops' into mm/diff-process-hunks
1146 + (this branch uses mm/line-log-limited-ops.)
1147
1148 A new 'diff.<driver>.process' configuration has been introduced to
1149 allow a long-running external process to act as a hunk provider,
@@ -1035,9 +1153,8 @@ Release tarballs are available at:
1153
1154 Ejected for now, as it conflicts badly with 'mm/line-log-limited-ops'.
1155
1038 - Expecting a reroll.
1039 - cf. <CAC2QwmKRp90hmBAckug9PPvvD53Pi53q5csZhi15LRhzdQasQg@mail.gmail.com>
1040 - source: <pull.2120.v5.git.1784149323.gitgitgadget@gmail.com>
1156 + Needs review.
1157 + source: <pull.2120.v6.git.1785091889.gitgitgadget@gmail.com>
1158
1159
1160 * ty/migrate-trust-executable-bit (2026-07-20) 4 commits
@@ -1069,7 +1186,7 @@ Release tarballs are available at:
1186 source: <cover.1779792311.git.erik@cervined.in>
1187
1188
1072 -* hn/branch-delete-merged (2026-07-24) 7 commits
1189 +* hn/branch-delete-merged (2026-07-25) 7 commits
1190 - branch: add --dry-run for --delete-merged
1191 - branch: add branch.<name>.deleteMerged opt-out
1192 - branch: add --delete-merged <branch>
@@ -1083,9 +1200,8 @@ Release tarballs are available at:
1200 remote-tracking branches.
1201
1202 Will merge to 'next'?
1086 - cf. <9b9b9a2c-dd0f-44f8-b80e-565eed9a55a8@gmail.com>
1087 - cf. <xmqqik6an5t3.fsf@gitster.g>
1088 - source: <pull.2285.v21.git.git.1784889377.gitgitgadget@gmail.com>
1203 + cf. <xmqqy0ez14s9.fsf@gitster.g>
1204 + source: <pull.2285.v23.git.git.1784979136.gitgitgadget@gmail.com>
1205
1206
1207 * ps/shift-root-in-graph (2026-07-14) 7 commits
@@ -1126,5 +1242,5 @@ Release tarballs are available at:
1242 yielding significant speedups for queries with one-sided histories.
1243
1244 Needs review.
1129 - cf. <xmqqse5en8wz.fsf@gitster.g>
1245 + cf. <CABPp-BGATrNJyT7trzUzAMB_v-1ssVe_SRqp+281X5GzU=2eow@mail.gmail.com>
1246 source: <pull.2149.v6.git.1783776466.gitgitgadget@gmail.com>