What's cooking (2026/03 #10)

Junio C Hamano committed Mar 24, 2026 at 15:39 UTC 0c7eaa2d831478b4a2a09f010a616b44eaea5557
1 file changed +179 -247
whats-cooking.txt
+179 -247
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Mar 2026, #09)
3 -X-master-at: 1080981ddb03a072f1e6b55c6325c2af731e733c
4 -X-next-at: aa363f00f1017ba2d0ed58153d65d48a48e616ea
2 +Subject: What's cooking in git.git (Mar 2026, #10)
3 +X-master-at: ce74208c2fa13943fffa58f168ac27a76d0eb789
4 +X-next-at: 1066ffbbbe6c1c2269adf9776976e2ba993621db
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Mar 2026, #09)
7 +What's cooking in git.git (Mar 2026, #10)
8 -----------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -48,71 +48,152 @@ Release tarballs are available at:
48 --------------------------------------------------
49 [Graduated to 'master']
50
51 -* ac/help-sort-correctly (2026-03-11) 1 commit
52 - (merged to 'next' on 2026-03-16 at db220e143f)
53 - + help: cleanup the contruction of keys_uniq
51 +* dd/cocci-do-not-pass-strbuf-by-value (2026-03-15) 3 commits
52 + (merged to 'next' on 2026-03-18 at a2ffed1127)
53 + + stash: do not pass strbuf by value
54 + + coccinelle: detect struct strbuf passed by value
55 + + Merge branch 'dd/list-objects-filter-options-wo-strbuf-split' into dd/cocci-do-not-pass-strbuf-by-value
56 +
57 + Add a coccinelle rule to break the build when "struct strbuf" gets
58 + passed by value.
59 + source: <20260315094445.19849-1-deveshigurgaon@gmail.com>
60 +
61 +
62 +* gj/user-manual-fix-grep-example (2026-03-16) 1 commit
63 + (merged to 'next' on 2026-03-17 at dbf9137a9d)
64 + + doc: fix git grep args order in Quick Reference
65 +
66 + Fix an example in the user-manual.
67 + source: <pull.2069.git.1773670536808.gitgitgadget@gmail.com>
68 +
69 +
70 +* jk/transport-color-leakfix (2026-03-14) 1 commit
71 + (merged to 'next' on 2026-03-17 at c2d7c74d11)
72 + + transport: plug leaks in transport_color_config()
73 +
74 + Leakfix.
75 + source: <20260314160814.GA918806@coredump.intra.peff.net>
76 +
77 +
78 +* jt/fast-import-sign-again (2026-03-12) 3 commits
79 + (merged to 'next' on 2026-03-17 at e04808d5f2)
80 + + fast-import: add mode to sign commits with invalid signatures
81 + + gpg-interface: allow sign_buffer() to use default signing key
82 + + commit: remove unused forward declaration
83 +
84 + "git fast-import" learned to optionally replace signature on
85 + commits whose signatures get invalidated due to replaying by
86 + signing afresh.
87 + source: <20260313013938.2742124-1-jltobler@gmail.com>
88
55 - The code in "git help" that shows configuration items in sorted
56 - order was awkwardly organized and prone to bugs.
57 - source: <20260311192453.62213-1-amishhhaaaa@gmail.com>
89
90 +* mf/t0008-cleanup (2026-03-15) 1 commit
91 + (merged to 'next' on 2026-03-17 at 2bb0e51243)
92 + + t0008: improve test cleanup to fix failing test
93 +
94 + Test clean-up.
95 + source: <20260316011544.13825-1-mroik@delayed.space>
96
60 -* bb/imap-send-openssl-4.0-prep (2026-03-11) 3 commits
61 - (merged to 'next' on 2026-03-16 at 0baab97778)
62 - + imap-send: move common code into function host_matches()
63 - + imap-send: use the OpenSSL API to access the subject common name
64 - + imap-send: use the OpenSSL API to access the subject alternative names
97
66 - "imap-send" used to use functions whose use is going to be removed
67 - with OpenSSL 4.0; rewrite them using public API that has been
68 - available since OpenSSL 1.1 since 2016 or so.
69 - source: <20260311121107.1122387-1-dev+git@drbeat.li>
98 +* pb/t4200-test-path-is-helpers (2026-03-16) 1 commit
99 + (merged to 'next' on 2026-03-17 at a78771f93e)
100 + + t4200: convert test -[df] checks to test_path_* helpers
101
102 + Test clean-up.
103 + source: <20260316172457.38242-1-prashantjee2025@gmail.com>
104
72 -* cf/constness-fixes (2026-03-08) 2 commits
73 - (merged to 'next' on 2026-03-13 at 3c80964399)
74 - + dir: avoid -Wdiscarded-qualifiers in remove_path()
75 - + bloom: remove a misleading const qualifier
105
77 - Small code clean-up around the constness area.
78 - source: <3ad40c3d0762c2e8c14792dfb68cba9f63a883a3.1773026586.git.collin.funk1@gmail.com>
106 +* ps/clar-wo-path-max (2026-03-16) 1 commit
107 + (merged to 'next' on 2026-03-17 at 1d2f28a677)
108 + + clar: update to fix compilation on platforms without PATH_MAX
109
110 + Clar (unit testing framework) update from the upstream.
111 + source: <20260316-b4-pks-clar-without-path-max-v1-1-40b4bc91fdc0@pks.im>
112
81 -* jc/test-allow-sed-with-ere (2026-03-11) 1 commit
82 - (merged to 'next' on 2026-03-16 at be057bed35)
83 - + t: allow use of "sed -E"
113
85 - Adjust test-lint to allow "sed -E" to use ERE in the patterns.
86 - source: <xmqq3425lvtq.fsf@gitster.g>
114 +* ps/history-split (2026-03-02) 8 commits
115 + (merged to 'next' on 2026-03-17 at 456723f018)
116 + + builtin/history: implement "split" subcommand
117 + + builtin/history: split out extended function to create commits
118 + + cache-tree: allow writing in-memory index as tree
119 + + add-patch: allow disabling editing of hunks
120 + + add-patch: add support for in-memory index patching
121 + + add-patch: remove dependency on "add-interactive" subsystem
122 + + add-patch: split out `struct interactive_options`
123 + + add-patch: split out header from "add-interactive.h"
124
125 + "git history" learned the "split" subcommand.
126 + source: <20260302-pks-history-split-v1-0-444fc987a324@pks.im>
127
89 -* ms/t7605-test-path-is-helpers (2026-03-10) 1 commit
90 - (merged to 'next' on 2026-03-16 at 49facdec9f)
91 - + t7605: use test_path_is_file instead of test -f
128 +
129 +* ps/upload-pack-buffer-more-writes (2026-03-12) 10 commits
130 + (merged to 'next' on 2026-03-18 at 138ad42ac5)
131 + + builtin/pack-objects: reduce lock contention when writing packfile data
132 + + csum-file: drop `hashfd_throughput()`
133 + + csum-file: introduce `hashfd_ext()`
134 + + sideband: use writev(3p) to send pktlines
135 + + wrapper: introduce writev(3p) wrappers
136 + + compat/posix: introduce writev(3p) wrapper
137 + + upload-pack: reduce lock contention when writing packfile data
138 + + upload-pack: prefer flushing data over sending keepalive
139 + + upload-pack: adapt keepalives based on buffering
140 + + upload-pack: fix debug statement when flushing packfile data
141 +
142 + Reduce system overhead "git upload-pack" spends on relaying "git
143 + pack-objects" output to the "git fetch" running on the other end of
144 + the connection.
145 + source: <20260313-pks-upload-pack-write-contention-v4-0-7a9668061f7f@pks.im>
146 +
147 +
148 +* rj/pack-refs-tests-path-is-helpers (2026-03-15) 1 commit
149 + (merged to 'next' on 2026-03-17 at 56374095e3)
150 + + t/pack-refs-tests: use test_path_is_missing
151
152 Test updates.
94 - source: <pull.2067.v2.git.1773183022175.gitgitgadget@gmail.com>
153 + source: <20260315081032.497-1-riteshjd75@gmail.com>
154 +
155
156 +* ss/t0410-delete-object-cleanup (2026-03-12) 1 commit
157 + (merged to 'next' on 2026-03-17 at a8d41f4c1f)
158 + + t0410: modernize delete_object helper
159
97 -* ng/submodule-default-remote (2026-03-03) 1 commit
98 - (merged to 'next' on 2026-03-16 at d41fd28450)
99 - + submodule: fetch missing objects from default remote
160 + Test clean-up.
161 + source: <20260313053159.36492-1-r.siddharth.shrimali@gmail.com>
162
101 - Instead of hardcoded 'origin', use the configured default remote
102 - when fetching from submodules.
103 - source: <20260303234044.105157-1-nasser.grainawi@oss.qualcomm.com>
163
164 +* ty/doc-diff-u-wo-number (2026-03-10) 1 commit
165 + (merged to 'next' on 2026-03-18 at 8a410154ff)
166 + + diff: document -U without <n> as using default context
167 +
168 + "git diff -U<num>" was too lenient in its command line parsing and
169 + took an empty string as a valid <num>.
170 + source: <20260310095017.131957-1-cat@malon.dev>
171
106 -* ty/mktree-wo-the-repository (2026-03-12) 1 commit
107 - (merged to 'next' on 2026-03-16 at 8d20ceb853)
108 - + builtin/mktree: remove USE_THE_REPOSITORY_VARIABLE
172
110 - Code clean-up.
111 - source: <20260312164203.964033-1-cat@malon.dev>
173 +* yc/histogram-hunk-shift-fix (2026-03-02) 1 commit
174 + (merged to 'next' on 2026-03-18 at 5e49edc821)
175 + + xdiff: re-diff shifted change groups when using histogram algorithm
176 +
177 + The final clean-up phase of the diff output could turn the result of
178 + histogram diff algorithm suboptimal, which has been corrected.
179 + source: <pull.2120.v2.git.git.1772463265865.gitgitgadget@gmail.com>
180
181 --------------------------------------------------
182 [New Topics]
183
184 +* jt/fast-import-signed-modes (2026-03-24) 4 commits
185 + - fast-import: add 'abort-if-invalid' mode to '--signed-tags=<mode>'
186 + - fast-import: add 'sign-if-invalid' mode to '--signed-tags=<mode>'
187 + - fast-import: add 'strip-if-invalid' mode to '--signed-tags=<mode>'
188 + - fast-import: add 'abort-if-invalid' mode to '--signed-commits=<mode>'
189 +
190 + Handling of signed commits and tags in fast-import has been made more
191 + configurable.
192 + source: <20260324215513.764739-1-jltobler@gmail.com>
193 +
194 +--------------------------------------------------
195 +[Cooking]
196 +
197 * ps/graph-lane-limit (2026-03-23) 3 commits
198 - graph: add documentation and tests about --graph-lane-limit
199 - graph: truncate graph visual output
@@ -126,13 +207,16 @@ Release tarballs are available at:
207 source: <20260323215935.74486-1-pabloosabaterr@gmail.com>
208
209
129 -* rs/use-strvec-pushv (2026-03-19) 1 commit
130 - - use strvec_pushv() to add another strvec
210 +* rs/use-strvec-pushv (2026-03-24) 2 commits
211 + (merged to 'next' on 2026-03-24 at 7c6487dcaf)
212 + + use strvec_pushv() to add another strvec
213 + + Merge branch 'ps/build-tweaks' into rs/use-strvec-pushv
214 + (this branch uses ps/build-tweaks.)
215
216 Code paths that loop over another array to push each element into a
217 strvec have been rewritten to use strvec_pushv() instead.
218
135 - Will merge to 'next'.
219 + Will merge to 'master'.
220 source: <084f3b43-91ac-4553-8305-03944e97eaa6@web.de>
221
222
@@ -161,19 +245,17 @@ Release tarballs are available at:
245 source: <20260323080520.887550-1-christian.couder@gmail.com>
246
247
164 -* kj/refspec-parsing-outside-repository (2026-03-21) 2 commits
248 +* kj/refspec-parsing-outside-repository (2026-03-23) 2 commits
249 - refspec: fix typo in comment
166 - - refspec: safely parse refspecs outside a repository
250 + - remote-curl: fall back to default hash outside repo
251
252 "git ls-remote '+refs/tags/*:refs/tags/*' https://..." run outside a
253 repository would dereference a NULL while trying to see if the given
254 refspec is a single-object refspec, which has been corrected.
255
256 Will merge to 'next'?
173 - source: <20260322023557.15907-1-jayatheerthkulkarni2005@gmail.com>
257 + source: <20260324015734.18470-1-jayatheerthkulkarni2005@gmail.com>
258
175 ---------------------------------------------------
176 -[Cooking]
259
260 * jk/diff-highlight-identical-pairs (2026-03-17) 1 commit
261 (merged to 'next' on 2026-03-20 at a8aa5bd14e)
@@ -188,21 +270,22 @@ Release tarballs are available at:
270
271
272 * jk/diff-highlight-more (2026-03-22) 9 commits
191 - - diff-highlight: fetch all config with one process
192 - - diff-highlight: allow module callers to pass in color config
193 - - diff-highlight: test color config
194 - - diff-highlight: use test_decode_color in tests
195 - - t: add matching negative attributes to test_decode_color
196 - - diff-highlight: check diff-highlight exit status in tests
197 - - diff-highlight: drop perl version dependency back to 5.8
198 - - diff-highlight: mention build instructions
199 - - Merge branch 'jk/diff-highlight-identical-pairs' into jk/diff-highlight-more
273 + (merged to 'next' on 2026-03-24 at e7b555cbc5)
274 + + diff-highlight: fetch all config with one process
275 + + diff-highlight: allow module callers to pass in color config
276 + + diff-highlight: test color config
277 + + diff-highlight: use test_decode_color in tests
278 + + t: add matching negative attributes to test_decode_color
279 + + diff-highlight: check diff-highlight exit status in tests
280 + + diff-highlight: drop perl version dependency back to 5.8
281 + + diff-highlight: mention build instructions
282 + + Merge branch 'jk/diff-highlight-identical-pairs' into jk/diff-highlight-more
283 (this branch uses jk/diff-highlight-identical-pairs.)
284
285 Various updates to contrib/diff-highlight, including documentation
286 updates, test improvements, and color configuration handling.
287
205 - Will merge to 'next'.
288 + Will merge to 'master'.
289 source: <20260323060139.GA10215@coredump.intra.peff.net>
290
291
@@ -305,24 +388,25 @@ Release tarballs are available at:
388 source: <20260317011544.65952-1-jerrywang183@yahoo.com>
389
390
308 -* ps/commit-graph-overflow-fix (2026-03-17) 1 commit
391 +* ps/commit-graph-overflow-fix (2026-03-23) 1 commit
392 - commit-graph: fix writing generations with dates exceeding 34 bits
393
394 Fix a regression in writing the commit-graph where commits with dates
395 exceeding 34 bits (beyond year 2514) could cause an underflow and
396 crash Git during the generation data overflow chunk writing.
397
315 - Needs review.
316 - source: <20260317-pks-commit-graph-overflow-v1-1-e6bee22cd826@pks.im>
398 + Waiting for review response.
399 + cf. <xmqq1ph92pzs.fsf@gitster.g>
400 + source: <20260324-pks-commit-graph-overflow-v2-1-843568cf8780@pks.im>
401
402
319 -* tc/replay-down-to-root (2026-03-17) 1 commit
403 +* tc/replay-down-to-root (2026-03-24) 1 commit
404 - replay: support replaying down from root commit
405
406 git replay now supports replaying down to the root commit.
407
324 - Needs review.
325 - source: <20260317-toon-replay-down-to-root-v1-1-cb5c249e15fd@iotcl.com>
408 + Will merge to 'next'?
409 + source: <20260324-toon-replay-down-to-root-v2-1-34e723489f6e@iotcl.com>
410
411
412 * mr/merge-file-object-id-worktree-fix (2026-03-10) 1 commit
@@ -403,7 +487,7 @@ Release tarballs are available at:
487 source: <xmqq4imbigvt.fsf@gitster.g>
488
489
406 -* ps/odb-generic-object-name-handling (2026-03-20) 15 commits
490 +* ps/odb-generic-object-name-handling (2026-03-20) 16 commits
491 - odb: introduce generic `odb_find_abbrev_len()`
492 - object-file: move logic to compute packed abbreviation length
493 - object-name: move logic to compute loose abbreviation length
@@ -419,6 +503,7 @@ Release tarballs are available at:
503 - oidtree: extend iteration to allow for arbitrary return codes
504 - oidtree: modernize the code a bit
505 - Merge branch 'ps/object-counting' into ps/odb-generic-object-name-handling
506 + - object-file: fix sparse 'plain integer as NULL pointer' error
507 (this branch uses ps/object-counting.)
508
509 Object name handling (disambiguation and abbreviation) has been
@@ -441,11 +526,12 @@ Release tarballs are available at:
526
527
528 * bk/t5315-test-path-is-helpers (2026-03-19) 1 commit
444 - - t5315: use test_path_is_file for loose-object check
529 + (merged to 'next' on 2026-03-24 at f7374e8e70)
530 + + t5315: use test_path_is_file for loose-object check
531
532 Test clean-up.
533
448 - Will merge to 'next'.
534 + Will merge to 'master'.
535 source: <20260319180803.164335-1-elkhatabibilal@gmail.com>
536
537
@@ -472,16 +558,6 @@ Release tarballs are available at:
558 source: <20260312214945.4050010-1-cshung@gmail.com>
559
560
475 -* ss/t0410-delete-object-cleanup (2026-03-12) 1 commit
476 - (merged to 'next' on 2026-03-17 at a8d41f4c1f)
477 - + t0410: modernize delete_object helper
478 -
479 - Test clean-up.
480 -
481 - Will merge to 'master'.
482 - source: <20260313053159.36492-1-r.siddharth.shrimali@gmail.com>
483 -
484 -
561 * ej/ref-transaction-hook-preparing (2026-03-16) 1 commit
562 (merged to 'next' on 2026-03-20 at f9b8fbb0dc)
563 + refs: add 'preparing' phase to the reference-transaction hook
@@ -531,39 +607,6 @@ Release tarballs are available at:
607 source: <cover.1773591528.git.phillip.wood@dunelm.org.uk>
608
609
534 -* dd/cocci-do-not-pass-strbuf-by-value (2026-03-15) 3 commits
535 - (merged to 'next' on 2026-03-18 at a2ffed1127)
536 - + stash: do not pass strbuf by value
537 - + coccinelle: detect struct strbuf passed by value
538 - + Merge branch 'dd/list-objects-filter-options-wo-strbuf-split' into dd/cocci-do-not-pass-strbuf-by-value
539 -
540 - Add a coccinelle rule to break the build when "struct strbuf" gets
541 - passed by value.
542 -
543 - Will merge to 'master'.
544 - source: <20260315094445.19849-1-deveshigurgaon@gmail.com>
545 -
546 -
547 -* gj/user-manual-fix-grep-example (2026-03-16) 1 commit
548 - (merged to 'next' on 2026-03-17 at dbf9137a9d)
549 - + doc: fix git grep args order in Quick Reference
550 -
551 - Fix an example in the user-manual.
552 -
553 - Will merge to 'master'.
554 - source: <pull.2069.git.1773670536808.gitgitgadget@gmail.com>
555 -
556 -
557 -* jk/transport-color-leakfix (2026-03-14) 1 commit
558 - (merged to 'next' on 2026-03-17 at c2d7c74d11)
559 - + transport: plug leaks in transport_color_config()
560 -
561 - Leakfix.
562 -
563 - Will merge to 'master'.
564 - source: <20260314160814.GA918806@coredump.intra.peff.net>
565 -
566 -
610 * jw/apply-corrupt-location (2026-03-17) 3 commits
611 (merged to 'next' on 2026-03-23 at 18e9b8f91f)
612 + apply: report input location in binary and garbage patch errors
@@ -578,64 +621,25 @@ Release tarballs are available at:
621 source: <20260317162321.71812-1-jerrywang183@yahoo.com>
622
623
581 -* ps/clar-wo-path-max (2026-03-16) 1 commit
582 - (merged to 'next' on 2026-03-17 at 1d2f28a677)
583 - + clar: update to fix compilation on platforms without PATH_MAX
584 -
585 - Clar (unit testing framework) update from the upstream.
586 -
587 - Will merge to 'master'.
588 - source: <20260316-b4-pks-clar-without-path-max-v1-1-40b4bc91fdc0@pks.im>
589 -
590 -
591 -* rj/pack-refs-tests-path-is-helpers (2026-03-15) 1 commit
592 - (merged to 'next' on 2026-03-17 at 56374095e3)
593 - + t/pack-refs-tests: use test_path_is_missing
594 -
595 - Test updates.
596 -
597 - Will merge to 'master'.
598 - source: <20260315081032.497-1-riteshjd75@gmail.com>
599 -
600 -
624 * mf/format-patch-commit-list-format (2026-03-23) 9 commits
602 - - format-patch: --commit-list-format without prefix
603 - - format-patch: add preset for --commit-list-format
604 - - format-patch: wrap generate_commit_list_cover()
605 - - format.commitListFormat: strip meaning from empty
606 - - docs/pretty-formats: add %(count) and %(total)
607 - - format-patch: rename --cover-letter-format option
608 - - format-patch: refactor generate_commit_list_cover
609 - - pretty.c: better die message %(count) and %(total)
610 - - Merge branch 'mf/format-patch-cover-letter-format' into mf/format-patch-commit-list-format
625 + (merged to 'next' on 2026-03-24 at 0f5b6702eb)
626 + + format-patch: --commit-list-format without prefix
627 + + format-patch: add preset for --commit-list-format
628 + + format-patch: wrap generate_commit_list_cover()
629 + + format.commitListFormat: strip meaning from empty
630 + + docs/pretty-formats: add %(count) and %(total)
631 + + format-patch: rename --cover-letter-format option
632 + + format-patch: refactor generate_commit_list_cover
633 + + pretty.c: better die message %(count) and %(total)
634 + + Merge branch 'mf/format-patch-cover-letter-format' into mf/format-patch-commit-list-format
635 (this branch uses mf/format-patch-cover-letter-format.)
636
637 Improve the recently introduced `git format-patch
638 --commit-list-format` (formerly `--cover-letter-format`) option,
639 including a new "modern" preset and better CLI ergonomics.
640
617 - Will merge to 'next'.
618 - source: <cover.1774284699.git.mroik@delayed.space>
619 -
620 -
621 -* mf/t0008-cleanup (2026-03-15) 1 commit
622 - (merged to 'next' on 2026-03-17 at 2bb0e51243)
623 - + t0008: improve test cleanup to fix failing test
624 -
625 - Test clean-up.
626 -
627 - Will merge to 'master'.
628 - source: <20260316011544.13825-1-mroik@delayed.space>
629 -
630 -
631 -* pb/t4200-test-path-is-helpers (2026-03-16) 1 commit
632 - (merged to 'next' on 2026-03-17 at a78771f93e)
633 - + t4200: convert test -[df] checks to test_path_* helpers
634 -
635 - Test clean-up.
636 -
641 Will merge to 'master'.
638 - source: <20260316172457.38242-1-prashantjee2025@gmail.com>
642 + source: <cover.1774284699.git.mroik@delayed.space>
643
644
645 * js/parseopt-subcommand-autocorrection (2026-03-16) 10 commits
@@ -658,20 +662,6 @@ Release tarballs are available at:
662 source: <SY0P300MB080186A23FB9582AD793F0D1CE40A@SY0P300MB0801.AUSP300.PROD.OUTLOOK.COM>
663
664
661 -* jt/fast-import-sign-again (2026-03-12) 3 commits
662 - (merged to 'next' on 2026-03-17 at e04808d5f2)
663 - + fast-import: add mode to sign commits with invalid signatures
664 - + gpg-interface: allow sign_buffer() to use default signing key
665 - + commit: remove unused forward declaration
666 -
667 - "git fast-import" learned to optionally replace signature on
668 - commits whose signatures get invalidated due to replaying by
669 - signing afresh.
670 -
671 - Will merge to 'master'.
672 - source: <20260313013938.2742124-1-jltobler@gmail.com>
673 -
674 -
665 * mf/apply-p-no-atoi (2026-03-15) 1 commit
666 (merged to 'next' on 2026-03-20 at 70a0a4313b)
667 + apply.c: fix -p argument parsing
@@ -692,6 +682,7 @@ Release tarballs are available at:
682 + contrib: move "coverage-diff.sh" script into "tools/"
683 + contrib: move "coccinelle/" directory into "tools/"
684 + Introduce new "tools/" directory
685 + (this branch is used by rs/use-strvec-pushv.)
686
687 Tweak the build infrastructure by moving tools around.
688
@@ -699,8 +690,7 @@ Release tarballs are available at:
690 source: <20260319-b4-pks-build-infra-improvements-v3-0-82f5fb3edc3f@pks.im>
691
692
702 -* ps/object-counting (2026-03-19) 8 commits
703 - - object-file: fix sparse 'plain integer as NULL pointer' error
693 +* ps/object-counting (2026-03-12) 7 commits
694 (merged to 'next' on 2026-03-17 at 8d3d9a1374)
695 + odb: introduce generic object counting
696 + odb/source: introduce generic object counting
@@ -713,19 +703,8 @@ Release tarballs are available at:
703
704 The logic to count objects has been cleaned up.
705
716 - Will merge to 'next' and then to 'master'.
717 - source: <20260312-b4-pks-odb-source-count-objects-v2-0-5914f69256bf@pks.im>
718 -
719 -
720 -* ty/doc-diff-u-wo-number (2026-03-10) 1 commit
721 - (merged to 'next' on 2026-03-18 at 8a410154ff)
722 - + diff: document -U without <n> as using default context
723 -
724 - "git diff -U<num>" was too lenient in its command line parsing and
725 - took an empty string as a valid <num>.
726 -
706 Will merge to 'master'.
728 - source: <20260310095017.131957-1-cat@malon.dev>
707 + source: <20260312-b4-pks-odb-source-count-objects-v2-0-5914f69256bf@pks.im>
708
709
710 * kh/doc-interpret-trailers-1 (2026-03-16) 4 commits
@@ -771,7 +750,8 @@ Release tarballs are available at:
750
751 Code clean-up around the recent "hooks defined in config" topic.
752
774 - Will merge to 'next'?
753 + Expecting a reroll?
754 + cf. <acJNblQ8WRGIri0V@pks.im>
755 source: <20260320115211.177351-1-adrian.ratiu@collabora.com>
756
757
@@ -832,23 +812,6 @@ Release tarballs are available at:
812 source: <20260305-cs-subtree-split-recursion-v2-0-7266be870ba9@howdoi.land>
813
814
835 -* ps/history-split (2026-03-02) 8 commits
836 - (merged to 'next' on 2026-03-17 at 456723f018)
837 - + builtin/history: implement "split" subcommand
838 - + builtin/history: split out extended function to create commits
839 - + cache-tree: allow writing in-memory index as tree
840 - + add-patch: allow disabling editing of hunks
841 - + add-patch: add support for in-memory index patching
842 - + add-patch: remove dependency on "add-interactive" subsystem
843 - + add-patch: split out `struct interactive_options`
844 - + add-patch: split out header from "add-interactive.h"
845 -
846 - "git history" learned the "split" subcommand.
847 -
848 - Will merge to 'master'.
849 - source: <20260302-pks-history-split-v1-0-444fc987a324@pks.im>
850 -
851 -
815 * pt/promisor-lazy-fetch-no-recurse (2026-03-11) 1 commit
816 - promisor-remote: prevent lazy-fetch recursion in child fetch
817
@@ -860,27 +823,6 @@ Release tarballs are available at:
823 source: <pull.2224.v3.git.git.1773238778894.gitgitgadget@gmail.com>
824
825
863 -* ps/upload-pack-buffer-more-writes (2026-03-12) 10 commits
864 - (merged to 'next' on 2026-03-18 at 138ad42ac5)
865 - + builtin/pack-objects: reduce lock contention when writing packfile data
866 - + csum-file: drop `hashfd_throughput()`
867 - + csum-file: introduce `hashfd_ext()`
868 - + sideband: use writev(3p) to send pktlines
869 - + wrapper: introduce writev(3p) wrappers
870 - + compat/posix: introduce writev(3p) wrapper
871 - + upload-pack: reduce lock contention when writing packfile data
872 - + upload-pack: prefer flushing data over sending keepalive
873 - + upload-pack: adapt keepalives based on buffering
874 - + upload-pack: fix debug statement when flushing packfile data
875 -
876 - Reduce system overhead "git upload-pack" spends on relaying "git
877 - pack-objects" output to the "git fetch" running on the other end of
878 - the connection.
879 -
880 - Will merge to 'master'.
881 - source: <20260313-pks-upload-pack-write-contention-v4-0-7a9668061f7f@pks.im>
882 -
883 -
826 * mf/format-patch-cover-letter-format (2026-03-06) 5 commits
827 (merged to 'next' on 2026-03-09 at e872adca7b)
828 + docs: add usage for the cover-letter fmt feature
@@ -933,13 +875,14 @@ Release tarballs are available at:
875
876
877 * vp/http-rate-limit-retries (2026-03-17) 3 commits
936 - - http: add support for HTTP 429 rate limit retries
937 - - strbuf_attach: fix call sites to pass correct alloc
938 - - strbuf: pass correct alloc to strbuf_attach() in strbuf_reencode()
878 + (merged to 'next' on 2026-03-24 at 9cb4ec5fad)
879 + + http: add support for HTTP 429 rate limit retries
880 + + strbuf_attach: fix call sites to pass correct alloc
881 + + strbuf: pass correct alloc to strbuf_attach() in strbuf_reencode()
882
883 The HTTP transport learned to react to "429 Too Many Requests".
884
942 - Will merge to 'next'.
885 + Will merge to 'master'.
886 cf. <ab4RIZr7b49VKjR9@nand.local>
887 source: <pull.2008.v6.git.1773752435.gitgitgadget@gmail.com>
888
@@ -962,17 +905,6 @@ Release tarballs are available at:
905 source: <20260320135311.331463-1-adrian.ratiu@collabora.com>
906
907
965 -* yc/histogram-hunk-shift-fix (2026-03-02) 1 commit
966 - (merged to 'next' on 2026-03-18 at 5e49edc821)
967 - + xdiff: re-diff shifted change groups when using histogram algorithm
968 -
969 - The final clean-up phase of the diff output could turn the result of
970 - histogram diff algorithm suboptimal, which has been corrected.
971 -
972 - Will merge to 'master'.
973 - source: <pull.2120.v2.git.git.1772463265865.gitgitgadget@gmail.com>
974 -
975 -
908 * en/xdiff-cleanup-3 (2026-01-03) 11 commits
909 . SQUASH??? cocci
910 . xdiff: move xdl_cleanup_records() from xprepare.c to xdiffi.c