What's cooking (2026/03 #12)
Junio C Hamano committed
Mar 30, 2026 at 16:28 UTC
8933d95b25518259e043ebee9eafce4a323281b2
1 file changed
+375
-335
whats-cooking.txt
+375
-335
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
-Subject: What's cooking in git.git (Mar 2026, #11)
3
-X-master-at: 41688c1a2312f62f44435e1a6d03b4b904b5b0ec
4
-X-next-at: 0a8c60e8ae259ec48ddcdbbda0df4b2f04610708
2
+Subject: What's cooking in git.git (Mar 2026, #12)
3
+X-master-at: 270e10ad6dda3379ea0da7efd11e4fbf2cd7a325
4
+X-next-at: 0c370356e2245450de215a847afb905bda230d11
5
Bcc: lwn@lwn.net, gitster@pobox.com
6
7
-What's cooking in git.git (Mar 2026, #11)
7
+What's cooking in git.git (Mar 2026, #12)
8
-----------------------------------------
9
10
Here are the topics that have been cooking in my tree. Commits
@@ -46,70 +46,302 @@ Release tarballs are available at:
46
https://www.kernel.org/pub/software/scm/git/
47
48
--------------------------------------------------
49
-[Graduated to 'master']
49
+[New Topics]
50
+
51
+* sa/cat-file-batch-mailmap-switch (2026-03-29) 1 commit
52
+ - cat-file: add mailmap subcommand to --batch-command
53
+
54
+ "git cat-file --batch" learns an in-line command "mailmap"
55
+ that lets the user toggle use of mailmap.
56
+
57
+ Comments?
58
+ source: <20260329082808.12609-2-siddharthasthana31@gmail.com>
59
+
60
+
61
+* sp/doc-gitignore-oowt (2026-03-28) 1 commit
62
+ - doc: gitignore: clarify pattern base for info/exclude and core.excludesFile
63
+
64
+ Doc update.
65
+
66
+ Will merge to 'next'.
67
+ source: <20260328152233.1140327-1-shreyanshpaliwalcmsmn@gmail.com>
68
+
69
+
70
+* tb/incremental-midx-part-3.3 (2026-03-29) 16 commits
71
+ - repack: allow `--write-midx=incremental` without `--geometric`
72
+ - repack: introduce `--write-midx=incremental`
73
+ - repack: implement incremental MIDX repacking
74
+ - packfile: ensure `close_pack_revindex()` frees in-memory revindex
75
+ - builtin/repack.c: convert `--write-midx` to an `OPT_CALLBACK`
76
+ - repack-geometry: prepare for incremental MIDX repacking
77
+ - repack-midx: extract `repack_fill_midx_stdin_packs()`
78
+ - repack-midx: factor out `repack_prepare_midx_command()`
79
+ - midx: expose `midx_layer_contains_pack()`
80
+ - repack: track the ODB source via existing_packs
81
+ - midx: support custom `--base` for incremental MIDX writes
82
+ - midx: introduce `--checksum-only` for incremental MIDX writes
83
+ - midx: use `strvec` for `keep_hashes`
84
+ - strvec: introduce `strvec_init_alloc()`
85
+ - midx: use `string_list` for retained MIDX files
86
+ - midx-write: handle noop writes when converting incremental chains
87
+
88
+ The repacking code has been refactored and compaction of MIDX layers
89
+ have been implemented, and incremental strategy that does not require
90
+ all-into-one repacking has been introduced.
91
+
92
+ Needs review.
93
+ source: <cover.1774820449.git.me@ttaylorr.com>
94
+
95
+
96
+* th/t6101-unhide-git-failures (2026-03-28) 1 commit
97
+ - t6101: avoid suppressing git's exit code
98
+
99
+ Test cleanup.
100
+
101
+ Will merge to 'next'.
102
+ source: <20260328135935.180646-1-vikingtc4@gmail.com>
103
+
104
+
105
+* za/t2000-modernise (2026-03-27) 1 commit
106
+ - t2000: modernise overall structure
107
+
108
+ Test cleanup.
109
+
110
+ Will merge to 'next'.
111
+ source: <20260327234019.95591-1-zakariyahali100@gmail.com>
112
+
113
+
114
+* jd/read-cache-trace-wo-the-repository (2026-03-30) 1 commit
115
+ - read-cache: use istate->repo for trace2 logging
116
51
-* ps/object-counting (2026-03-12) 7 commits
52
- (merged to 'next' on 2026-03-17 at 8d3d9a1374)
53
- + odb: introduce generic object counting
54
- + odb/source: introduce generic object counting
55
- + object-file: generalize counting objects
56
- + object-file: extract logic to approximate object count
57
- + packfile: extract logic to count number of objects
58
- + odb: stop including "odb/source.h"
59
- + Merge branch 'ps/odb-sources' into ps/object-counting
60
- (this branch is used by ps/odb-generic-object-name-handling.)
61
-
62
- The logic to count objects has been cleaned up.
63
- source: <20260312-b4-pks-odb-source-count-objects-v2-0-5914f69256bf@pks.im>
64
-
65
-
66
-* tb/incremental-midx-part-3.2 (2026-02-24) 17 commits
67
- (merged to 'next' on 2026-03-18 at 7f995e23bb)
68
- + midx: enable reachability bitmaps during MIDX compaction
69
- + midx: implement MIDX compaction
70
- + t/helper/test-read-midx.c: plug memory leak when selecting layer
71
- + midx-write.c: factor fanout layering from `compute_sorted_entries()`
72
- + midx-write.c: enumerate `pack_int_id` values directly
73
- + midx-write.c: extract `fill_pack_from_midx()`
74
- + midx-write.c: introduce `midx_pack_perm()` helper
75
- + midx: do not require packs to be sorted in lexicographic order
76
- + midx-write.c: introduce `struct write_midx_opts`
77
- + midx-write.c: don't use `pack_perm` when assigning `bitmap_pos`
78
- + t/t5319-multi-pack-index.sh: fix copy-and-paste error in t5319.39
79
- + git-multi-pack-index(1): align SYNOPSIS with 'git multi-pack-index -h'
80
- + git-multi-pack-index(1): remove non-existent incompatibility
81
- + builtin/multi-pack-index.c: make '--progress' a common option
82
- + midx: introduce `midx_get_checksum_hex()`
83
- + midx: rename `get_midx_checksum()` to `midx_get_checksum_hash()`
84
- + midx: mark `get_midx_checksum()` arguments as const
85
-
86
- Further work on incremental repacking using MIDX/bitmap
87
- source: <cover.1771959555.git.me@ttaylorr.com>
117
+ A handful of inappropriate uses of the_repository have been
118
+ rewritten to use the right repository structure instance in the
119
+ read-cache.c codepath.
120
+
121
+ Will merge to 'next'.
122
+ source: <pull.2253.v4.git.git.1774895886678.gitgitgadget@gmail.com>
123
+
124
+
125
+* jd/unpack-trees-wo-the-repository (2026-03-30) 1 commit
126
+ - unpack-trees: use explicit repository in trace2 calls
127
+
128
+ A handful of inappropriate uses of the_repository have been
129
+ rewritten to use the right repository structure instance in the
130
+ unpack-trees.c codepath.
131
+
132
+ Will merge to 'next'.
133
+ source: <pull.2258.git.git.1774901607564.gitgitgadget@gmail.com>
134
+
135
+
136
+* ps/receive-pack-updateinstead-in-worktree (2026-03-30) 3 commits
137
+ - receive-pack: use worktree HEAD for updateInstead
138
+ - t5516: clean up cloned and new-wt in denyCurrentBranch and worktrees test
139
+ - t5516: test updateInstead with worktree and unborn bare HEAD
140
+
141
+ The check in "receive-pack" to prevent a checked out branch from
142
+ getting updated via updateInstead mechanism has been corrected.
143
+
144
+ Needs review.
145
+ source: <20260330111822.165188-1-pabloosabaterr@gmail.com>
146
+
147
+
148
+* ps/setup-wo-the-repository (2026-03-30) 18 commits
149
+ - setup: stop using `the_repository` in `init_db()`
150
+ - setup: stop using `the_repository` in `create_reference_database()`
151
+ - setup: stop using `the_repository` in `initialize_repository_version()`
152
+ - setup: stop using `the_repository` in `check_repository_format()`
153
+ - setup: stop using `the_repository` in `upgrade_repository_format()`
154
+ - setup: stop using `the_repository` in `setup_git_directory()`
155
+ - setup: stop using `the_repository` in `setup_git_directory_gently()`
156
+ - setup: stop using `the_repository` in `setup_git_env()`
157
+ - setup: stop using `the_repository` in `set_git_work_tree()`
158
+ - setup: stop using `the_repository` in `setup_work_tree()`
159
+ - setup: stop using `the_repository` in `enter_repo()`
160
+ - setup: stop using `the_repository` in `verify_non_filename()`
161
+ - setup: stop using `the_repository` in `verify_filename()`
162
+ - setup: stop using `the_repository` in `path_inside_repo()`
163
+ - setup: stop using `the_repository` in `prefix_path()`
164
+ - setup: stop using `the_repository` in `is_inside_git_dir()`
165
+ - setup: stop using `the_repository` in `is_inside_worktree()`
166
+ - setup: replace use of `the_repository` in static functions
167
+
168
+ Many uses of the_repository has been updated to use a more
169
+ appropriate struct repository instance in setup.c codepath.
170
+
171
+ Needs review.
172
+ source: <20260330-pks-setup-wo-the-repository-v1-0-0d2e822837aa@pks.im>
173
+
174
+
175
+* qb/doc-git-stash-push-optionality (2026-03-30) 1 commit
176
+ - docs: fix "git stash [push]" documentation
177
+
178
+ Doc update.
179
+
180
+ Will merge to 'next'.
181
+ source: <pull.2255.v2.git.git.1774877075694.gitgitgadget@gmail.com>
182
+
183
+
184
+* kh/doc-trailers (2026-03-30) 2 commits
185
+ - doc: interpret-trailers: explain key format
186
+ - doc: interpret-trailers: stop fixating on RFC 822
187
+
188
+ Documentation updates.
189
+
190
+ Expecting a reroll.
191
+ cf. <5ba0bbcb-25a7-4ad0-ac1d-c86508eaffdd@app.fastmail.com>
192
+ source: <CV_doc_int-tr_key_format.533@msgid.xyz>
193
194
--------------------------------------------------
90
-[New Topics]
195
+[Graduated to 'master']
196
92
-* jc/test-set-e-clean (2026-03-24) 11 commits
93
- . t9902: make test "set -e" clean
94
- . t5570: make test "set -e" clean
95
- . t940?: make test "set -e" clean
96
- . t9200: make test "set -e" clean
97
- . t7508: make test "set -e" clean
98
- . tests: make svn test "set -e" clean
99
- . t7450: make test "set -e" clean
100
- . t4032: make test "set -e" clean
101
- . t6002: make test "set -e" clean
102
- . t0008: make test "set -e" clean
103
- . test-lib: catch misspelt 'test_expect_successo'
104
-
105
- The test suite harness and many individual test scripts have been
106
- updated to work correctly when 'set -e' is in effect, which helps
107
- detect misspelled test commands.
197
+* ai/t2107-test-path-is-helpers (2026-03-18) 1 commit
198
+ (merged to 'next' on 2026-03-23 at 56d10e5f76)
199
+ + t2107: modernize path existence check
200
109
- Comments?
110
- source: <20260325062114.2067946-1-gitster@pobox.com>
201
+ Test cleanup.
202
+ source: <pull.2071.v2.git.1773864455956.gitgitgadget@gmail.com>
203
+
204
+
205
+* ej/ref-transaction-hook-preparing (2026-03-16) 1 commit
206
+ (merged to 'next' on 2026-03-20 at f9b8fbb0dc)
207
+ + refs: add 'preparing' phase to the reference-transaction hook
208
+
209
+ The reference-transaction hook was taught to be triggered before
210
+ taking locks on references in the "preparing" phase.
211
+ source: <20260317023624.43070-2-eric.peijian@gmail.com>
212
213
214
+* gi/doc-boolean-config-typofix (2026-03-18) 1 commit
215
+ (merged to 'next' on 2026-03-20 at 8810624798)
216
+ + doc: add missing space on git-config page
217
+
218
+ Doc typofix.
219
+ source: <20260318210020.759128-1-gabl@gabl.ink>
220
+
221
+
222
+* jc/rerere-modern-strbuf-handling (2026-03-19) 2 commits
223
+ (merged to 'next' on 2026-03-21 at 919b766afc)
224
+ + cocci: strbuf.buf is never NULL
225
+ + rerere: update to modern representation of empty strbufs
226
+
227
+ Code clean-up overdue by 19 years.
228
+ source: <xmqq341wnvbk.fsf@gitster.g>
229
+ source: <xmqq4imbigvt.fsf@gitster.g>
230
+
231
+
232
+* jk/diff-highlight-identical-pairs (2026-03-17) 1 commit
233
+ (merged to 'next' on 2026-03-20 at a8aa5bd14e)
234
+ + contrib/diff-highlight: do not highlight identical pairs
235
+ (this branch is used by jk/diff-highlight-more.)
236
+
237
+ The handling of the incomplete lines at the end by "git
238
+ diff-highlight" has been fixed.
239
+ source: <20260317230223.GA716496@coredump.intra.peff.net>
240
+
241
+
242
+* jw/apply-corrupt-location (2026-03-17) 3 commits
243
+ (merged to 'next' on 2026-03-23 at 18e9b8f91f)
244
+ + apply: report input location in binary and garbage patch errors
245
+ + apply: report input location in header parsing errors
246
+ + apply: report the location of corrupt patches
247
+
248
+ "git apply" now reports the name of the input file along with the
249
+ line number when it encounters a corrupt patch, and correctly
250
+ resets the line counter when processing multiple patch files.
251
+ source: <20260317162321.71812-1-jerrywang183@yahoo.com>
252
+
253
+
254
+* jw/object-name-bitset-to-enum (2026-03-18) 1 commit
255
+ (merged to 'next' on 2026-03-23 at 881af371ef)
256
+ + object-name: turn INTERPRET_BRANCH_* constants into enum values
257
+
258
+ The unsigned integer that is used as an bitset to specify the kind
259
+ of branches interpret_branch_name() function has been changed to
260
+ use a dedicated enum type.
261
+ source: <20260318190942.22595-1-jerrywang183@yahoo.com>
262
+
263
+
264
+* jw/t2203-status-pipe-fix (2026-03-16) 1 commit
265
+ (merged to 'next' on 2026-03-23 at 521c6eb44b)
266
+ + t2203: avoid suppressing git status exit code
267
+
268
+ Test clean-up.
269
+ source: <20260317011544.65952-1-jerrywang183@yahoo.com>
270
+
271
+
272
+* kh/doc-interpret-trailers-1 (2026-03-16) 4 commits
273
+ (merged to 'next' on 2026-03-20 at 6acc8b5a8a)
274
+ + interpret-trailers: use placeholder instead of *
275
+ + doc: config: convert trailers section to synopsis style
276
+ + doc: interpret-trailers: normalize and fill out options
277
+ + doc: interpret-trailers: convert to synopsis style
278
+
279
+ Doc updates.
280
+ source: <V2_CV_doc_interpret-tr_synopsis.50a@msgid.xyz>
281
+
282
+
283
+* mf/apply-p-no-atoi (2026-03-15) 1 commit
284
+ (merged to 'next' on 2026-03-20 at 70a0a4313b)
285
+ + apply.c: fix -p argument parsing
286
+
287
+ "git apply -p<n>" parses <n> more carefully now.
288
+ source: <20260316005120.7079-1-mroik@delayed.space>
289
+
290
+
291
+* mr/merge-file-object-id-worktree-fix (2026-03-10) 1 commit
292
+ (merged to 'next' on 2026-03-20 at 68e1ee2045)
293
+ + merge-file: fix BUG when --object-id is used in a worktree
294
+
295
+ merge-file --object-id used to trigger a BUG when run in a linked
296
+ worktree, which has been fixed.
297
+ source: <c076edd0-9057-443b-ba37-33aacde2eede@app.fastmail.com>
298
+
299
+
300
+* ps/build-tweaks (2026-03-18) 8 commits
301
+ (merged to 'next' on 2026-03-20 at fb53cf619a)
302
+ + meson: precompile "git-compat-util.h"
303
+ + meson: compile compatibility sources separately
304
+ + git-compat-util.h: move warning infra to prepare for PCHs
305
+ + builds: move build scripts into "tools/"
306
+ + contrib: move "update-unicode.sh" script into "tools/"
307
+ + contrib: move "coverage-diff.sh" script into "tools/"
308
+ + contrib: move "coccinelle/" directory into "tools/"
309
+ + Introduce new "tools/" directory
310
+ (this branch is used by rs/use-strvec-pushv.)
311
+
312
+ Tweak the build infrastructure by moving tools around.
313
+ source: <20260319-b4-pks-build-infra-improvements-v3-0-82f5fb3edc3f@pks.im>
314
+
315
+
316
+* rs/ahead-behind-cleanup-optimization (2026-03-19) 1 commit
317
+ (merged to 'next' on 2026-03-21 at 5d8b4fa265)
318
+ + commit-reach: simplify cleanup of remaining bitmaps in ahead_behind ()
319
+
320
+ The cleanup of remaining bitmaps in "ahead_behind()" has been
321
+ simplified.
322
+ source: <21adf042-2bd1-4022-8822-9ed4985122a4@web.de>
323
+
324
+
325
+* rs/prio-queue-to-commit-stack (2026-03-17) 1 commit
326
+ (merged to 'next' on 2026-03-20 at 265cb7b28c)
327
+ + use commit_stack instead of prio_queue in LIFO mode
328
+
329
+ Uses of prio_queue as a LIFO stack of commits have been written
330
+ with commit_stack.
331
+ source: <05fc946f-6670-46e9-a058-231ee464029d@web.de>
332
+
333
+
334
+* rs/split-index-the-repo-fix (2026-03-19) 1 commit
335
+ (merged to 'next' on 2026-03-21 at d66850b2ce)
336
+ + split-index: stop using the_repository and the_hash_algo
337
+
338
+ split-index.c has been updated to not use the global the_repository
339
+ and the_hash_algo variables.
340
+ source: <944c2331-4dec-4c98-9059-f41dc204ed86@web.de>
341
+
342
+--------------------------------------------------
343
+[Cooking]
344
+
345
* jk/t0061-bat-test-update (2026-03-24) 1 commit
346
(merged to 'next' on 2026-03-26 at ffae180124)
347
+ t0061: simplify .bat test
@@ -145,7 +377,8 @@ Release tarballs are available at:
377
The experimental `git replay` command learned the `--ref=<ref>` option
378
to allow specifying which ref to update, overriding the default behavior.
379
148
- Comments?
380
+ Seems to break CI.
381
+ cf. <xmqqjyuynv99.fsf@gitster.g>
382
source: <20260325-toon-replay-arbitrary-ref-v2-0-553038702c9c@iotcl.com>
383
384
@@ -171,41 +404,33 @@ Release tarballs are available at:
404
that discarded constness when they return a pointer into a const
405
string to preserve constness.
406
174
- Comments?
407
+ Will merge to 'next'.
408
source: <20260326190243.GA412983@coredump.intra.peff.net>
409
source: <20260326192320.GA418281@coredump.intra.peff.net>
410
411
179
-* mf/format-patch-commit-list-format-doc (2026-03-26) 2 commits
412
+* mf/format-patch-commit-list-format-doc (2026-03-27) 3 commits
413
+ - format-patch: removing unconditional wrapping
414
- docs: fix --commit-list-format related entries
415
- Merge branch 'mf/format-patch-commit-list-format' into mf/format-patch-commit-list-format-doc
416
(this branch uses mf/format-patch-commit-list-format and mf/format-patch-cover-letter-format.)
417
418
Doc updates.
419
186
- Waiting for review responses.
187
- source: <20260326200643.20251-1-mroik@delayed.space>
188
-
189
-
190
-* th/t8003-unhide-git-failures (2026-03-26) 1 commit
191
- - t8003: avoid suppressing git's exit code
420
+ Will merge to 'next'.
421
+ source: <cover.1774640789.git.mroik@delayed.space>
422
193
- Test clean-up.
194
-
195
- Will merge to 'next'?
196
- source: <20260326141118.146155-1-vikingtc4@gmail.com>
423
198
-
199
-* za/t2000-test-path-is-helpers (2026-03-26) 1 commit
200
- - t2000: modernize path checks with test_path_is_* helpers
424
+* th/t8003-unhide-git-failures (2026-03-28) 2 commits
425
+ (merged to 'next' on 2026-03-30 at ad41378b07)
426
+ + t8003: modernise style
427
+ + t8003: avoid suppressing git's exit code
428
429
Test clean-up.
430
204
- Will merge to 'next'?
205
- source: <20260326192603.23961-1-zakariyahali100@gmail.com>
431
+ Will merge to 'master'.
432
+ source: <20260328132955.172262-2-vikingtc4@gmail.com>
433
207
---------------------------------------------------
208
-[Cooking]
434
435
* jt/fast-import-signed-modes (2026-03-26) 5 commits
436
- fast-import: add 'abort-if-invalid' mode to '--signed-tags=<mode>'
@@ -216,27 +441,28 @@ Release tarballs are available at:
441
442
Handling of signed commits and tags in fast-import has been made more
443
configurable.
444
+
445
+ Needs review.
446
source: <20260326191414.3783974-1-jltobler@gmail.com>
447
448
222
-* ps/graph-lane-limit (2026-03-25) 2 commits
223
- - graph: add documentation and tests about --graph-lane-limit
449
+* ps/graph-lane-limit (2026-03-27) 3 commits
450
+ - graph: add truncation mark to capped lanes
451
- graph: add --graph-lane-limit option
452
+ - graph: limit the graph width to a hard-coded max
453
454
The graph output from commands like "git log --graph" can now be
455
limited to a specified number of lanes, preventing overly wide output
456
in repositories with many branches.
457
230
- Expecting a reroll.
231
- cf. <CAN5EUNQdq7Eg+yd9ZqVGbYuKSYOhAB5rc2np7SeQT-Zc10aqDw@mail.gmail.com>
232
- source: <20260325174401.217577-1-pabloosabaterr@gmail.com>
458
+ Needs review.
459
+ source: <20260328001113.1275291-1-pabloosabaterr@gmail.com>
460
461
462
* rs/use-strvec-pushv (2026-03-24) 2 commits
463
(merged to 'next' on 2026-03-24 at 7c6487dcaf)
464
+ use strvec_pushv() to add another strvec
465
+ Merge branch 'ps/build-tweaks' into rs/use-strvec-pushv
239
- (this branch uses ps/build-tweaks.)
466
467
Code paths that loop over another array to push each element into a
468
strvec have been rewritten to use strvec_pushv() instead.
@@ -283,18 +509,6 @@ Release tarballs are available at:
509
source: <20260322023557.15907-1-jayatheerthkulkarni2005@gmail.com>
510
511
286
-* jk/diff-highlight-identical-pairs (2026-03-17) 1 commit
287
- (merged to 'next' on 2026-03-20 at a8aa5bd14e)
288
- + contrib/diff-highlight: do not highlight identical pairs
289
- (this branch is used by jk/diff-highlight-more.)
290
-
291
- The handling of the incomplete lines at the end by "git
292
- diff-highlight" has been fixed.
293
-
294
- Will merge to 'master'.
295
- source: <20260317230223.GA716496@coredump.intra.peff.net>
296
-
297
-
512
* jk/diff-highlight-more (2026-03-22) 9 commits
513
(merged to 'next' on 2026-03-24 at e7b555cbc5)
514
+ diff-highlight: fetch all config with one process
@@ -306,7 +520,6 @@ Release tarballs are available at:
520
+ diff-highlight: drop perl version dependency back to 5.8
521
+ diff-highlight: mention build instructions
522
+ Merge branch 'jk/diff-highlight-identical-pairs' into jk/diff-highlight-more
309
- (this branch uses jk/diff-highlight-identical-pairs.)
523
524
Various updates to contrib/diff-highlight, including documentation
525
updates, test improvements, and color configuration handling.
@@ -336,7 +549,7 @@ Release tarballs are available at:
549
source: <20260323-b4-pks-fsck-without-the-repository-v2-0-e8dc79bca651@pks.im>
550
551
339
-* tb/stdin-packs-excluded-but-open (2026-03-25) 5 commits
552
+* tb/stdin-packs-excluded-but-open (2026-03-27) 5 commits
553
- repack: mark non-MIDX packs above the split as excluded-open
554
- pack-objects: support excluded-open packs with --stdin-packs
555
- t7704: demonstrate failure with once-cruft objects above the geometric split
@@ -346,8 +559,8 @@ Release tarballs are available at:
559
pack-objects's --stdin-packs=follow mode learns to handle
560
excluded-but-open packs.
561
349
- Will merge to 'next'?
350
- source: <cover.1774482700.git.me@ttaylorr.com>
562
+ Will merge to 'next'.
563
+ source: <cover.1774641999.git.me@ttaylorr.com>
564
565
566
* yc/path-walk-fix-error-reporting (2026-03-20) 1 commit
@@ -391,27 +604,18 @@ Release tarballs are available at:
604
605
606
* ds/backfill-revs (2026-03-26) 6 commits
394
- - t5620: test backfill's unknown argument handling
395
- - path-walk: support wildcard pathspecs for blob filtering
396
- - backfill: work with prefix pathspecs
397
- - backfill: accept revision arguments
398
- - t5620: prepare branched repo for revision tests
399
- - revision: include object-name.h
607
+ (merged to 'next' on 2026-03-27 at d4703fdd35)
608
+ + t5620: test backfill's unknown argument handling
609
+ + path-walk: support wildcard pathspecs for blob filtering
610
+ + backfill: work with prefix pathspecs
611
+ + backfill: accept revision arguments
612
+ + t5620: prepare branched repo for revision tests
613
+ + revision: include object-name.h
614
615
`git backfill` learned to accept revision and pathspec arguments.
616
403
- Will merge to 'next'?
404
- source: <pull.2070.v3.git.1774538094.gitgitgadget@gmail.com>
405
-
406
-
407
-* jw/t2203-status-pipe-fix (2026-03-16) 1 commit
408
- (merged to 'next' on 2026-03-23 at 521c6eb44b)
409
- + t2203: avoid suppressing git status exit code
410
-
411
- Test clean-up.
412
-
617
Will merge to 'master'.
414
- source: <20260317011544.65952-1-jerrywang183@yahoo.com>
618
+ source: <pull.2070.v3.git.1774538094.gitgitgadget@gmail.com>
619
620
621
* ps/commit-graph-overflow-fix (2026-03-23) 1 commit
@@ -431,88 +635,24 @@ Release tarballs are available at:
635
636
git replay now supports replaying down to the root commit.
637
434
- Will merge to 'next'?
638
+ Will merge to 'next'.
639
source: <20260324-toon-replay-down-to-root-v2-1-34e723489f6e@iotcl.com>
640
641
438
-* mr/merge-file-object-id-worktree-fix (2026-03-10) 1 commit
439
- (merged to 'next' on 2026-03-20 at 68e1ee2045)
440
- + merge-file: fix BUG when --object-id is used in a worktree
441
-
442
- merge-file --object-id used to trigger a BUG when run in a linked
443
- worktree, which has been fixed.
444
-
445
- Will merge to 'master'.
446
- source: <c076edd0-9057-443b-ba37-33aacde2eede@app.fastmail.com>
447
-
448
-
449
-* rs/prio-queue-to-commit-stack (2026-03-17) 1 commit
450
- (merged to 'next' on 2026-03-20 at 265cb7b28c)
451
- + use commit_stack instead of prio_queue in LIFO mode
452
-
453
- Uses of prio_queue as a LIFO stack of commits have been written
454
- with commit_stack.
455
-
456
- Will merge to 'master'.
457
- source: <05fc946f-6670-46e9-a058-231ee464029d@web.de>
458
-
459
-
460
-* jw/object-name-bitset-to-enum (2026-03-18) 1 commit
461
- (merged to 'next' on 2026-03-23 at 881af371ef)
462
- + object-name: turn INTERPRET_BRANCH_* constants into enum values
463
-
464
- The unsigned integer that is used as an bitset to specify the kind
465
- of branches interpret_branch_name() function has been changed to
466
- use a dedicated enum type.
467
-
468
- Will merge to 'master'.
469
- source: <20260318190942.22595-1-jerrywang183@yahoo.com>
470
-
471
-
472
-* ai/t2107-test-path-is-helpers (2026-03-18) 1 commit
473
- (merged to 'next' on 2026-03-23 at 56d10e5f76)
474
- + t2107: modernize path existence check
475
-
476
- Test cleanup.
477
-
478
- Will merge to 'master'.
479
- source: <pull.2071.v2.git.1773864455956.gitgitgadget@gmail.com>
480
-
481
-
482
-* gi/doc-boolean-config-typofix (2026-03-18) 1 commit
483
- (merged to 'next' on 2026-03-20 at 8810624798)
484
- + doc: add missing space on git-config page
485
-
486
- Doc typofix.
487
-
488
- Will merge to 'master'.
489
- source: <20260318210020.759128-1-gabl@gabl.ink>
490
-
491
-
492
-* ua/push-remote-group (2026-03-25) 2 commits
642
+* ua/push-remote-group (2026-03-27) 3 commits
643
+ - SQUASH??? - futureproof against the attack of the "main"
644
- push: support pushing to a remote group
645
- remote: move remote group resolution to remote.c
646
647
"git push" learned to take a "remote group" name to push to, which
648
causes pushes to multiple places, just like "git fetch" would do.
649
499
- Waiting for a review response.
650
+ Expecting a reroll.
651
cf. <xmqq7bqzu1xh.fsf@gitster.g>
652
+ cf. <xmqqse9kj4rh.fsf@gitster.g>
653
source: <20260325190906.1153080-1-usmanakinyemi202@gmail.com>
654
655
504
-* jc/rerere-modern-strbuf-handling (2026-03-19) 2 commits
505
- (merged to 'next' on 2026-03-21 at 919b766afc)
506
- + cocci: strbuf.buf is never NULL
507
- + rerere: update to modern representation of empty strbufs
508
-
509
- Code clean-up overdue by 19 years.
510
-
511
- Will merge to 'master'.
512
- source: <xmqq341wnvbk.fsf@gitster.g>
513
- source: <xmqq4imbigvt.fsf@gitster.g>
514
-
515
-
656
* ps/odb-generic-object-name-handling (2026-03-20) 16 commits
657
- odb: introduce generic `odb_find_abbrev_len()`
658
- object-file: move logic to compute packed abbreviation length
@@ -535,21 +675,11 @@ Release tarballs are available at:
675
refactored to be backend-generic, moving logic into the respective
676
object database backends.
677
538
- Comments?
678
+ Will merge to 'next'.
679
+ cf. <874ilxm4wp.fsf@toon--20250203-5JQV3.mail-host-address-is-not-set>
680
source: <20260320-b4-pks-odb-source-abbrev-v2-0-fe65dcd8c735@pks.im>
681
682
542
-* rs/ahead-behind-cleanup-optimization (2026-03-19) 1 commit
543
- (merged to 'next' on 2026-03-21 at 5d8b4fa265)
544
- + commit-reach: simplify cleanup of remaining bitmaps in ahead_behind ()
545
-
546
- The cleanup of remaining bitmaps in "ahead_behind()" has been
547
- simplified.
548
-
549
- Will merge to 'master'.
550
- source: <21adf042-2bd1-4022-8822-9ed4985122a4@web.de>
551
-
552
-
683
* bk/t5315-test-path-is-helpers (2026-03-19) 1 commit
684
(merged to 'next' on 2026-03-24 at f7374e8e70)
685
+ t5315: use test_path_is_file for loose-object check
@@ -560,17 +690,6 @@ Release tarballs are available at:
690
source: <20260319180803.164335-1-elkhatabibilal@gmail.com>
691
692
563
-* rs/split-index-the-repo-fix (2026-03-19) 1 commit
564
- (merged to 'next' on 2026-03-21 at d66850b2ce)
565
- + split-index: stop using the_repository and the_hash_algo
566
-
567
- split-index.c has been updated to not use the global the_repository
568
- and the_hash_algo variables.
569
-
570
- Will merge to 'master'.
571
- source: <944c2331-4dec-4c98-9059-f41dc204ed86@web.de>
572
-
573
-
693
* aa/reap-transport-child-processes (2026-03-12) 1 commit
694
- transport-helper, connect: use clean_on_exit to reap children on abnormal exit
695
@@ -578,22 +697,11 @@ Release tarballs are available at:
697
connection weren't wait(2)ing for their children and letting "init"
698
reap them instead; they have been tightened.
699
581
- Will merge to 'next' after jk/t0061-bat-test-update settles down.
700
+ Will merge to 'next'.
701
cf. <20260325061357.GA3772970@coredump.intra.peff.net>
702
source: <20260312214945.4050010-1-cshung@gmail.com>
703
704
586
-* ej/ref-transaction-hook-preparing (2026-03-16) 1 commit
587
- (merged to 'next' on 2026-03-20 at f9b8fbb0dc)
588
- + refs: add 'preparing' phase to the reference-transaction hook
589
-
590
- The reference-transaction hook was taught to be triggered before
591
- taking locks on references in the "preparing" phase.
592
-
593
- Will merge to 'master'.
594
- source: <20260317023624.43070-2-eric.peijian@gmail.com>
595
-
596
-
705
* hn/git-checkout-m-with-stash (2026-03-17) 4 commits
706
- checkout: -m (--merge) uses autostash when switching branches
707
- sequencer: teach autostash apply to take optional conflict marker labels
@@ -621,28 +729,15 @@ Release tarballs are available at:
729
730
731
* pw/worktree-reduce-the-repository (2026-03-26) 3 commits
624
- - worktree: reject NULL worktree in get_worktree_git_dir()
625
- - worktree add: stop reading ".git/HEAD"
626
- - worktree: remove "the_repository" from is_current_worktree()
732
+ (merged to 'next' on 2026-03-30 at f967ececef)
733
+ + worktree: reject NULL worktree in get_worktree_git_dir()
734
+ + worktree add: stop reading ".git/HEAD"
735
+ + worktree: remove "the_repository" from is_current_worktree()
736
737
Reduce the reference to the_repository in the worktree subsystem.
738
630
- Will merge to 'next'?
631
- source: <cover.1774534617.git.phillip.wood@dunelm.org.uk>
632
-
633
-
634
-* jw/apply-corrupt-location (2026-03-17) 3 commits
635
- (merged to 'next' on 2026-03-23 at 18e9b8f91f)
636
- + apply: report input location in binary and garbage patch errors
637
- + apply: report input location in header parsing errors
638
- + apply: report the location of corrupt patches
639
-
640
- "git apply" now reports the name of the input file along with the
641
- line number when it encounters a corrupt patch, and correctly
642
- resets the line counter when processing multiple patch files.
643
-
739
Will merge to 'master'.
645
- source: <20260317162321.71812-1-jerrywang183@yahoo.com>
740
+ source: <cover.1774534617.git.phillip.wood@dunelm.org.uk>
741
742
743
* mf/format-patch-commit-list-format (2026-03-23) 9 commits
@@ -686,47 +781,6 @@ Release tarballs are available at:
781
source: <SY0P300MB080186A23FB9582AD793F0D1CE40A@SY0P300MB0801.AUSP300.PROD.OUTLOOK.COM>
782
783
689
-* mf/apply-p-no-atoi (2026-03-15) 1 commit
690
- (merged to 'next' on 2026-03-20 at 70a0a4313b)
691
- + apply.c: fix -p argument parsing
692
-
693
- "git apply -p<n>" parses <n> more carefully now.
694
-
695
- Will merge to 'master'.
696
- source: <20260316005120.7079-1-mroik@delayed.space>
697
-
698
-
699
-* ps/build-tweaks (2026-03-18) 8 commits
700
- (merged to 'next' on 2026-03-20 at fb53cf619a)
701
- + meson: precompile "git-compat-util.h"
702
- + meson: compile compatibility sources separately
703
- + git-compat-util.h: move warning infra to prepare for PCHs
704
- + builds: move build scripts into "tools/"
705
- + contrib: move "update-unicode.sh" script into "tools/"
706
- + contrib: move "coverage-diff.sh" script into "tools/"
707
- + contrib: move "coccinelle/" directory into "tools/"
708
- + Introduce new "tools/" directory
709
- (this branch is used by rs/use-strvec-pushv.)
710
-
711
- Tweak the build infrastructure by moving tools around.
712
-
713
- Will merge to 'master'.
714
- source: <20260319-b4-pks-build-infra-improvements-v3-0-82f5fb3edc3f@pks.im>
715
-
716
-
717
-* kh/doc-interpret-trailers-1 (2026-03-16) 4 commits
718
- (merged to 'next' on 2026-03-20 at 6acc8b5a8a)
719
- + interpret-trailers: use placeholder instead of *
720
- + doc: config: convert trailers section to synopsis style
721
- + doc: interpret-trailers: normalize and fill out options
722
- + doc: interpret-trailers: convert to synopsis style
723
-
724
- Doc updates.
725
-
726
- Will merge to 'master'.
727
- source: <V2_CV_doc_interpret-tr_synopsis.50a@msgid.xyz>
728
-
729
-
784
* mm/line-log-use-standard-diff-output (2026-03-16) 4 commits
785
- doc: note that -L supports patch formatting and pickaxe options
786
- t4211: add tests for -L with standard diff options
@@ -742,24 +796,25 @@ Release tarballs are available at:
796
797
798
* ar/config-hook-cleanups (2026-03-25) 13 commits
745
- - hook: reject unknown hook names in git-hook(1)
746
- - hook: show disabled hooks in "git hook list"
747
- - hook: show config scope in git hook list
748
- - hook: introduce hook_config_cache_entry for per-hook data
749
- - t1800: add test to verify hook execution ordering
750
- - hook: make consistent use of friendly-name in docs
751
- - hook: replace hook_list_clear() -> string_list_clear_func()
752
- - hook: detect & emit two more bugs
753
- - hook: rename cb_data_free/alloc -> hook_data_free/alloc
754
- - hook: fix minor style issues
755
- - builtin/receive-pack: properly init receive_hook strbuf
756
- - hook: move unsorted_string_list_remove() to string-list.[ch]
757
- - Merge branch 'ar/config-hooks' into ar/config-hook-cleanups
799
+ (merged to 'next' on 2026-03-30 at c128948b16)
800
+ + hook: reject unknown hook names in git-hook(1)
801
+ + hook: show disabled hooks in "git hook list"
802
+ + hook: show config scope in git hook list
803
+ + hook: introduce hook_config_cache_entry for per-hook data
804
+ + t1800: add test to verify hook execution ordering
805
+ + hook: make consistent use of friendly-name in docs
806
+ + hook: replace hook_list_clear() -> string_list_clear_func()
807
+ + hook: detect & emit two more bugs
808
+ + hook: rename cb_data_free/alloc -> hook_data_free/alloc
809
+ + hook: fix minor style issues
810
+ + builtin/receive-pack: properly init receive_hook strbuf
811
+ + hook: move unsorted_string_list_remove() to string-list.[ch]
812
+ + Merge branch 'ar/config-hooks' into ar/config-hook-cleanups
813
(this branch is used by ar/parallel-hooks.)
814
815
Code clean-up around the recent "hooks defined in config" topic.
816
762
- Will merge to 'next'?
817
+ Will merge to 'master'.
818
source: <20260325195503.1139418-1-adrian.ratiu@collabora.com>
819
820
@@ -865,20 +920,20 @@ Release tarballs are available at:
920
921
The fsmonitor daemon has been implemented for Linux.
922
868
- Waiting for the rerolls to slow down?
869
- cf. <aakyzGksiC2fhhiD@pks.im>
923
+ Needs review.
924
source: <pull.2147.v8.git.git.1772648125.gitgitgadget@gmail.com>
925
926
927
* sa/replay-revert (2026-03-25) 2 commits
874
- - replay: add --revert mode to reverse commit changes
875
- - sequencer: extract revert message formatting into shared function
928
+ (merged to 'next' on 2026-03-30 at ef4896a676)
929
+ + replay: add --revert mode to reverse commit changes
930
+ + sequencer: extract revert message formatting into shared function
931
(this branch is used by tc/replay-ref.)
932
933
"git replay" (experimental) learns, in addition to "pick" and
934
"replay", a new operating mode "revert".
935
881
- Will merge to 'next'?
936
+ Will merge to 'master'.
937
source: <20260325202354.10628-1-siddharthasthana31@gmail.com>
938
939
@@ -915,50 +970,22 @@ Release tarballs are available at:
970
source: <20260326101819.1307742-1-adrian.ratiu@collabora.com>
971
972
918
-* en/xdiff-cleanup-3 (2026-03-25) 5 commits
919
- - xdiff/xdl_cleanup_records: use unambiguous types
973
+* en/xdiff-cleanup-3 (2026-03-30) 6 commits
974
- xdiff/xdl_cleanup_records: simplify INVESTIGATE handling for clarity
975
- xdiff/xdl_cleanup_records: make setting action easier to follow
976
- xdiff/xdl_cleanup_records: make limits more clear
977
+ - xdiff/xdl_cleanup_records: use unambiguous types
978
+ - xdiff: use unambiguous types in xdl_bogo_sqrt()
979
- xdiff/xdl_cleanup_records: delete local recs pointer
980
981
Preparation of the xdiff/ codebase to work with Rust
982
927
- Needs review?
928
- source: <pull.2156.v2.git.git.1774473065.gitgitgadget@gmail.com>
929
-
930
-
931
-* js/macos-homebrew-forgets-reg-enhanced (2026-03-20) 1 commit
932
- . osx-clang: work around Homebrew's clang lacking REG_ENHANCED
933
-
934
- The build on macOS with Clang is fixed to work around a Homebrew change
935
- that exposed an issue with missing REG_ENHANCED.
936
-
937
- No longer needed?
938
- cf. <6c108696-2d41-4fa1-9662-fbf6db97f767@web.de>
939
- cf. <458ad3c1-96df-4575-ee42-e6eb754f25f6@gmx.de>
940
- cf. <xmqq8qbi5vvx.fsf@gitster.g>
941
- source: <d340af9e-334c-4e81-e58a-fc3dea73ebdd@gmx.de>
983
+ Needs review.
984
+ source: <pull.2156.v4.git.git.1774890003.gitgitgadget@gmail.com>
985
986
--------------------------------------------------
987
[Discarded]
988
946
-* js/neuter-sideband (2026-02-03) 6 commits
947
- . sideband: delay sanitizing by default to Git v3.0
948
- . sideband: offer to configure sanitizing on a per-URL basis
949
- . sideband: add options to allow more control sequences to be passed through
950
- . sideband: do allow ANSI color sequences by default
951
- . sideband: introduce an "escape hatch" to allow control characters
952
- . sideband: mask control characters
953
-
954
- Invalidate control characters in sideband messages, to avoid
955
- terminal state getting messed up.
956
-
957
- Superseded by 'jc/neuter-sideband-fixup', which reuses most of the patches.
958
- cf. <xmqqv7gcnwd4.fsf@gitster.g>
959
- source: <pull.1853.v4.git.1770113882.gitgitgadget@gmail.com>
960
-
961
-
989
* bc/rev-parse-parseopt-help-exit-code (2026-03-16) 1 commit
990
. rev-parse: have --parseopt callers exit 0 on --help
991
@@ -969,3 +996,16 @@ Release tarballs are available at:
996
Need to step back and rethink how exit code should look like.
997
cf. <20260317150759.GA9975@coredump.intra.peff.net>
998
source: <20260316220742.1286157-1-sandals@crustytoothpaste.net>
999
+
1000
+
1001
+* js/macos-homebrew-forgets-reg-enhanced (2026-03-20) 1 commit
1002
+ . osx-clang: work around Homebrew's clang lacking REG_ENHANCED
1003
+
1004
+ The build on macOS with Clang is fixed to work around a Homebrew change
1005
+ that exposed an issue with missing REG_ENHANCED.
1006
+
1007
+ No longer needed?
1008
+ cf. <6c108696-2d41-4fa1-9662-fbf6db97f767@web.de>
1009
+ cf. <458ad3c1-96df-4575-ee42-e6eb754f25f6@gmx.de>
1010
+ cf. <xmqq8qbi5vvx.fsf@gitster.g>
1011
+ source: <d340af9e-334c-4e81-e58a-fc3dea73ebdd@gmx.de>