What's cooking (2026/03 #09)

Junio C Hamano committed Mar 23, 2026 at 15:28 UTC 98b621f6d3494cb11042daad3bdfb0552afcd24c
1 file changed +178 -124
whats-cooking.txt
+178 -124
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Mar 2026, #08)
3 -X-master-at: 6e8d538aab8fe4dd07ba9fb87b5c7edcfa5706ad
4 -X-next-at: aef58811091ead010da1c5dc590e2731c9cbcefe
2 +Subject: What's cooking in git.git (Mar 2026, #09)
3 +X-master-at: 1080981ddb03a072f1e6b55c6325c2af731e733c
4 +X-next-at: aa363f00f1017ba2d0ed58153d65d48a48e616ea
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Mar 2026, #08)
7 +What's cooking in git.git (Mar 2026, #09)
8 -----------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -45,9 +45,136 @@ Release tarballs are available at:
45
46 https://www.kernel.org/pub/software/scm/git/
47
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
54 +
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>
58 +
59 +
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
65 +
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>
70 +
71 +
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
76 +
77 + Small code clean-up around the constness area.
78 + source: <3ad40c3d0762c2e8c14792dfb68cba9f63a883a3.1773026586.git.collin.funk1@gmail.com>
79 +
80 +
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"
84 +
85 + Adjust test-lint to allow "sed -E" to use ERE in the patterns.
86 + source: <xmqq3425lvtq.fsf@gitster.g>
87 +
88 +
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
92 +
93 + Test updates.
94 + source: <pull.2067.v2.git.1773183022175.gitgitgadget@gmail.com>
95 +
96 +
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
100 +
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>
104 +
105 +
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
109 +
110 + Code clean-up.
111 + source: <20260312164203.964033-1-cat@malon.dev>
112 +
113 --------------------------------------------------
114 [New Topics]
115
116 +* ps/graph-lane-limit (2026-03-23) 3 commits
117 + - graph: add documentation and tests about --graph-lane-limit
118 + - graph: truncate graph visual output
119 + - graph: add --graph-lane-limit option
120 +
121 + The graph output from commands like "git log --graph" can now be
122 + limited to a specified number of lanes, preventing overly wide output
123 + in repositories with many branches.
124 +
125 + Needs review.
126 + source: <20260323215935.74486-1-pabloosabaterr@gmail.com>
127 +
128 +
129 +* rs/use-strvec-pushv (2026-03-19) 1 commit
130 + - use strvec_pushv() to add another strvec
131 +
132 + Code paths that loop over another array to push each element into a
133 + strvec have been rewritten to use strvec_pushv() instead.
134 +
135 + Will merge to 'next'.
136 + source: <084f3b43-91ac-4553-8305-03944e97eaa6@web.de>
137 +
138 +
139 +* cc/promisor-auto-config-url (2026-03-23) 16 commits
140 + - doc: promisor: improve acceptFromServer entry
141 + - promisor-remote: auto-configure unknown remotes
142 + - promisor-remote: trust known remotes matching acceptFromServerUrl
143 + - promisor-remote: introduce promisor.acceptFromServerUrl
144 + - t5710: use proper file:// URIs for absolute paths
145 + - promisor-remote: refactor should_accept_remote() control flow
146 + - promisor-remote: pass config entry to all_fields_match() directly
147 + - promisor-remote: add 'local_name' to 'struct promisor_info'
148 + - promisor-remote: remove the 'accepted' strvec
149 + - promisor-remote: keep accepted promisor_info structs alive
150 + - promisor-remote: refactor accept_from_server()
151 + - promisor-remote: refactor has_control_char()
152 + - promisor-remote: clarify that a remote is ignored
153 + - urlmatch: add url_is_valid_pattern() helper
154 + - urlmatch: change 'allow_globs' arg to bool
155 + - promisor-remote: try accepted remotes before others in get_direct()
156 +
157 + Promisor remote handling is enhanced to auto-configure remotes based
158 + on a URL whitelist.
159 +
160 + Needs review.
161 + source: <20260323080520.887550-1-christian.couder@gmail.com>
162 +
163 +
164 +* kj/refspec-parsing-outside-repository (2026-03-21) 2 commits
165 + - refspec: fix typo in comment
166 + - refspec: safely parse refspecs outside a repository
167 +
168 + "git ls-remote '+refs/tags/*:refs/tags/*' https://..." run outside a
169 + repository would dereference a NULL while trying to see if the given
170 + refspec is a single-object refspec, which has been corrected.
171 +
172 + Will merge to 'next'?
173 + source: <20260322023557.15907-1-jayatheerthkulkarni2005@gmail.com>
174 +
175 +--------------------------------------------------
176 +[Cooking]
177 +
178 * jk/diff-highlight-identical-pairs (2026-03-17) 1 commit
179 (merged to 'next' on 2026-03-20 at a8aa5bd14e)
180 + contrib/diff-highlight: do not highlight identical pairs
@@ -60,7 +187,7 @@ Release tarballs are available at:
187 source: <20260317230223.GA716496@coredump.intra.peff.net>
188
189
63 -* jk/diff-highlight-more (2026-03-19) 9 commits
190 +* 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
@@ -76,22 +203,11 @@ Release tarballs are available at:
203 updates, test improvements, and color configuration handling.
204
205 Will merge to 'next'.
79 - source: <20260320004138.GA3653623@coredump.intra.peff.net>
80 -
81 -
82 -* js/macos-homebrew-forgets-reg-enhanced (2026-03-20) 1 commit
83 - - osx-clang: work around Homebrew's clang lacking REG_ENHANCED
84 -
85 - The build on macOS with Clang is fixed to work around a Homebrew change
86 - that exposed an issue with missing REG_ENHANCED.
87 -
88 - Will merge to 'next'?
89 - source: <d340af9e-334c-4e81-e58a-fc3dea73ebdd@gmx.de>
206 + source: <20260323060139.GA10215@coredump.intra.peff.net>
207
208
92 -* ps/fsck-wo-the-repository (2026-03-20) 14 commits
209 +* ps/fsck-wo-the-repository (2026-03-23) 12 commits
210 - builtin/fsck: stop using `the_repository` in error reporting
94 - - fsck: provide repository in `struct fsck_report_object`
211 - builtin/fsck: stop using `the_repository` when marking objects
212 - builtin/fsck: stop using `the_repository` when checking packed objects
213 - builtin/fsck: stop using `the_repository` with loose objects
@@ -99,17 +215,16 @@ Release tarballs are available at:
215 - builtin/fsck: stop using `the_repository` when checking refs
216 - builtin/fsck: stop using `the_repository` when snapshotting refs
217 - builtin/fsck: fix trivial dependence on `the_repository`
102 - - fsck: stop relying on global state via `parse_oid_hex()`
103 - - fsck: drop `the_repository` in `fsck_set_msg_types()`
104 - - fsck: refactor interface to parse fsck options
105 - - fsck: drop `the_repository` in `fsck_finish()`
106 - - fsck: drop `the_repository` in `fsck_walk()`
218 + - fsck: drop USE_THE_REPOSITORY
219 + - fsck: store repository in fsck options
220 + - fsck: initialize fsck options via a function
221 + - fetch-pack: move fsck options into function scope
222
223 Internals of "git fsck" have been refactored to not depend on the
224 global `the_repository` variable.
225
111 - Comments?
112 - source: <20260320-b4-pks-fsck-without-the-repository-v1-0-6594f997926b@pks.im>
226 + Needs review.
227 + source: <20260323-b4-pks-fsck-without-the-repository-v2-0-e8dc79bca651@pks.im>
228
229
230 * tb/stdin-packs-excluded-but-open (2026-03-19) 5 commits
@@ -132,7 +247,8 @@ Release tarballs are available at:
247 The value of a wrong pointer variable was referenced in an error
248 message that reported that it shouldn't be NULL.
249
135 - Will merge to 'next'?
250 + Reproduction being discussed.
251 + cf. <994f92e9-3576-455a-a142-0fefc559131c@gmail.com>
252 source: <20260320114823.3151961-1-ysinghcin@gmail.com>
253
254
@@ -146,8 +262,6 @@ Release tarballs are available at:
262 cf. <xmqqfr5tdbpc.fsf@gitster.g>
263 source: <20260320-bisect-terms-v1-1-c30c9540542a@schlaraffenlan.de>
264
149 ---------------------------------------------------
150 -[Cooking]
265
266 * jc/whitespace-incomplete-line (2026-03-17) 1 commit
267 - apply: fix new-style empty context line triggering incomplete-line check
@@ -167,7 +281,8 @@ Release tarballs are available at:
281 source: <20260317155230.619378-1-shreyanshpaliwalcmsmn@gmail.com>
282
283
170 -* ds/backfill-revs (2026-03-16) 5 commits
284 +* ds/backfill-revs (2026-03-23) 6 commits
285 + - t5620: test backfill's unknown argument handling
286 - path-walk: support wildcard pathspecs for blob filtering
287 - backfill: work with prefix pathspecs
288 - backfill: accept revision arguments
@@ -176,16 +291,17 @@ Release tarballs are available at:
291
292 `git backfill` learned to accept revision and pathspec arguments.
293
179 - Needs review.
180 - source: <pull.2070.git.1773707361.gitgitgadget@gmail.com>
294 + Comments?
295 + source: <pull.2070.v2.git.1774266019.gitgitgadget@gmail.com>
296
297
298 * jw/t2203-status-pipe-fix (2026-03-16) 1 commit
184 - - t2203: avoid suppressing git status exit code
299 + (merged to 'next' on 2026-03-23 at 521c6eb44b)
300 + + t2203: avoid suppressing git status exit code
301
302 Test clean-up.
303
188 - Will merge to 'next'.
304 + Will merge to 'master'.
305 source: <20260317011544.65952-1-jerrywang183@yahoo.com>
306
307
@@ -232,22 +348,24 @@ Release tarballs are available at:
348
349
350 * jw/object-name-bitset-to-enum (2026-03-18) 1 commit
235 - - object-name: turn INTERPRET_BRANCH_* constants into enum values
351 + (merged to 'next' on 2026-03-23 at 881af371ef)
352 + + object-name: turn INTERPRET_BRANCH_* constants into enum values
353
354 The unsigned integer that is used as an bitset to specify the kind
355 of branches interpret_branch_name() function has been changed to
356 use a dedicated enum type.
357
241 - Will merge to 'next'.
358 + Will merge to 'master'.
359 source: <20260318190942.22595-1-jerrywang183@yahoo.com>
360
361
362 * ai/t2107-test-path-is-helpers (2026-03-18) 1 commit
246 - - t2107: modernize path existence check
363 + (merged to 'next' on 2026-03-23 at 56d10e5f76)
364 + + t2107: modernize path existence check
365
366 Test cleanup.
367
250 - Will merge to 'next'.
368 + Will merge to 'master'.
369 source: <pull.2071.v2.git.1773864455956.gitgitgadget@gmail.com>
370
371
@@ -268,7 +386,8 @@ Release tarballs are available at:
386 "git push" learned to take a "remote group" name to push to, which
387 causes pushes to multiple places, just like "git fetch" would do.
388
271 - Will merge to 'next'?
389 + Expecting a (hopefully small and final) reroll?
390 + cf. <20260318204028.1010487-1-usmanakinyemi202@gmail.com>
391 source: <20260318204028.1010487-1-usmanakinyemi202@gmail.com>
392
393
@@ -326,8 +445,7 @@ Release tarballs are available at:
445
446 Test clean-up.
447
329 - Will merge to 'next'?
330 - cf. <8669d87c1b7f96dd0de37dabfb9011c8745a17c9.camel@gmail.com>
448 + Will merge to 'next'.
449 source: <20260319180803.164335-1-elkhatabibilal@gmail.com>
450
451
@@ -447,15 +565,16 @@ Release tarballs are available at:
565
566
567 * jw/apply-corrupt-location (2026-03-17) 3 commits
450 - - apply: report input location in binary and garbage patch errors
451 - - apply: report input location in header parsing errors
452 - - apply: report the location of corrupt patches
568 + (merged to 'next' on 2026-03-23 at 18e9b8f91f)
569 + + apply: report input location in binary and garbage patch errors
570 + + apply: report input location in header parsing errors
571 + + apply: report the location of corrupt patches
572
573 "git apply" now reports the name of the input file along with the
574 line number when it encounters a corrupt patch, and correctly
575 resets the line counter when processing multiple patch files.
576
458 - Will merge to 'next'.
577 + Will merge to 'master'.
578 source: <20260317162321.71812-1-jerrywang183@yahoo.com>
579
580
@@ -479,7 +598,7 @@ Release tarballs are available at:
598 source: <20260315081032.497-1-riteshjd75@gmail.com>
599
600
482 -* mf/format-patch-commit-list-format (2026-03-19) 9 commits
601 +* 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()
@@ -495,8 +614,8 @@ Release tarballs are available at:
614 --commit-list-format` (formerly `--cover-letter-format`) option,
615 including a new "modern" preset and better CLI ergonomics.
616
498 - Comments?
499 - source: <cover.1773959395.git.mroik@delayed.space>
617 + Will merge to 'next'.
618 + source: <cover.1774284699.git.mroik@delayed.space>
619
620
621 * mf/t0008-cleanup (2026-03-15) 1 commit
@@ -609,40 +728,6 @@ Release tarballs are available at:
728 source: <20260310095017.131957-1-cat@malon.dev>
729
730
612 -* ms/t7605-test-path-is-helpers (2026-03-10) 1 commit
613 - (merged to 'next' on 2026-03-16 at 49facdec9f)
614 - + t7605: use test_path_is_file instead of test -f
615 -
616 - Test updates.
617 -
618 - Will merge to 'master'.
619 - source: <pull.2067.v2.git.1773183022175.gitgitgadget@gmail.com>
620 -
621 -
622 -* bb/imap-send-openssl-4.0-prep (2026-03-11) 3 commits
623 - (merged to 'next' on 2026-03-16 at 0baab97778)
624 - + imap-send: move common code into function host_matches()
625 - + imap-send: use the OpenSSL API to access the subject common name
626 - + imap-send: use the OpenSSL API to access the subject alternative names
627 -
628 - "imap-send" used to use functions whose use is going to be removed
629 - with OpenSSL 4.0; rewrite them using public API that has been
630 - available since OpenSSL 1.1 since 2016 or so.
631 -
632 - Will merge to 'master'.
633 - source: <20260311121107.1122387-1-dev+git@drbeat.li>
634 -
635 -
636 -* jc/test-allow-sed-with-ere (2026-03-11) 1 commit
637 - (merged to 'next' on 2026-03-16 at be057bed35)
638 - + t: allow use of "sed -E"
639 -
640 - Adjust test-lint to allow "sed -E" to use ERE in the patterns.
641 -
642 - Will merge to 'master'.
643 - source: <xmqq3425lvtq.fsf@gitster.g>
644 -
645 -
731 * kh/doc-interpret-trailers-1 (2026-03-16) 4 commits
732 (merged to 'next' on 2026-03-20 at 6acc8b5a8a)
733 + interpret-trailers: use placeholder instead of *
@@ -656,16 +741,6 @@ Release tarballs are available at:
741 source: <V2_CV_doc_interpret-tr_synopsis.50a@msgid.xyz>
742
743
659 -* ty/mktree-wo-the-repository (2026-03-12) 1 commit
660 - (merged to 'next' on 2026-03-16 at 8d20ceb853)
661 - + builtin/mktree: remove USE_THE_REPOSITORY_VARIABLE
662 -
663 - Code clean-up.
664 -
665 - Will merge to 'master'.
666 - source: <20260312164203.964033-1-cat@malon.dev>
667 -
668 -
744 * mm/line-log-use-standard-diff-output (2026-03-16) 4 commits
745 - doc: note that -L supports patch formatting and pickaxe options
746 - t4211: add tests for -L with standard diff options
@@ -700,17 +775,6 @@ Release tarballs are available at:
775 source: <20260320115211.177351-1-adrian.ratiu@collabora.com>
776
777
703 -* cf/constness-fixes (2026-03-08) 2 commits
704 - (merged to 'next' on 2026-03-13 at 3c80964399)
705 - + dir: avoid -Wdiscarded-qualifiers in remove_path()
706 - + bloom: remove a misleading const qualifier
707 -
708 - Small code clean-up around the constness area.
709 -
710 - Will merge to 'master'.
711 - source: <3ad40c3d0762c2e8c14792dfb68cba9f63a883a3.1773026586.git.collin.funk1@gmail.com>
712 -
713 -
778 * ab/clone-default-object-filter (2026-03-14) 1 commit
779 - clone: add clone.<url>.defaultObjectFilter config
780
@@ -856,17 +920,6 @@ Release tarballs are available at:
920 source: <pull.2147.v8.git.git.1772648125.gitgitgadget@gmail.com>
921
922
859 -* ac/help-sort-correctly (2026-03-11) 1 commit
860 - (merged to 'next' on 2026-03-16 at db220e143f)
861 - + help: cleanup the contruction of keys_uniq
862 -
863 - The code in "git help" that shows configuration items in sorted
864 - order was awkwardly organized and prone to bugs.
865 -
866 - Will merge to 'master'.
867 - source: <20260311192453.62213-1-amishhhaaaa@gmail.com>
868 -
869 -
923 * sa/replay-revert (2026-03-12) 2 commits
924 - replay: add --revert mode to reverse commit changes
925 - sequencer: extract revert message formatting into shared function
@@ -909,17 +962,6 @@ Release tarballs are available at:
962 source: <20260320135311.331463-1-adrian.ratiu@collabora.com>
963
964
912 -* ng/submodule-default-remote (2026-03-03) 1 commit
913 - (merged to 'next' on 2026-03-16 at d41fd28450)
914 - + submodule: fetch missing objects from default remote
915 -
916 - Instead of hardcoded 'origin', use the configured default remote
917 - when fetching from submodules.
918 -
919 - Will merge to 'master'.
920 - source: <20260303234044.105157-1-nasser.grainawi@oss.qualcomm.com>
921 -
922 -
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
@@ -976,6 +1018,18 @@ Release tarballs are available at:
1018 Will merge to 'master'.
1019 source: <cover.1771959555.git.me@ttaylorr.com>
1020
1021 +
1022 +* js/macos-homebrew-forgets-reg-enhanced (2026-03-20) 1 commit
1023 + . osx-clang: work around Homebrew's clang lacking REG_ENHANCED
1024 +
1025 + The build on macOS with Clang is fixed to work around a Homebrew change
1026 + that exposed an issue with missing REG_ENHANCED.
1027 +
1028 + No longer needed.
1029 + cf. <6c108696-2d41-4fa1-9662-fbf6db97f767@web.de>
1030 + cf. <458ad3c1-96df-4575-ee42-e6eb754f25f6@gmx.de>
1031 + source: <d340af9e-334c-4e81-e58a-fc3dea73ebdd@gmx.de>
1032 +
1033 --------------------------------------------------
1034 [Discarded]
1035