What's cooking (2026/04 #01)
Junio C Hamano committed
Apr 1, 2026 at 15:31 UTC
267090a9aeb773f42371e399111fd76d11fa78a9
1 file changed
+304
-344
whats-cooking.txt
+304
-344
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
-Subject: What's cooking in git.git (Mar 2026, #12)
3
-X-master-at: 270e10ad6dda3379ea0da7efd11e4fbf2cd7a325
4
-X-next-at: 0c370356e2245450de215a847afb905bda230d11
2
+Subject: What's cooking in git.git (Apr 2026, #01)
3
+X-master-at: cf2139f8e1680b076e115bc0b349e369b4b0ecc4
4
+X-next-at: 189a785ab595218b95d2e09937b96fbd752f5d80
5
Bcc: lwn@lwn.net, gitster@pobox.com
6
7
-What's cooking in git.git (Mar 2026, #12)
7
+What's cooking in git.git (Apr 2026, #01)
8
-----------------------------------------
9
10
Here are the topics that have been cooking in my tree. Commits
@@ -45,25 +45,217 @@ Release tarballs are available at:
45
46
https://www.kernel.org/pub/software/scm/git/
47
48
+--------------------------------------------------
49
+[Graduated to 'master']
50
+
51
+* bk/t5315-test-path-is-helpers (2026-03-19) 1 commit
52
+ (merged to 'next' on 2026-03-24 at f7374e8e70)
53
+ + t5315: use test_path_is_file for loose-object check
54
+
55
+ Test clean-up.
56
+ source: <20260319180803.164335-1-elkhatabibilal@gmail.com>
57
+
58
+
59
+* jc/macos-homebrew-wo-reg-enhanced (2026-03-23) 1 commit
60
+ (merged to 'next' on 2026-03-26 at ce92a76711)
61
+ + regexp: leave a pointer to resurrect workaround for Homebrew
62
+
63
+ In case homebrew breaks REG_ENHANCED again, leave a in-code comment
64
+ to suggest use of our replacement regex as a workaround.
65
+ source: <xmqq8qbi5vvx.fsf@gitster.g>
66
+
67
+
68
+* jk/diff-highlight-more (2026-03-22) 9 commits
69
+ (merged to 'next' on 2026-03-24 at e7b555cbc5)
70
+ + diff-highlight: fetch all config with one process
71
+ + diff-highlight: allow module callers to pass in color config
72
+ + diff-highlight: test color config
73
+ + diff-highlight: use test_decode_color in tests
74
+ + t: add matching negative attributes to test_decode_color
75
+ + diff-highlight: check diff-highlight exit status in tests
76
+ + diff-highlight: drop perl version dependency back to 5.8
77
+ + diff-highlight: mention build instructions
78
+ + Merge branch 'jk/diff-highlight-identical-pairs' into jk/diff-highlight-more
79
+
80
+ Various updates to contrib/diff-highlight, including documentation
81
+ updates, test improvements, and color configuration handling.
82
+ source: <20260323060139.GA10215@coredump.intra.peff.net>
83
+
84
+
85
+* jk/t0061-bat-test-update (2026-03-24) 1 commit
86
+ (merged to 'next' on 2026-03-26 at ffae180124)
87
+ + t0061: simplify .bat test
88
+
89
+ A test to run a .bat file with whitespaces in the name with arguments
90
+ with whitespaces in them was flaky in that sometimes it got killed
91
+ before it produced expected side effects, which has been rewritten to
92
+ make it more robust.
93
+ source: <20260325061357.GA3772970@coredump.intra.peff.net>
94
+
95
+
96
+* kj/refspec-parsing-outside-repository (2026-03-23) 2 commits
97
+ (merged to 'next' on 2026-03-26 at 0a8c60e8ae)
98
+ + refspec: fix typo in comment
99
+ + remote-curl: fall back to default hash outside repo
100
+
101
+ "git ls-remote '+refs/tags/*:refs/tags/*' https://..." run outside a
102
+ repository would dereference a NULL while trying to see if the given
103
+ refspec is a single-object refspec, which has been corrected.
104
+ source: <20260322023557.15907-1-jayatheerthkulkarni2005@gmail.com>
105
+
106
+
107
+* mk/repo-help-strings (2026-03-25) 2 commits
108
+ (merged to 'next' on 2026-03-26 at a4c755ddde)
109
+ + repo: show subcommand-specific help text
110
+ + repo: factor repo usage strings into shared macros
111
+
112
+ "git repo info -h" and "git repo structure -h" limit their help output
113
+ to the part that is specific to the subcommand.
114
+ source: <20260323152937.257406-1- mahlet.takassa@gmail.com>
115
+
116
+
117
+* rs/use-strvec-pushv (2026-03-24) 2 commits
118
+ (merged to 'next' on 2026-03-24 at 7c6487dcaf)
119
+ + use strvec_pushv() to add another strvec
120
+ + Merge branch 'ps/build-tweaks' into rs/use-strvec-pushv
121
+
122
+ Code paths that loop over another array to push each element into a
123
+ strvec have been rewritten to use strvec_pushv() instead.
124
+ source: <084f3b43-91ac-4553-8305-03944e97eaa6@web.de>
125
+
126
+
127
+* vp/http-rate-limit-retries (2026-03-17) 3 commits
128
+ (merged to 'next' on 2026-03-24 at 9cb4ec5fad)
129
+ + http: add support for HTTP 429 rate limit retries
130
+ + strbuf_attach: fix call sites to pass correct alloc
131
+ + strbuf: pass correct alloc to strbuf_attach() in strbuf_reencode()
132
+
133
+ The HTTP transport learned to react to "429 Too Many Requests".
134
+ cf. <ab4RIZr7b49VKjR9@nand.local>
135
+ source: <pull.2008.v6.git.1773752435.gitgitgadget@gmail.com>
136
+
137
--------------------------------------------------
138
[New Topics]
139
51
-* sa/cat-file-batch-mailmap-switch (2026-03-29) 1 commit
140
+* jt/odb-transaction-write (2026-03-31) 7 commits
141
+ - odb/transaction: make `write_object_stream()` pluggable
142
+ - object-file: generalize packfile writes to use odb_write_stream
143
+ - object-file: avoid fd seekback by checking object size upfront
144
+ - object-file: remove flags from transaction packfile writes
145
+ - odb: update `struct odb_write_stream` read() callback
146
+ - odb/transaction: use pluggable `begin_transaction()`
147
+ - odb: split `struct odb_transaction` into separate header
148
+
149
+ ODB transaction interface is being reworked to explicitly handle
150
+ object writes.
151
+
152
+ Expecting a reroll.
153
+ cf. <ac0irp8GJSrSD8GU@denethor>
154
+ source: <20260401030316.1847362-1-jltobler@gmail.com>
155
+
156
+
157
+* jd/cache-tree-trace-wo-the-repository (2026-03-31) 1 commit
158
+ - cache-tree: use index state repository in trace2 calls
159
+
160
+ Code cleanup.
161
+
162
+ Will merge to 'next'?
163
+ source: <pull.2259.git.git.1774951373588.gitgitgadget@gmail.com>
164
+
165
+
166
+* ps/reftable-portability (2026-03-31) 6 commits
167
+ - reftable: introduce "reftable-system.h" header
168
+ - reftable/system: add abstraction to mmap files
169
+ - reftable/system: add abstraction to retrieve time in milliseconds
170
+ - reftable/fsck: use REFTABLE_UNUSED instead of UNUSED
171
+ - reftable/stack: don't call fsync(3p) unless provided
172
+ - reftable/system: provide `REFTABLE_INLINE()` macro
173
+
174
+ Update reftable library part with what is used in libgit2 to improve
175
+ portability to different target codebases and platforms.
176
+
177
+ Will merge to 'next'?
178
+ source: <20260331-pks-reftable-portability-fixes-v1-0-46bfae55c68c@pks.im>
179
+
180
+
181
+* jk/c23-const-preserving-fixes-more (2026-03-31) 12 commits
182
+ - refs/files-backend: drop const to fix strchr() warning
183
+ - http: drop const to fix strstr() warning
184
+ - range-diff: drop const to fix strstr() warnings
185
+ - pkt-line: make packet_reader.line non-const
186
+ - skip_prefix(): check const match between in and out params
187
+ - pseudo-merge: fix disk reads from find_pseudo_merge()
188
+ - find_last_dir_sep(): convert inline function to macro
189
+ - run-command: explicitly cast away constness when assigning to void
190
+ - pager: explicitly cast away strchr() constness
191
+ - transport-helper: drop const to fix strchr() warnings
192
+ - http: add const to fix strchr() warnings
193
+ - convert: add const to fix strchr() warnings
194
+
195
+ Further work to adjust the codebase for C23 that changes functions
196
+ like strchr() that discarded constness when they return a pointer into
197
+ a const string to preserve constness.
198
+
199
+ Will merge to 'next'?
200
+ source: <20260331233856.GA2327197@coredump.intra.peff.net>
201
+
202
+
203
+* ps/odb-cleanup (2026-03-31) 7 commits
204
+ - odb: drop unneeded headers and forward decls
205
+ - odb: rename `odb_has_object()` flags
206
+ - odb: use enum for `odb_write_object` flags
207
+ - odb: rename `odb_write_object()` flags
208
+ - treewide: use enum for `odb_for_each_object()` flags
209
+ - CodingGuidelines: document our style for flags
210
+ - Merge branch 'ps/odb-generic-object-name-handling' into ps/odb-cleanup
211
+ (this branch uses ps/odb-generic-object-name-handling.)
212
+
213
+ Various code clean-up around odb subsystem.
214
+
215
+ Will merge to 'next'?
216
+ source: <20260401-pks-odb-cleanups-v1-0-89adba9ada68@pks.im>
217
+
218
+
219
+* ss/t7004-unhide-git-failures (2026-03-31) 1 commit
220
+ - t7004: replace wc -l with modern test helpers
221
+
222
+ Test clean-up.
223
+
224
+ Will merge to 'next'.
225
+ source: <20260401062029.54757-1-r.siddharth.shrimali@gmail.com>
226
+
227
+
228
+* ng/add-files-to-cache-wo-rename (2026-04-01) 1 commit
229
+ - read-cache: disable renames in add_files_to_cache
230
+
231
+ add_files_to_cache() used diff_files() to detect only the paths that
232
+ are different between the index and the working tree and add them,
233
+ which does not need rename detection, which interfered with unnecessary
234
+ conflicts.
235
+
236
+ Will merge to 'next'?
237
+ source: <20260401190033.11325-1-blindmansion@gmail.com>
238
+
239
+--------------------------------------------------
240
+[Cooking]
241
+
242
+* sa/cat-file-batch-mailmap-switch (2026-03-31) 1 commit
243
- cat-file: add mailmap subcommand to --batch-command
244
245
"git cat-file --batch" learns an in-line command "mailmap"
246
that lets the user toggle use of mailmap.
247
57
- Comments?
58
- source: <20260329082808.12609-2-siddharthasthana31@gmail.com>
248
+ Will merge to 'next'?
249
+ source: <20260331121111.9614-2-siddharthasthana31@gmail.com>
250
251
252
* sp/doc-gitignore-oowt (2026-03-28) 1 commit
62
- - doc: gitignore: clarify pattern base for info/exclude and core.excludesFile
253
+ (merged to 'next' on 2026-03-31 at ab3e6e484e)
254
+ + doc: gitignore: clarify pattern base for info/exclude and core.excludesFile
255
256
Doc update.
257
66
- Will merge to 'next'.
258
+ Will merge to 'master'.
259
source: <20260328152233.1140327-1-shreyanshpaliwalcmsmn@gmail.com>
260
261
@@ -89,48 +281,51 @@ Release tarballs are available at:
281
have been implemented, and incremental strategy that does not require
282
all-into-one repacking has been introduced.
283
92
- Needs review.
284
+ Expecting a reroll.
285
+ cf. <acxBUkHDolY9VCnR@nand.local>
286
source: <cover.1774820449.git.me@ttaylorr.com>
287
288
289
* th/t6101-unhide-git-failures (2026-03-28) 1 commit
97
- - t6101: avoid suppressing git's exit code
290
+ (merged to 'next' on 2026-03-31 at 8867bcf2b4)
291
+ + t6101: avoid suppressing git's exit code
292
293
Test cleanup.
294
101
- Will merge to 'next'.
295
+ Will merge to 'master'.
296
source: <20260328135935.180646-1-vikingtc4@gmail.com>
297
298
299
* za/t2000-modernise (2026-03-27) 1 commit
106
- - t2000: modernise overall structure
300
+ (merged to 'next' on 2026-03-31 at 279c41a3e0)
301
+ + t2000: modernise overall structure
302
303
Test cleanup.
304
110
- Will merge to 'next'.
305
+ Will merge to 'master'.
306
source: <20260327234019.95591-1-zakariyahali100@gmail.com>
307
308
309
* jd/read-cache-trace-wo-the-repository (2026-03-30) 1 commit
115
- - read-cache: use istate->repo for trace2 logging
310
+ (merged to 'next' on 2026-04-01 at 7047e45a6d)
311
+ + read-cache: use istate->repo for trace2 logging
312
313
A handful of inappropriate uses of the_repository have been
314
rewritten to use the right repository structure instance in the
315
read-cache.c codepath.
316
121
- Will merge to 'next'.
317
+ Will merge to 'master'.
318
source: <pull.2253.v4.git.git.1774895886678.gitgitgadget@gmail.com>
319
320
125
-* jd/unpack-trees-wo-the-repository (2026-03-30) 1 commit
126
- - unpack-trees: use explicit repository in trace2 calls
321
+* jd/unpack-trees-wo-the-repository (2026-03-31) 2 commits
322
+ - unpack-trees: use repository from index instead of global
323
+ - unpack-trees: use repository from index instead of global
324
325
A handful of inappropriate uses of the_repository have been
326
rewritten to use the right repository structure instance in the
327
unpack-trees.c codepath.
131
-
132
- Will merge to 'next'.
133
- source: <pull.2258.git.git.1774901607564.gitgitgadget@gmail.com>
328
+ source: <pull.2258.v2.git.git.1774971267.gitgitgadget@gmail.com>
329
330
331
* ps/receive-pack-updateinstead-in-worktree (2026-03-30) 3 commits
@@ -141,7 +336,7 @@ Release tarballs are available at:
336
The check in "receive-pack" to prevent a checked out branch from
337
getting updated via updateInstead mechanism has been corrected.
338
144
- Needs review.
339
+ Will merge to 'next'.
340
source: <20260330111822.165188-1-pabloosabaterr@gmail.com>
341
342
@@ -173,11 +368,12 @@ Release tarballs are available at:
368
369
370
* qb/doc-git-stash-push-optionality (2026-03-30) 1 commit
176
- - docs: fix "git stash [push]" documentation
371
+ (merged to 'next' on 2026-03-31 at 66ece1b5d6)
372
+ + docs: fix "git stash [push]" documentation
373
374
Doc update.
375
180
- Will merge to 'next'.
376
+ Will merge to 'master'.
377
source: <pull.2255.v2.git.git.1774877075694.gitgitgadget@gmail.com>
378
379
@@ -191,181 +387,6 @@ Release tarballs are available at:
387
cf. <5ba0bbcb-25a7-4ad0-ac1d-c86508eaffdd@app.fastmail.com>
388
source: <CV_doc_int-tr_key_format.533@msgid.xyz>
389
194
---------------------------------------------------
195
-[Graduated to 'master']
196
-
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
-
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
348
-
349
- A test to run a .bat file with whitespaces in the name with arguments
350
- with whitespaces in them was flaky in that sometimes it got killed
351
- before it produced expected side effects, which has been rewritten to
352
- make it more robust.
353
-
354
- Will merge to 'master'.
355
- source: <20260325061357.GA3772970@coredump.intra.peff.net>
356
-
357
-
358
-* mk/repo-help-strings (2026-03-25) 2 commits
359
- (merged to 'next' on 2026-03-26 at a4c755ddde)
360
- + repo: show subcommand-specific help text
361
- + repo: factor repo usage strings into shared macros
362
-
363
- "git repo info -h" and "git repo structure -h" limit their help output
364
- to the part that is specific to the subcommand.
365
-
366
- Will merge to 'master'.
367
- source: <20260323152937.257406-1- mahlet.takassa@gmail.com>
368
-
390
391
* tc/replay-ref (2026-03-25) 4 commits
392
. replay: allow to specify a ref with option --ref
@@ -382,42 +403,33 @@ Release tarballs are available at:
403
source: <20260325-toon-replay-arbitrary-ref-v2-0-553038702c9c@iotcl.com>
404
405
385
-* jc/macos-homebrew-wo-reg-enhanced (2026-03-23) 1 commit
386
- (merged to 'next' on 2026-03-26 at ce92a76711)
387
- + regexp: leave a pointer to resurrect workaround for Homebrew
388
-
389
- In case homebrew breaks REG_ENHANCED again, leave a in-code comment
390
- to suggest use of our replacement regex as a workaround.
391
-
392
- Will merge to 'master'.
393
- source: <xmqq8qbi5vvx.fsf@gitster.g>
394
-
395
-
406
* jk/c23-const-preserving-fixes (2026-03-26) 5 commits
397
- - config: store allocated string in non-const pointer
398
- - rev-parse: avoid writing to const string for parent marks
399
- - revision: avoid writing to const string for parent marks
400
- - rev-parse: simplify dotdot parsing
401
- - revision: make handle_dotdot() interface less confusing
407
+ (merged to 'next' on 2026-03-31 at c813b9b814)
408
+ + config: store allocated string in non-const pointer
409
+ + rev-parse: avoid writing to const string for parent marks
410
+ + revision: avoid writing to const string for parent marks
411
+ + rev-parse: simplify dotdot parsing
412
+ + revision: make handle_dotdot() interface less confusing
413
414
Adjust the codebase for C23 that changes functions like strchr()
415
that discarded constness when they return a pointer into a const
416
string to preserve constness.
417
407
- Will merge to 'next'.
418
+ Will merge to 'master'.
419
source: <20260326190243.GA412983@coredump.intra.peff.net>
420
source: <20260326192320.GA418281@coredump.intra.peff.net>
421
422
423
* 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
424
+ (merged to 'next' on 2026-03-31 at 8f775bd513)
425
+ + format-patch: removing unconditional wrapping
426
+ + docs: fix --commit-list-format related entries
427
+ + Merge branch 'mf/format-patch-commit-list-format' into mf/format-patch-commit-list-format-doc
428
(this branch uses mf/format-patch-commit-list-format and mf/format-patch-cover-letter-format.)
429
430
Doc updates.
431
420
- Will merge to 'next'.
432
+ Will merge to 'master'.
433
source: <cover.1774640789.git.mroik@delayed.space>
434
435
@@ -442,7 +454,7 @@ Release tarballs are available at:
454
Handling of signed commits and tags in fast-import has been made more
455
configurable.
456
445
- Needs review.
457
+ Will merge to 'next'.
458
source: <20260326191414.3783974-1-jltobler@gmail.com>
459
460
@@ -456,21 +468,10 @@ Release tarballs are available at:
468
in repositories with many branches.
469
470
Needs review.
471
+ cf. <bdff0a5d-b738-4053-9b72-08eba88156de@kdbg.org>
472
source: <20260328001113.1275291-1-pabloosabaterr@gmail.com>
473
474
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
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.
469
-
470
- Will merge to 'master'.
471
- source: <084f3b43-91ac-4553-8305-03944e97eaa6@web.de>
472
-
473
-
475
* cc/promisor-auto-config-url (2026-03-23) 16 commits
476
- doc: promisor: improve acceptFromServer entry
477
- promisor-remote: auto-configure unknown remotes
@@ -492,85 +493,56 @@ Release tarballs are available at:
493
Promisor remote handling is enhanced to auto-configure remotes based
494
on a URL whitelist.
495
495
- Needs review.
496
+ Expecting a reroll.
497
+ cf. <CAP8UFD2vAK_khTkJMP4QBfhYA5iYVW5sfB3i-vnzhf71BvwQ=w@mail.gmail.com>
498
source: <20260323080520.887550-1-christian.couder@gmail.com>
499
500
499
-* kj/refspec-parsing-outside-repository (2026-03-23) 2 commits
500
- (merged to 'next' on 2026-03-26 at 0a8c60e8ae)
501
- + refspec: fix typo in comment
502
- + remote-curl: fall back to default hash outside repo
503
-
504
- "git ls-remote '+refs/tags/*:refs/tags/*' https://..." run outside a
505
- repository would dereference a NULL while trying to see if the given
506
- refspec is a single-object refspec, which has been corrected.
507
-
508
- Will merge to 'master'.
509
- source: <20260322023557.15907-1-jayatheerthkulkarni2005@gmail.com>
510
-
511
-
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
515
- + diff-highlight: allow module callers to pass in color config
516
- + diff-highlight: test color config
517
- + diff-highlight: use test_decode_color in tests
518
- + t: add matching negative attributes to test_decode_color
519
- + diff-highlight: check diff-highlight exit status in tests
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
523
-
524
- Various updates to contrib/diff-highlight, including documentation
525
- updates, test improvements, and color configuration handling.
526
-
527
- Will merge to 'master'.
528
- source: <20260323060139.GA10215@coredump.intra.peff.net>
529
-
530
-
501
* ps/fsck-wo-the-repository (2026-03-23) 12 commits
532
- - builtin/fsck: stop using `the_repository` in error reporting
533
- - builtin/fsck: stop using `the_repository` when marking objects
534
- - builtin/fsck: stop using `the_repository` when checking packed objects
535
- - builtin/fsck: stop using `the_repository` with loose objects
536
- - builtin/fsck: stop using `the_repository` when checking reflogs
537
- - builtin/fsck: stop using `the_repository` when checking refs
538
- - builtin/fsck: stop using `the_repository` when snapshotting refs
539
- - builtin/fsck: fix trivial dependence on `the_repository`
540
- - fsck: drop USE_THE_REPOSITORY
541
- - fsck: store repository in fsck options
542
- - fsck: initialize fsck options via a function
543
- - fetch-pack: move fsck options into function scope
502
+ (merged to 'next' on 2026-04-01 at 6ab7607f2d)
503
+ + builtin/fsck: stop using `the_repository` in error reporting
504
+ + builtin/fsck: stop using `the_repository` when marking objects
505
+ + builtin/fsck: stop using `the_repository` when checking packed objects
506
+ + builtin/fsck: stop using `the_repository` with loose objects
507
+ + builtin/fsck: stop using `the_repository` when checking reflogs
508
+ + builtin/fsck: stop using `the_repository` when checking refs
509
+ + builtin/fsck: stop using `the_repository` when snapshotting refs
510
+ + builtin/fsck: fix trivial dependence on `the_repository`
511
+ + fsck: drop USE_THE_REPOSITORY
512
+ + fsck: store repository in fsck options
513
+ + fsck: initialize fsck options via a function
514
+ + fetch-pack: move fsck options into function scope
515
516
Internals of "git fsck" have been refactored to not depend on the
517
global `the_repository` variable.
518
548
- Needs review.
519
+ Will merge to 'master'.
520
source: <20260323-b4-pks-fsck-without-the-repository-v2-0-e8dc79bca651@pks.im>
521
522
523
* 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
556
- - pack-objects: refactor `read_packs_list_from_stdin()` to use `strmap`
557
- - pack-objects: plug leak in `read_stdin_packs()`
524
+ (merged to 'next' on 2026-03-31 at e8927aa861)
525
+ + repack: mark non-MIDX packs above the split as excluded-open
526
+ + pack-objects: support excluded-open packs with --stdin-packs
527
+ + t7704: demonstrate failure with once-cruft objects above the geometric split
528
+ + pack-objects: refactor `read_packs_list_from_stdin()` to use `strmap`
529
+ + pack-objects: plug leak in `read_stdin_packs()`
530
531
pack-objects's --stdin-packs=follow mode learns to handle
532
excluded-but-open packs.
533
562
- Will merge to 'next'.
534
+ Will merge to 'master'.
535
source: <cover.1774641999.git.me@ttaylorr.com>
536
537
538
* yc/path-walk-fix-error-reporting (2026-03-20) 1 commit
567
- - path-walk: fix NULL pointer dereference in error message
539
+ (merged to 'next' on 2026-04-01 at ddcff8b9c6)
540
+ + path-walk: fix NULL pointer dereference in error message
541
542
The value of a wrong pointer variable was referenced in an error
543
message that reported that it shouldn't be NULL.
544
572
- Reproduction being discussed.
573
- cf. <994f92e9-3576-455a-a142-0fefc559131c@gmail.com>
545
+ Will merge to 'master'.
546
source: <20260320114823.3151961-1-ysinghcin@gmail.com>
547
548
@@ -586,20 +558,22 @@ Release tarballs are available at:
558
559
560
* jc/whitespace-incomplete-line (2026-03-17) 1 commit
589
- - apply: fix new-style empty context line triggering incomplete-line check
561
+ (merged to 'next' on 2026-04-01 at 10a4d95236)
562
+ + apply: fix new-style empty context line triggering incomplete-line check
563
564
Fix whitespace correction for new-style empty context lines.
565
593
- Needs review.
566
+ Will merge to 'master'.
567
source: <xmqqldfql4hp.fsf@gitster.g>
568
569
570
* sp/add-patch-with-fewer-the-repository (2026-03-17) 1 commit
598
- - add-patch: use repository instance from add_i_state instead of the_repository
571
+ (merged to 'next' on 2026-04-01 at b9edaddcff)
572
+ + add-patch: use repository instance from add_i_state instead of the_repository
573
574
Reduce dependency on `the_repository` in add-patch.c file.
575
602
- Needs review.
576
+ Will merge to 'master'.
577
source: <20260317155230.619378-1-shreyanshpaliwalcmsmn@gmail.com>
578
579
@@ -619,23 +593,24 @@ Release tarballs are available at:
593
594
595
* ps/commit-graph-overflow-fix (2026-03-23) 1 commit
622
- - commit-graph: fix writing generations with dates exceeding 34 bits
596
+ (merged to 'next' on 2026-04-01 at c502054354)
597
+ + commit-graph: fix writing generations with dates exceeding 34 bits
598
599
Fix a regression in writing the commit-graph where commits with dates
600
exceeding 34 bits (beyond year 2514) could cause an underflow and
601
crash Git during the generation data overflow chunk writing.
602
628
- Waiting for review response.
629
- cf. <xmqq1ph92pzs.fsf@gitster.g>
603
+ Will merge to 'master'.
604
source: <20260324-pks-commit-graph-overflow-v2-1-843568cf8780@pks.im>
605
606
607
* tc/replay-down-to-root (2026-03-24) 1 commit
634
- - replay: support replaying down from root commit
608
+ (merged to 'next' on 2026-03-31 at 47456fcc12)
609
+ + replay: support replaying down from root commit
610
611
git replay now supports replaying down to the root commit.
612
638
- Will merge to 'next'.
613
+ Will merge to 'master'.
614
source: <20260324-toon-replay-down-to-root-v2-1-34e723489f6e@iotcl.com>
615
616
@@ -654,50 +629,43 @@ Release tarballs are available at:
629
630
631
* 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
659
- - object-name: move logic to compute loose abbreviation length
660
- - object-name: simplify computing common prefixes
661
- - object-name: abbreviate loose object names without `disambiguate_state`
662
- - object-name: merge `update_candidates()` and `match_prefix()`
663
- - object-name: backend-generic `get_short_oid()`
664
- - object-name: backend-generic `repo_collect_ambiguous()`
665
- - object-name: extract function to parse object ID prefixes
666
- - object-name: move logic to iterate through packed prefixed objects
667
- - object-name: move logic to iterate through loose prefixed objects
668
- - odb: introduce `struct odb_for_each_object_options`
669
- - oidtree: extend iteration to allow for arbitrary return codes
670
- - oidtree: modernize the code a bit
671
- - Merge branch 'ps/object-counting' into ps/odb-generic-object-name-handling
672
- - object-file: fix sparse 'plain integer as NULL pointer' error
632
+ (merged to 'next' on 2026-03-31 at c14d7bdd1e)
633
+ + odb: introduce generic `odb_find_abbrev_len()`
634
+ + object-file: move logic to compute packed abbreviation length
635
+ + object-name: move logic to compute loose abbreviation length
636
+ + object-name: simplify computing common prefixes
637
+ + object-name: abbreviate loose object names without `disambiguate_state`
638
+ + object-name: merge `update_candidates()` and `match_prefix()`
639
+ + object-name: backend-generic `get_short_oid()`
640
+ + object-name: backend-generic `repo_collect_ambiguous()`
641
+ + object-name: extract function to parse object ID prefixes
642
+ + object-name: move logic to iterate through packed prefixed objects
643
+ + object-name: move logic to iterate through loose prefixed objects
644
+ + odb: introduce `struct odb_for_each_object_options`
645
+ + oidtree: extend iteration to allow for arbitrary return codes
646
+ + oidtree: modernize the code a bit
647
+ + Merge branch 'ps/object-counting' into ps/odb-generic-object-name-handling
648
+ + object-file: fix sparse 'plain integer as NULL pointer' error
649
+ (this branch is used by ps/odb-cleanup.)
650
651
Object name handling (disambiguation and abbreviation) has been
652
refactored to be backend-generic, moving logic into the respective
653
object database backends.
654
678
- Will merge to 'next'.
655
+ Will merge to 'master'.
656
cf. <874ilxm4wp.fsf@toon--20250203-5JQV3.mail-host-address-is-not-set>
657
source: <20260320-b4-pks-odb-source-abbrev-v2-0-fe65dcd8c735@pks.im>
658
659
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
686
-
687
- Test clean-up.
688
-
689
- Will merge to 'master'.
690
- source: <20260319180803.164335-1-elkhatabibilal@gmail.com>
691
-
692
-
660
* aa/reap-transport-child-processes (2026-03-12) 1 commit
694
- - transport-helper, connect: use clean_on_exit to reap children on abnormal exit
661
+ (merged to 'next' on 2026-03-31 at fb77f8ba9e)
662
+ + transport-helper, connect: use clean_on_exit to reap children on abnormal exit
663
664
A few code paths that spawned child processes for network
665
connection weren't wait(2)ing for their children and letting "init"
666
reap them instead; they have been tightened.
667
700
- Will merge to 'next'.
668
+ Will merge to 'master'.
669
cf. <20260325061357.GA3772970@coredump.intra.peff.net>
670
source: <20260312214945.4050010-1-cshung@gmail.com>
671
@@ -757,7 +725,7 @@ Release tarballs are available at:
725
--commit-list-format` (formerly `--cover-letter-format`) option,
726
including a new "modern" preset and better CLI ergonomics.
727
760
- Will merge to 'master'.
728
+ Waiting for the follow-on topic.
729
source: <cover.1774284699.git.mroik@delayed.space>
730
731
@@ -791,7 +759,8 @@ Release tarballs are available at:
759
log/diff machinery is being reworked a bit to make the feature
760
compatible with more diff options, like -S/G.
761
794
- Needs review.
762
+ Will merge to 'next'.
763
+ cf. <xmqqbjg3y8i9.fsf@gitster.g>
764
source: <pull.2065.v2.git.1773714095.gitgitgadget@gmail.com>
765
766
@@ -904,7 +873,8 @@ Release tarballs are available at:
873
source: <cover.1772839973.git.mroik@delayed.space>
874
875
907
-* pt/fsmonitor-linux (2026-03-04) 12 commits
876
+* pt/fsmonitor-linux (2026-03-30) 13 commits
877
+ - fsmonitor: fix split-index bitmap bounds in tweak_fsmonitor()
878
- fsmonitor: convert shown khash to strset in do_handle_client
879
- fsmonitor: add tests for Linux
880
- fsmonitor: add timeout to daemon stop command
@@ -921,7 +891,7 @@ Release tarballs are available at:
891
The fsmonitor daemon has been implemented for Linux.
892
893
Needs review.
924
- source: <pull.2147.v8.git.git.1772648125.gitgitgadget@gmail.com>
894
+ source: <pull.2147.v12.git.git.1774937958.gitgitgadget@gmail.com>
895
896
897
* sa/replay-revert (2026-03-25) 2 commits
@@ -937,19 +907,6 @@ Release tarballs are available at:
907
source: <20260325202354.10628-1-siddharthasthana31@gmail.com>
908
909
940
-* vp/http-rate-limit-retries (2026-03-17) 3 commits
941
- (merged to 'next' on 2026-03-24 at 9cb4ec5fad)
942
- + http: add support for HTTP 429 rate limit retries
943
- + strbuf_attach: fix call sites to pass correct alloc
944
- + strbuf: pass correct alloc to strbuf_attach() in strbuf_reencode()
945
-
946
- The HTTP transport learned to react to "429 Too Many Requests".
947
-
948
- Will merge to 'master'.
949
- cf. <ab4RIZr7b49VKjR9@nand.local>
950
- source: <pull.2008.v6.git.1773752435.gitgitgadget@gmail.com>
951
-
952
-
910
* ar/parallel-hooks (2026-03-26) 13 commits
911
- hook: allow hook.jobs=-1 to use all available CPU cores
912
- hook: add hook.<event>.enabled switch
@@ -980,7 +937,10 @@ Release tarballs are available at:
937
938
Preparation of the xdiff/ codebase to work with Rust
939
983
- Needs review.
940
+ Expecting a (hopefully small and final) reroll?
941
+ cf. <40589b6f-6694-4d9c-8367-3f6352e45e7b@gmail.com>
942
+ cf. <32c34d0d-9358-43e3-9d58-5999b3ffd6c2@gmail.com>
943
+ cf. <87a54698-396d-4de8-bd9d-cd72f8d1e8df@gmail.com>
944
source: <pull.2156.v4.git.git.1774890003.gitgitgadget@gmail.com>
945
946
--------------------------------------------------