What's cooking (2026/05 #04)
Junio C Hamano committed
May 18, 2026 at 10:27 UTC
301be12cd6c004b3e631b8a176dcec1d8c37e650
1 file changed
+485
-340
whats-cooking.txt
+485
-340
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
-Subject: What's cooking in git.git (May 2026, #03)
3
-X-master-at: 29bd7ed5127255713c1ac2f43b7c6f257d7b4594
4
-X-next-at: 59709faab07346122d819453f4ad6f3ccdaf618e
2
+Subject: What's cooking in git.git (May 2026, #04)
3
+X-master-at: 68aca6b91299738150f71035d0033af6987fe455
4
+X-next-at: 3ed373ac14709745ea457f6c3c005a959506b723
5
Bcc: lwn@lwn.net, gitster@pobox.com
6
7
-What's cooking in git.git (May 2026, #03)
7
+What's cooking in git.git (May 2026, #04)
8
-----------------------------------------
9
10
Here are the topics that have been cooking in my tree. Commits
@@ -17,9 +17,6 @@ A topic without enough support may be discarded after a long period
17
of no activity (of course they can be resubmitted when new interests
18
arise).
19
20
-The first batch of topics marked for graduation for quite a while
21
-since 2.54-rc2 have all been merged to 'master'.
22
-
20
Copies of the source code to Git live in many repositories, and the
21
following is a list of the ones I push into or their mirrors. Some
22
repositories have only a subset of branches.
@@ -48,123 +45,388 @@ Release tarballs are available at:
45
46
https://www.kernel.org/pub/software/scm/git/
47
48
+--------------------------------------------------
49
+[Graduated to 'master']
50
+
51
+* en/backfill-fixes-and-edges (2026-04-15) 3 commits
52
+ (merged to 'next' on 2026-05-11 at baccbdf26d)
53
+ + backfill: default to grabbing edge blobs too
54
+ + backfill: document acceptance of revision-range in more standard manner
55
+ + backfill: reject rev-list arguments that do not make sense
56
+ (this branch is used by ds/path-walk-filters.)
57
+
58
+ The 'git backfill' command now rejects revision-limiting options that
59
+ are incompatible with its operation, uses standard documentation for
60
+ revision ranges, and includes blobs from boundary commits by default
61
+ to improve performance of subsequent operations.
62
+ cf. <6e95b82a-19e3-460e-86f7-f899c2df261d@gmail.com>
63
+ source: <pull.2088.git.1776297482.gitgitgadget@gmail.com>
64
+
65
+
66
+* en/ort-cached-rename-with-trivial-resolution (2026-04-20) 1 commit
67
+ (merged to 'next' on 2026-05-11 at 9fe24668d9)
68
+ + merge-ort: handle cached rename & trivial resolution interaction better
69
+
70
+ "ort" merge backend improvements.
71
+ source: <pull.2095.git.1776724214171.gitgitgadget@gmail.com>
72
+
73
+
74
+* hn/git-checkout-m-with-stash (2026-04-28) 5 commits
75
+ (merged to 'next' on 2026-05-11 at 46adae5e5d)
76
+ + checkout -m: autostash when switching branches
77
+ + checkout: rollback lock on early returns in merge_working_tree
78
+ + sequencer: teach autostash apply to take optional conflict marker labels
79
+ + sequencer: allow create_autostash to run silently
80
+ + stash: add --label-ours, --label-theirs, --label-base for apply
81
+
82
+ "git checkout -m another-branch" was invented to deal with local
83
+ changes to paths that are different between the current and the new
84
+ branch, but it gave only one chance to resolve conflicts. The command
85
+ was taught to create a stash to save the local changes.
86
+ source: <pull.2234.v16.git.git.1777401552.gitgitgadget@gmail.com>
87
+
88
+
89
+* mf/format-patch-cover-letter-format-docfix (2026-04-22) 1 commit
90
+ (merged to 'next' on 2026-05-11 at 3cca9cc117)
91
+ + Fix docs for format.commitListFormat
92
+
93
+ Docfix.
94
+ source: <576d29f15e016889e02c253713656cd8cbf1f04c.1776894255.git.mroik@delayed.space>
95
+
96
+
97
+* ps/clang-w-glibc-2.43-and-_Generic (2026-05-10) 1 commit
98
+ (merged to 'next' on 2026-05-12 at fca23344f2)
99
+ + build: tolerate use of _Generic from glibc 2.43 with Clang
100
+
101
+ Headers from glibc 2.43 when used with clang does not allow
102
+ disabling C11 language features, causing build failures..
103
+ source: <xmqqqzniset2.fsf@gitster.g>
104
+
105
+
106
+* pw/rename-to-get-current-worktree (2026-05-01) 1 commit
107
+ (merged to 'next' on 2026-05-11 at 36ca1d49e2)
108
+ + worktree: rename get_worktree_from_repository()
109
+
110
+ Code clean-up.
111
+ source: <bd48396137f8d1352d11b3bd2dca2848f24a347d.1777648798.git.phillip.wood@dunelm.org.uk>
112
+
113
+
114
+* rs/grep-column-only-match-fix (2026-04-24) 1 commit
115
+ (merged to 'next' on 2026-05-11 at a0d87e3104)
116
+ + grep: fix --column --only-match for 2nd and later matches
117
+
118
+ "git grep" update.
119
+ source: <9bd69678-f04b-41d2-ad74-a386820d34c8@web.de>
120
+
121
+
122
+* ss/t7004-unhide-git-failures (2026-04-20) 3 commits
123
+ (merged to 'next' on 2026-05-11 at 9ee9feacb7)
124
+ + t7004: avoid subshells to capture git exit codes
125
+ + t7004: dynamically grab expected state in tests
126
+ + t7004: drop hardcoded tag count for state verification
127
+
128
+ Test clean-up.
129
+ cf. <aecNc-BNwaqFlg5c@pks.im>
130
+ source: <20260421053334.5414-1-r.siddharth.shrimali@gmail.com>
131
+
132
--------------------------------------------------
133
[New Topics]
134
54
-* sp/shallow-deepen-on-non-shallow-repo-fix (2026-05-11) 1 commit
55
- - shallow: fix relative deepen on non-shallow repositories
135
+* hn/status-pull-advice-qualified (2026-05-13) 1 commit
136
+ - remote: qualify "git pull" advice for non-upstream branches
137
57
- "git fetch --deepen=<n>" in a full clone truncated the history to <n>
58
- commits deep, which has been corrected to be a no-op instead.
138
+ Advice shown by "git status" when the local branch is behind or has
139
+ diverged from its push branch has been updated to suggest "git pull
140
+ <remote> <branch>".
141
+
142
+ Comments?
143
+ source: <pull.2301.v2.git.git.1778665812261.gitgitgadget@gmail.com>
144
+
145
+
146
+* jk/dumb-http-alternate-fix (2026-05-12) 1 commit
147
+ (merged to 'next' on 2026-05-17 at c1a51214fb)
148
+ + http: handle absolute-path alternates from server root
149
+
150
+ The HTTP walker misinterpreted the alternates file that gives an
151
+ absolute path when the server URL does not have the final slash
152
+ (i.e., "https://example.com" not "https://example.com/").
153
+
154
+ Will merge to 'master'.
155
+ source: <20260512162619.GA69813@coredump.intra.peff.net>
156
+
157
+
158
+* jk/pretty-no-strbuf-presizing (2026-05-12) 1 commit
159
+ (merged to 'next' on 2026-05-17 at ee684c614f)
160
+ + pretty: drop strbuf pre-sizing from add_rfc2047()
161
+
162
+ Remove ineffective strbuf presizing that would have computed an
163
+ allocation that would not have fit in the available memory anyway,
164
+ or too small due to integer wraparound to cause immediate automatic
165
+ growing.
166
+
167
+ Will merge to 'master'.
168
+ source: <20260512162022.GA69669@coredump.intra.peff.net>
169
+
170
+
171
+* kk/merge-octopus-optim (2026-05-11) 1 commit
172
+ - merge: use repo_in_merge_bases for octopus up-to-date check
173
+
174
+ The logic to determine that branches in an octopus merge are
175
+ independent has been optimized.
176
+
177
+ Comments?
178
+ source: <pull.2110.git.1778566286543.gitgitgadget@gmail.com>
179
+
180
+
181
+* rs/strbuf-add-uint (2026-05-12) 4 commits
182
+ - ls-tree: use strbuf_add_uint()
183
+ - ls-files: use strbuf_add_uint()
184
+ - cat-file: use strbuf_add_uint()
185
+ - strbuf: add strbuf_add_uint()
186
+
187
+ Adding a decimal integer with strbuf_addf("%u") appears commonly;
188
+ they have been optimized by using a custom formatter.
189
+
190
+ Comments?
191
+ source: <20260512115603.80780-1-l.s.r@web.de>
192
+
193
+
194
+* ta/approxidate-noon-fix (2026-05-16) 4 commits
195
+ - approxidate: use deferred mday adjustments for "specials"
196
+ - approxidate: make "specials" respect fixed day-of-month
197
+ - t0006: add support for approxidate test date adjustment
198
+ - approxidate: make "today" wrap to midnight
199
+
200
+ "Friday noon" asked in the morning on Sunday was parsed to be one
201
+ day before the specified time, which has been corrected.
202
+
203
+ Comments?
204
+ source: <20260516151540.9611-1-taahol@utu.fi>
205
+
206
+
207
+* mm/doc-word-diff (2026-05-13) 1 commit
208
+ - doc: clarify that --word-diff operates on line-level hunks
209
+
210
+ The documentation for "--word-diff" has been extended with a bit of
211
+ implementation detail of where these different words come from.
212
+
213
+ Comments?
214
+ source: <pull.2113.git.1778686956622.gitgitgadget@gmail.com>
215
+
216
+
217
+* rs/strbuf-add-oid-hex (2026-05-13) 1 commit
218
+ - hex: add and use strbuf_add_oid_hex()
219
+
220
+ Formatting object name in full hexadecimal form has been optimized
221
+ by using a new strbuf_add_oid_hex() helper function.
222
+
223
+ Comments?
224
+ source: <183aa0fd-d455-4ec9-9c42-d511fac8b3e4@web.de>
225
+
226
+
227
+* kk/limit-list-optim (2026-05-14) 1 commit
228
+ - revision: use priority queue in limit_list()
229
+
230
+ The limit_list() function that is one of the core part of the
231
+ revision traversal infrastructure has been optimized by replacing
232
+ its use of linear list with priority queue.
233
234
Will merge to 'next'.
61
- source: <20260511192044.169557-1-samo_pogacnik@t-2.net>
235
+ source: <pull.2114.git.1778777491939.gitgitgadget@gmail.com>
236
237
64
-* ag/sequencer-remove-unused-struct-member (2026-05-11) 1 commit
65
- - sequencer: remove todo_add_branch_context.commit
238
+* ed/check-connected-close-err-fd (2026-05-16) 1 commit
239
+ - Merge branch 'ed/check-connected-close-err-fd-2.53' into ed/check-connected-close-err-fd
240
+ (this branch uses ed/check-connected-close-err-fd-2.53.)
241
67
- Code clean-up.
242
+ File descriptor leak fix.
243
+
244
+ Will merge to 'next'?
245
+ (this branch uses ed/check-connected-close-err-fd-2.53.)
246
+
247
+
248
+* ed/check-connected-close-err-fd-2.53 (2026-05-14) 1 commit
249
+ - connected: close err_fd in promisor fast-path
250
+ (this branch is used by ed/check-connected-close-err-fd.)
251
+
252
+ File descriptor leak fix (for 2.54 maintenance track).
253
+
254
+ Will be merged together with ed/check-connected-close-err-fd topic.
255
+ source: <pull.2303.git.git.1778827194448.gitgitgadget@gmail.com>
256
+
257
+
258
+* jk/apply-leakfix (2026-05-15) 1 commit
259
+ - apply: plug leak on "patch too large" error
260
+
261
+ Leakfix.
262
263
Will merge to 'next'.
70
- source: <pull.2111.git.1778502113485.gitgitgadget@gmail.com>
264
+ source: <20260516021622.GA744303@coredump.intra.peff.net>
265
266
73
-* ps/maintenance-daemonize-lockfix (2026-05-11) 2 commits
74
- - run-command: honor "gc.auto" for auto-maintenance
75
- - builtin/maintenance: fix locking with "--detach"
267
+* jk/commit-sign-overflow-fix (2026-05-15) 1 commit
268
+ - commit: handle large commit messages in utf8 verification
269
77
- "git maintenance" that goes background did not use the lockfile to
78
- prevent multiple maintenance processes from running at the same
79
- time, which has been corrected..
270
+ Leakfix.
271
81
- Comments?
82
- source: <20260511-pks-maintenance-fix-lock-with-detach-v1-0-ccd7d62c9a40@pks.im>
272
+ Will merge to 'next'.
273
+ source: <20260516022310.GB744303@coredump.intra.peff.net>
274
84
---------------------------------------------------
85
-[Graduated to 'master']
275
87
-* jc/neuter-sideband-fixup (2026-03-05) 6 commits
88
- (merged to 'next' on 2026-03-13 at 5a4098b0cd)
89
- + sideband: drop 'default' configuration
90
- + sideband: offer to configure sanitizing on a per-URL basis
91
- + sideband: add options to allow more control sequences to be passed through
92
- + sideband: do allow ANSI color sequences by default
93
- + sideband: introduce an "escape hatch" to allow control characters
94
- + sideband: mask control characters
95
- (this branch is used by jc/neuter-sideband-post-3.0.)
276
+* kk/tips-reachable-from-bases-optim (2026-05-16) 2 commits
277
+ - t6600: add tests for duplicate tips in tips_reachable_from_bases()
278
+ - commit-reach: use object flags for tips_reachable_from_bases()
279
97
- Try to resurrect and reboot a stalled "avoid sending risky escape
98
- sequences taken from sideband to the terminal" topic by Dscho.
280
+ Revision traversal optimization.
281
100
- Merged early in the cycle to 'master', *without* the final "for
101
- now, let's tone it down and allow everything" step, which would
102
- give us a chance to prove that the more stricter form that we were
103
- planning to postpone until Git 3.0 may not be needed.
282
+ Will merge to 'next'?
283
+ source: <pull.2116.v3.git.1778947182.gitgitgadget@gmail.com>
284
105
- Or people may find issues in the stricter form already. We'll see.
106
- source: <20260305233452.3727126-1-gitster@pobox.com>
285
286
+* pb/doc-diff-format-updates (2026-05-15) 3 commits
287
+ - diff-format.adoc: mode and hash are 0* for unmerged paths from index only
288
+ - diff-format.adoc: 'git diff-files' prints two lines for unmerged files
289
+ - diff-format.adoc: remove mention of diff-tree specific output
290
109
-* jc/t5551-fix-expensive (2026-05-07) 1 commit
110
- (merged to 'next' on 2026-05-11 at 1bafedde58)
111
- + t5551: "GIT_TEST_LONG=Yes make test" is broken
291
+ Doc updates.
292
+
293
+ Will merge to 'next'.
294
+ source: <pull.2304.git.git.1778860091.gitgitgadget@gmail.com>
295
+
296
+
297
+* ps/t3903-cover-stash-include-untracked (2026-05-16) 1 commit
298
+ - stash: add coverage for show --include-untracked
299
+
300
+ Test coverage has been added to "git stash --include-untracked".
301
+
302
+ Will merge to 'next'.
303
+ source: <20260516183347.4323-2-pushkarkumarsingh1970@gmail.com>
304
+
305
+
306
+* rs/trailer-fold-optim (2026-05-15) 1 commit
307
+ - trailer: change strbuf in-place in unfold_value()
308
+
309
+ Code simplification.
310
+
311
+ Will merge to 'next'.
312
+ source: <816be07e-2cd6-48fe-ae93-57fa0f2543ed@web.de>
313
+
314
+
315
+* rs/use-builtin-add-overflow-explicitly-on-clang (2026-05-14) 2 commits
316
+ - use __builtin_add_overflow() in st_add() with Clang
317
+ - strbuf: use st_add3() in strbuf_grow()
318
+
319
+ Micro optimization of codepaths that compute allocation sizes carefully.
320
+
321
+ What's the status of this topic?
322
+ source: <0ded6062-f66a-4713-af24-d1b5aa654823@web.de>
323
+ source: <c6e9b337-c4fc-4cbd-ac32-e8d3814749b0@web.de>
324
113
- Test fix.
114
- source: <xmqqqznmeaco.fsf@gitster.g>
325
326
+* tc/generate-configlist-fix-for-older-ninja (2026-05-15) 1 commit
327
+ - generate-configlist: collapse depfile for older Ninja
328
117
-* jk/revert-aa-reap-transport-child-processes (2026-04-22) 1 commit
118
- (merged to 'next' on 2026-05-11 at b41904c1d3)
119
- + Revert "transport-helper, connect: use clean_on_exit to reap children on abnormal exit"
329
+ Build update.
330
121
- Revert a recent change that introduced a regression to help mksh users.
122
- source: <20260422230020.GA1839627@coredump.intra.peff.net>
331
+ Will merge to 'next'?
332
+ source: <20260515-toon-fix-almalinux8-v3-1-b545a0647f0f@iotcl.com>
333
+
334
+
335
+* hn/config-typo-advice (2026-05-16) 1 commit
336
+ - config: suggest the correct form when key contains "=" in set context
337
338
+ "git config foo.bar=baz" is not likely to be a request to read the
339
+ value of such a variable with '=' in its name; rather it is plausible
340
+ that the user meant "git config set foo.bar baz". Give advice when
341
+ giving an error message.
342
125
-* js/ci-github-actions-update (2026-04-30) 6 commits
126
- (merged to 'next' on 2026-05-11 at ba87f84054)
127
- + l10n: bump mshick/add-pr-comment from v2 to v3
128
- + ci: bump git-for-windows/setup-git-for-windows-sdk from v1 to v2
129
- + ci: bump actions/checkout from v5 to v6
130
- + ci: bump actions/github-script from v8 to v9
131
- + ci: bump actions/{upload,download}-artifact to v7 and v8
132
- + ci: bump microsoft/setup-msbuild from v2 to v3
343
+ Comments?
344
+ source: <pull.2302.v2.git.git.1778935976330.gitgitgadget@gmail.com>
345
134
- Update various GitHub Actions versions.
135
- source: <pull.2097.v3.git.1777534500.gitgitgadget@gmail.com>
346
347
+* ja/doc-synopsis-style-again (2026-05-17) 5 commits
348
+ - doc: convert git-imap-send synopsis and options to new style
349
+ - doc: convert git-apply synopsis and options to new style
350
+ - doc: convert git-am synopsis and options to new style
351
+ - doc: convert git-grep synopsis and options to new style
352
+ - doc: convert git-bisect to synopsis style
353
138
-* js/maintenance-fix-deadlock-on-win10 (2026-05-07) 2 commits
139
- (merged to 'next' on 2026-05-11 at e1b05301d1)
140
- + maintenance(geometric): do release the `.idx` files before repacking
141
- + mingw: optionally use legacy (non-POSIX) delete semantics
354
+ A batch of documentation pages has been updated to use the modern
355
+ synopsis style.
356
143
- To help Windows 10 installations, avoid removing files whose
144
- contents are still mmap()'ed.
145
- source: <pull.2103.v2.git.1778158273.gitgitgadget@gmail.com>
357
+ Comments?
358
+ source: <pull.2117.git.1779049615.gitgitgadget@gmail.com>
359
360
148
-* js/t5564-socks-use-short-path (2026-04-29) 1 commit
149
- (merged to 'next' on 2026-05-11 at fbb23860ca)
150
- + t5564: use a short path for the SOCKS proxy socket
361
+* kn/refs-fsck-skip-lock-files (2026-05-17) 1 commit
362
+ - refs/files: skip lock files during consistency checks
363
152
- Avoid hitting the pathname limit for socks proxy socket during the
153
- test.
154
- source: <pull.2100.v2.git.1777450974159.gitgitgadget@gmail.com>
364
+ The consistency checks for the files reference backend have been updated
365
+ to skip lock files earlier, avoiding unnecessary parsing of
366
+ intermediate files.
367
+
368
+ Will merge to 'next'.
369
+ source: <20260517-refs-fsck-skip-lock-files-v3-1-b24dfd673c7e@gmail.com>
370
+
371
+
372
+* jt/config-lock-timeout (2026-05-17) 1 commit
373
+ - config: retry acquiring config.lock, configurable via core.configLockTimeout
374
+
375
+ Configuration file locking now retries for a short period, avoiding
376
+ failures when multiple processes attempt to update the configuration
377
+ simultaneously.
378
+
379
+ Comments?
380
+ cf. <xmqqzf1xbl4i.fsf@gitster.g>
381
+ source: <20260517132111.1014901-1-joerg@thalheim.io>
382
383
--------------------------------------------------
384
[Cooking]
385
386
+* sp/shallow-deepen-on-non-shallow-repo-fix (2026-05-11) 1 commit
387
+ (merged to 'next' on 2026-05-15 at 67dd491aae)
388
+ + shallow: fix relative deepen on non-shallow repositories
389
+
390
+ "git fetch --deepen=<n>" in a full clone truncated the history to <n>
391
+ commits deep, which has been corrected to be a no-op instead.
392
+
393
+ Will merge to 'master'.
394
+ source: <20260511192044.169557-1-samo_pogacnik@t-2.net>
395
+
396
+
397
+* ag/sequencer-remove-unused-struct-member (2026-05-11) 1 commit
398
+ (merged to 'next' on 2026-05-17 at 8553437ae1)
399
+ + sequencer: remove todo_add_branch_context.commit
400
+
401
+ Code clean-up.
402
+
403
+ Will merge to 'master'.
404
+ cf. <agLKVn6RF4UBYd_8@pks.im>
405
+ source: <pull.2111.git.1778502113485.gitgitgadget@gmail.com>
406
+
407
+
408
+* ps/maintenance-daemonize-lockfix (2026-05-13) 2 commits
409
+ - run-command: honor "gc.auto" for auto-maintenance
410
+ - builtin/maintenance: fix locking with "--detach"
411
+
412
+ "git maintenance" that goes background did not use the lockfile to
413
+ prevent multiple maintenance processes from running at the same
414
+ time, which has been corrected..
415
+
416
+ Comments?
417
+ source: <20260513-pks-maintenance-fix-lock-with-detach-v3-0-f27a1ac82891@pks.im>
418
+
419
+
420
* js/mingw-no-nedmalloc (2026-05-08) 3 commits
160
- - mingw: remove the vendored compat/nedmalloc/ subtree
161
- - mingw: drop the build-system plumbing for nedmalloc
162
- - mingw: stop using nedmalloc
421
+ (merged to 'next' on 2026-05-13 at 2116a6bcc9)
422
+ + mingw: remove the vendored compat/nedmalloc/ subtree
423
+ + mingw: drop the build-system plumbing for nedmalloc
424
+ + mingw: stop using nedmalloc
425
426
Stop using unmaintained custom allocator in Windows build which was
427
the last user of the code.
428
167
- Will merge to 'next'.
429
+ Will merge to 'master'.
430
source: <pull.2104.v3.git.1778244661.gitgitgadget@gmail.com>
431
432
@@ -180,16 +442,17 @@ Release tarballs are available at:
442
443
444
* aw/validate-proxy-url-scheme (2026-05-05) 1 commit
183
- - http: reject unsupported proxy URL schemes
445
+ (merged to 'next' on 2026-05-15 at da9c1b71d7)
446
+ + http: reject unsupported proxy URL schemes
447
448
Misspelt proxy URL (e.g., httt://...) did not trigger any warning
449
or failure, which has been corrected.
450
188
- Will merge to 'next'.
451
+ Will merge to 'master'.
452
source: <20260505091941.1825-2-aminnimaj@gmail.com>
453
454
192
-* hn/branch-prune-merged (2026-05-11) 5 commits
455
+* hn/branch-prune-merged (2026-05-13) 5 commits
456
- branch: add --all-remotes flag
457
- branch: add branch.<name>.pruneMerged opt-out
458
- branch: add --prune-merged <remote>
@@ -200,9 +463,8 @@ Release tarballs are available at:
463
local branches that have already been merged to the remote-tracking
464
branches they track.
465
203
- Expecting a reroll.
204
- cf. <xmqqse7xr0t7.fsf@gitster.g>
205
- source: <pull.2285.v6.git.git.1778492691.gitgitgadget@gmail.com>
466
+ Comments?
467
+ source: <pull.2285.v9.git.git.1778700883.gitgitgadget@gmail.com>
468
469
470
* kh/doc-restore-double-underscores-fix (2026-05-05) 1 commit
@@ -215,45 +477,37 @@ Release tarballs are available at:
477
source: <double_underscore.670@msgid.xyz>
478
479
218
-* mm/diff-U-takes-no-negative-values (2026-05-05) 3 commits
219
- - xdiff: guard against negative context lengths
220
- - diff: reject negative values for -U/--unified
221
- - diff: reject negative values for --inter-hunk-context
480
+* mm/diff-U-takes-no-negative-values (2026-05-12) 4 commits
481
+ (merged to 'next' on 2026-05-17 at d81439a049)
482
+ + parse-options: clarify what "negated" means for PARSE_OPT_NONEG
483
+ + xdiff: guard against negative context lengths
484
+ + diff: reject negative values for -U/--unified
485
+ + diff: reject negative values for --inter-hunk-context
486
487
The command line parser for "git diff" learned a few options take
488
only non-negative integers.
489
226
- Expecting a (hopefully small and final) reroll.
227
- cf. <CAC2QwmLH19+LHNaP=13c9Ov8x1zXvyDmEhN69_RpbOY+OqEVZA@mail.gmail.com>
228
- source: <pull.2105.git.1778022144.gitgitgadget@gmail.com>
229
-
230
-
231
-* ps/clang-w-glibc-2.43-and-_Generic (2026-05-10) 1 commit
232
- (merged to 'next' on 2026-05-12 at fca23344f2)
233
- + build: tolerate use of _Generic from glibc 2.43 with Clang
234
-
235
- Headers from glibc 2.43 when used with clang does not allow
236
- disabling C11 language features, causing build failures..
237
-
490
Will merge to 'master'.
239
- source: <xmqqqzniset2.fsf@gitster.g>
491
+ source: <pull.2105.v2.git.1778609423.gitgitgadget@gmail.com>
492
493
494
* mm/git-url-parse (2026-05-01) 8 commits
243
- - t9904: add tests for the new url-parse builtin
244
- - doc: describe the url-parse builtin
245
- - builtin: create url-parse command
246
- - urlmatch: define url_parse function
247
- - url: return URL_SCHEME_UNKNOWN instead of dying
248
- - url: move scheme detection to URL header/source
249
- - url: move url_is_local_not_ssh to url.h
250
- - connect: rename enum protocol to url_scheme
495
+ (merged to 'next' on 2026-05-15 at 416deceeeb)
496
+ + t9904: add tests for the new url-parse builtin
497
+ + doc: describe the url-parse builtin
498
+ + builtin: create url-parse command
499
+ + urlmatch: define url_parse function
500
+ + url: return URL_SCHEME_UNKNOWN instead of dying
501
+ + url: move scheme detection to URL header/source
502
+ + url: move url_is_local_not_ssh to url.h
503
+ + connect: rename enum protocol to url_scheme
504
505
The internal URL parsing logic has been made accessible via a new
506
subcommand "git url-parse".
507
255
- Will merge to 'next'?
508
+ Will merge to 'master'.
509
cf. <xmqqjyt9p9pk.fsf@gitster.g>
510
+ cf. <20260512085734.GA26769@tb-raspi4>
511
source: <pull.1715.v3.git.git.1777699722.gitgitgadget@gmail.com>
512
513
@@ -268,35 +522,39 @@ Release tarballs are available at:
522
source: <V3_caveat_commit-graph.6b6@msgid.xyz>
523
524
271
-* dk/doc-exclude-is-shared-per-repo (2026-05-08) 1 commit
272
- - ignore: note info/exclude lives in GIT_COMMON_DIR, not GIT_DIR
525
+* dk/doc-exclude-is-shared-per-repo (2026-05-12) 1 commit
526
+ (merged to 'next' on 2026-05-17 at ddc761aec6)
527
+ + ignore: note info/exclude lives in GIT_COMMON_DIR, not GIT_DIR
528
529
Document the fact that .git/info/exclude is shared across worktrees
530
linked to the same repository.
531
277
- Needs more coverage.
278
- cf. <fd05eba1-d821-4cbe-ada6-ccab97308e56@gmail.com>
279
- source: <d58b6e921d3005c6170fc6c47f175214acb3fa68.1778249267.git.ben.knoble+github@gmail.com>
532
+ Will merge to 'master'.
533
+ cf. <bea48414-217b-4860-9279-fe94e3687c28@gmail.com>
534
+ source: <ec97ad3f054e90b675f099a36a81a23bb4b2a0ed.1778620784.git.ben.knoble+github@gmail.com>
535
536
537
* kk/paint-down-to-common-optim (2026-05-11) 2 commits
283
- - commit-reach: early exit paint_down_to_common for single merge-base
284
- - commit-reach: introduce merge_base_flags enum
538
+ (merged to 'next' on 2026-05-17 at 2e39c767e5)
539
+ + commit-reach: early exit paint_down_to_common for single merge-base
540
+ + commit-reach: introduce merge_base_flags enum
541
542
"git merge-base" optimization.
543
288
- Will merge to 'next'.
544
+ Will merge to 'master'.
545
source: <pull.2109.v4.git.1778504352.gitgitgadget@gmail.com>
546
547
292
-* st/daemon-sockaddr-fixes (2026-05-08) 1 commit
293
- - daemon: fix network address handling bugs
548
+* st/daemon-sockaddr-fixes (2026-05-14) 3 commits
549
+ - daemon: guard NULL REMOTE_PORT in execute() logging
550
+ - daemon: fix IPv6 address truncation in ip2str()
551
+ - daemon: fix IPv6 address corruption in lookup_hostname()
552
553
Correct use of sockaddr API in "git daemon".
554
555
Waiting for response(s) to review comment(s).
556
cf. <agGLRC1ziF5F8Okh@pks.im>
299
- source: <pull.2299.git.git.1778291290159.gitgitgadget@gmail.com>
557
+ source: <pull.2300.git.git.1778773592.gitgitgadget@gmail.com>
558
559
560
* ag/rebase-update-refs-limit-to-branches (2026-05-10) 1 commit
@@ -312,15 +570,16 @@ Release tarballs are available at:
570
571
572
* jc/ci-enable-expensive (2026-05-10) 2 commits
315
- - ci: enable EXPENSIVE for contributor builds
316
- - Merge branch 'js/objects-larger-than-4gb-on-windows' into jc/ci-enable-expensive
573
+ (merged to 'next' on 2026-05-15 at d258bb5e55)
574
+ + ci: enable EXPENSIVE for contributor builds
575
+ + Merge branch 'js/objects-larger-than-4gb-on-windows' into jc/ci-enable-expensive
576
(this branch uses js/objects-larger-than-4gb-on-windows.)
577
578
Enable expensive tests to catch topics that may cause breakages on
579
integration branches closer to their origin in the contributor PR
580
builds.
581
323
- Will merge to 'next'.
582
+ Will merge to 'master'.
583
source: <xmqqjyta9630.fsf@gitster.g>
584
585
@@ -337,28 +596,30 @@ Release tarballs are available at:
596
597
598
* jh/alias-i18n-fixes (2026-04-24) 1 commit
340
- - alias: restore support for simple dotted aliases
599
+ (merged to 'next' on 2026-05-13 at c7cd30d414)
600
+ + alias: restore support for simple dotted aliases
601
602
Further update to the i18n alias support to avoid regressions.
603
344
- Will merge to 'next'.
604
+ Will merge to 'master'.
605
source: <20260424161707.1514255-1-jonatan@jontes.page>
606
607
608
* kn/refs-generic-helpers (2026-05-04) 9 commits
349
- - refs: use peeled tag values in reference backends
350
- - refs: add peeled object ID to the `ref_update` struct
351
- - refs: move object parsing to the generic layer
352
- - update-ref: handle rejections while adding updates
353
- - update-ref: move `print_rejected_refs()` up
354
- - refs: return `ref_transaction_error` from `ref_transaction_update()`
355
- - refs: extract out reflog config to generic layer
356
- - refs: introduce `ref_store_init_options`
357
- - refs: remove unused typedef 'ref_transaction_commit_fn'
609
+ (merged to 'next' on 2026-05-15 at 62cb4e0ce2)
610
+ + refs: use peeled tag values in reference backends
611
+ + refs: add peeled object ID to the `ref_update` struct
612
+ + refs: move object parsing to the generic layer
613
+ + update-ref: handle rejections while adding updates
614
+ + update-ref: move `print_rejected_refs()` up
615
+ + refs: return `ref_transaction_error` from `ref_transaction_update()`
616
+ + refs: extract out reflog config to generic layer
617
+ + refs: introduce `ref_store_init_options`
618
+ + refs: remove unused typedef 'ref_transaction_commit_fn'
619
620
Refactor service routines in the ref subsystem backends.
621
361
- Will merge to 'next'.
622
+ Will merge to 'master'.
623
cf. <afmFmGo_Sg33Rv6V@pks.im>
624
cf. <87o6isqq4q.fsf@toon--20250203-5JQV3.mail-host-address-is-not-set>
625
source: <20260504-refs-move-to-generic-layer-v4-0-936ac2f0b1a3@gmail.com>
@@ -381,45 +642,38 @@ Release tarballs are available at:
642
643
644
* ps/history-fixup (2026-04-26) 3 commits
384
- - builtin/history: introduce "fixup" subcommand
385
- - builtin/history: generalize function to commit trees
386
- - replay: allow callers to control what happens with empty commits
645
+ (merged to 'next' on 2026-05-13 at e6154b6272)
646
+ + builtin/history: introduce "fixup" subcommand
647
+ + builtin/history: generalize function to commit trees
648
+ + replay: allow callers to control what happens with empty commits
649
650
"git history" learned "fixup" command.
651
390
- Will merge to 'next'.
652
+ Will merge to 'master'.
653
cf. <xmqq33zxp4aq.fsf@gitster.g>
654
source: <20260427-b4-pks-history-fixup-v3-0-cb908f06264b@pks.im>
655
656
395
-* rs/grep-column-only-match-fix (2026-04-24) 1 commit
396
- (merged to 'next' on 2026-05-11 at a0d87e3104)
397
- + grep: fix --column --only-match for 2nd and later matches
398
-
399
- "git grep" update.
400
-
401
- Will merge to 'master'.
402
- source: <9bd69678-f04b-41d2-ad74-a386820d34c8@web.de>
403
-
404
-
657
* sb/unpack-index-pack-buffer-resize (2026-04-28) 1 commit
406
- - index-pack, unpack-objects: increase input buffer from 4 KiB to 128 KiB
658
+ (merged to 'next' on 2026-05-13 at 2edd54bcfe)
659
+ + index-pack, unpack-objects: increase input buffer from 4 KiB to 128 KiB
660
661
Use a larger buffer size in the code paths to ingest pack stream.
662
410
- Will merge to 'next'.
663
+ Will merge to 'master'.
664
cf. <xmqqy0hpnpkb.fsf@gitster.g>
665
source: <pull.2282.v4.git.git.1777387660841.gitgitgadget@gmail.com>
666
667
668
* bc/sign-commit-with-custom-encoding (2026-04-27) 2 commits
416
- - commit: sign commit after mutating buffer
417
- - commit: name UTF-8 function appropriately
669
+ (merged to 'next' on 2026-05-13 at e82a4966c0)
670
+ + commit: sign commit after mutating buffer
671
+ + commit: name UTF-8 function appropriately
672
673
Signing commit with custom encoding was passing the data to be
674
signed at a wrong stage in the pipeline, which has been corrected.
675
422
- Will merge to 'next'.
676
+ Will merge to 'master'.
677
cf. <xmqqtssdnpf7.fsf@gitster.g>
678
source: <20260427221834.1824543-1-sandals@crustytoothpaste.net>
679
@@ -446,43 +700,46 @@ Release tarballs are available at:
700
701
702
* js/objects-larger-than-4gb-on-windows (2026-05-08) 11 commits
449
- - ci: run expensive tests on push builds to integration branches
450
- - t5608: mark >4GB tests as EXPENSIVE
451
- - test-tool synthesize: add precomputed SHA-256 pack for 4 GiB + 1
452
- - test-tool synthesize: precompute pack for 4 GiB + 1
453
- - test-tool synthesize: use the unsafe hash for speed
454
- - t5608: add regression test for >4GB object clone
455
- - test-tool: add a helper to synthesize large packfiles
456
- - delta, packfile: use size_t for delta header sizes
457
- - odb, packfile: use size_t for streaming object sizes
458
- - git-zlib: handle data streams larger than 4GB
459
- - index-pack, unpack-objects: use size_t for object size
703
+ (merged to 'next' on 2026-05-13 at 843d2ac470)
704
+ + ci: run expensive tests on push builds to integration branches
705
+ + t5608: mark >4GB tests as EXPENSIVE
706
+ + test-tool synthesize: add precomputed SHA-256 pack for 4 GiB + 1
707
+ + test-tool synthesize: precompute pack for 4 GiB + 1
708
+ + test-tool synthesize: use the unsafe hash for speed
709
+ + t5608: add regression test for >4GB object clone
710
+ + test-tool: add a helper to synthesize large packfiles
711
+ + delta, packfile: use size_t for delta header sizes
712
+ + odb, packfile: use size_t for streaming object sizes
713
+ + git-zlib: handle data streams larger than 4GB
714
+ + index-pack, unpack-objects: use size_t for object size
715
(this branch is used by jc/ci-enable-expensive.)
716
717
Update code paths that assumed "unsigned long" was long enough for
718
"size_t".
719
465
- Will merge to 'next'.
720
+ Will merge to 'master'.
721
source: <pull.2102.v3.git.1778228209.gitgitgadget@gmail.com>
722
723
724
* kh/doc-log-decorate-list (2026-04-27) 2 commits
470
- - doc: log: use the same delimiter in description list
471
- - doc: log: fix --decorate description list
725
+ (merged to 'next' on 2026-05-15 at f740311a37)
726
+ + doc: log: use the same delimiter in description list
727
+ + doc: log: fix --decorate description list
728
729
Doc update.
730
475
- Will merge to 'next'.
731
+ Will merge to 'master'.
732
cf. <xmqqpl31np0l.fsf@gitster.g>
733
source: <CV_doc_log_--decorate_list.626@msgid.xyz>
734
735
736
* za/t2000-modernise-more (2026-04-29) 1 commit
481
- - t2000: consolidate second scenario into a single test block
737
+ (merged to 'next' on 2026-05-15 at 3b524d0ba5)
738
+ + t2000: consolidate second scenario into a single test block
739
740
Test update.
741
485
- Will merge to 'next'.
742
+ Will merge to 'master'.
743
cf. <xmqqfr3xnofn.fsf@gitster.g>
744
source: <20260429103607.406339-1-zakariyahali100@gmail.com>
745
@@ -498,16 +755,14 @@ Release tarballs are available at:
755
source: <pull.2281.v8.git.git.1778507225500.gitgitgadget@gmail.com>
756
757
501
-* mf/revision-max-count-oldest (2026-05-09) 2 commits
502
- - SQUASH??? tac is not portable
758
+* mf/revision-max-count-oldest (2026-05-15) 1 commit
759
- revision.c: implement --max-count-oldest
760
761
"git rev-list" (and "git log" family of commands) learned a new "--max-count-oldest"
762
that picks oldest N commits in the range instead of the usual newest.
763
508
- Expecting a (hopefully small and final) reroll.
509
- cf. <af_SX9mQPLxolg4k@exploit>
510
- source: <2f71a00b035e25b971641b77a6fa7626f1e2459c.1777578676.git.mroik@delayed.space>
764
+ Will merge to 'next'?
765
+ source: <463cc8e2764edb7de3d379f615f5cfbd0919bfa3.1778887662.git.mroik@delayed.space>
766
767
768
* mm/line-log-cleanup (2026-04-27) 3 commits
@@ -522,20 +777,11 @@ Release tarballs are available at:
777
source: <pull.2094.git.1777349126.gitgitgadget@gmail.com>
778
779
525
-* pw/rename-to-get-current-worktree (2026-05-01) 1 commit
526
- (merged to 'next' on 2026-05-11 at 36ca1d49e2)
527
- + worktree: rename get_worktree_from_repository()
528
-
529
- Code clean-up.
530
-
531
- Will merge to 'master'.
532
- source: <bd48396137f8d1352d11b3bd2dca2848f24a347d.1777648798.git.phillip.wood@dunelm.org.uk>
533
-
534
-
535
-* ds/path-walk-filters (2026-05-11) 13 commits
780
+* ds/path-walk-filters (2026-05-13) 14 commits
781
- path-walk: support `combine` filter
782
- path-walk: support `object:type` filter
783
- path-walk: support `tree:0` filter
784
+ - t6601: tag otherwise-unreachable trees
785
- pack-objects: support sparse:oid filter with path-walk
786
- path-walk: add pl_sparse_trees to control tree pruning
787
- path-walk: support blob size limit filter
@@ -546,24 +792,12 @@ Release tarballs are available at:
792
- pack-objects: pass --objects with --path-walk
793
- t5620: make test work with path-walk var
794
- Merge branch 'en/backfill-fixes-and-edges' into ds/path-walk-filters
549
- (this branch uses en/backfill-fixes-and-edges.)
795
796
The "git pack-objects --path-walk" traversal has been integrated
797
with several object filters, including blobless and sparse filters.
798
554
- Expecting a (hopefully small and final) reroll.
555
- cf. <0b4a8595-63e3-427c-8920-af4271ae1714@gmail.com>
556
- source: <pull.2101.v3.git.1778523189.gitgitgadget@gmail.com>
557
-
558
-
559
-* en/ort-cached-rename-with-trivial-resolution (2026-04-20) 1 commit
560
- (merged to 'next' on 2026-05-11 at 9fe24668d9)
561
- + merge-ort: handle cached rename & trivial resolution interaction better
562
-
563
- "ort" merge backend improvements.
564
-
565
- Will merge to 'master'.
566
- source: <pull.2095.git.1776724214171.gitgitgadget@gmail.com>
799
+ Comments?
800
+ source: <pull.2101.v4.git.1778707135.gitgitgadget@gmail.com>
801
802
803
* en/ort-harden-against-corrupt-trees (2026-04-20) 5 commits
@@ -580,16 +814,6 @@ Release tarballs are available at:
814
source: <pull.2096.git.1776731171.gitgitgadget@gmail.com>
815
816
583
-* mf/format-patch-cover-letter-format-docfix (2026-04-22) 1 commit
584
- (merged to 'next' on 2026-05-11 at 3cca9cc117)
585
- + Fix docs for format.commitListFormat
586
-
587
- Docfix.
588
-
589
- Will merge to 'master'.
590
- source: <576d29f15e016889e02c253713656cd8cbf1f04c.1776894255.git.mroik@delayed.space>
591
-
592
-
817
* sg/t6112-unwanted-tilde-expansion-fix (2026-04-21) 1 commit
818
(merged to 'next' on 2026-05-12 at ad2d08eb44)
819
+ t6112: avoid tilde expansion
@@ -612,19 +836,6 @@ Release tarballs are available at:
836
source: <cover.1777648598.git.phillip.wood@dunelm.org.uk>
837
838
615
-* ss/t7004-unhide-git-failures (2026-04-20) 3 commits
616
- (merged to 'next' on 2026-05-11 at 9ee9feacb7)
617
- + t7004: avoid subshells to capture git exit codes
618
- + t7004: dynamically grab expected state in tests
619
- + t7004: drop hardcoded tag count for state verification
620
-
621
- Test clean-up.
622
-
623
- Will merge to 'master'.
624
- cf. <aecNc-BNwaqFlg5c@pks.im>
625
- source: <20260421053334.5414-1-r.siddharth.shrimali@gmail.com>
626
-
627
-
839
* tb/pseudo-merge-bugfixes (2026-05-11) 9 commits
840
- pack-bitmap: prevent pattern leak on pseudo-merge re-assignment
841
- Documentation: fix broken `sampleRate` in gitpacking(7)
@@ -642,10 +853,11 @@ Release tarballs are available at:
853
source: <cover.1778546804.git.me@ttaylorr.com>
854
855
645
-* ds/fetch-negotiation-options (2026-04-22) 7 commits
856
+* ds/fetch-negotiation-options (2026-05-14) 8 commits
857
- send-pack: pass negotiation config in push
858
- remote: add remote.*.negotiationInclude config
859
- fetch: add --negotiation-include option for negotiation
860
+ - negotiator: add have_sent() interface
861
- remote: add remote.*.negotiationRestrict config
862
- transport: rename negotiation_tips
863
- fetch: add --negotiation-restrict option
@@ -655,25 +867,8 @@ Release tarballs are available at:
867
allow requiring certain refs to be sent as "have" lines, and to
868
restrict negotiation to a specific set of refs.
869
658
- Needs review.
659
- source: <pull.2085.v3.git.1776871546.gitgitgadget@gmail.com>
660
-
661
-
662
-* en/backfill-fixes-and-edges (2026-04-15) 3 commits
663
- (merged to 'next' on 2026-05-11 at baccbdf26d)
664
- + backfill: default to grabbing edge blobs too
665
- + backfill: document acceptance of revision-range in more standard manner
666
- + backfill: reject rev-list arguments that do not make sense
667
- (this branch is used by ds/path-walk-filters.)
668
-
669
- The 'git backfill' command now rejects revision-limiting options that
670
- are incompatible with its operation, uses standard documentation for
671
- revision ranges, and includes blobs from boundary commits by default
672
- to improve performance of subsequent operations.
673
-
674
- Will merge to 'master'.
675
- cf. <6e95b82a-19e3-460e-86f7-f899c2df261d@gmail.com>
676
- source: <pull.2088.git.1776297482.gitgitgadget@gmail.com>
870
+ Comments?
871
+ source: <pull.2085.v4.git.1778762495.gitgitgadget@gmail.com>
872
873
874
* mc/http-emptyauth-negotiate-fix (2026-04-30) 4 commits
@@ -694,30 +889,31 @@ Release tarballs are available at:
889
source: <pull.2087.git.1776331259.gitgitgadget@gmail.com>
890
891
697
-* en/batch-prefetch (2026-04-17) 3 commits
892
+* en/batch-prefetch (2026-05-14) 4 commits
893
- grep: prefetch necessary blobs
894
- builtin/log: prefetch necessary blobs for `git cherry`
895
- patch-ids.h: add missing trailing parenthesis in documentation comment
896
+ - promisor-remote: document caller filtering contract
897
898
In a lazy clone, "git cherry" and "git grep" often fetch necessary
899
blob objects one by one from promisor remotes. It has been corrected
900
to collect necessary object names and fetch them in bulk to gain
901
reasonable performance.
902
707
- Expecting a reroll.
708
- cf. <CABPp-BFdYjnjhSrjEBf8kjYYY2jtrQ_=w0jYR+DDWh3szmtvqQ@mail.gmail.com>
709
- source: <pull.2089.v2.git.1776472347.gitgitgadget@gmail.com>
903
+ Comments?
904
+ source: <pull.2089.v3.git.1778775928.gitgitgadget@gmail.com>
905
906
907
* en/diffstat-utf8-truncation-fix (2026-04-20) 1 commit
713
- - diff: fix out-of-bounds reads and NULL deref in diffstat UTF-8 truncation
908
+ (merged to 'next' on 2026-05-13 at adf801eb1d)
909
+ + diff: fix out-of-bounds reads and NULL deref in diffstat UTF-8 truncation
910
911
The computation to shorten the filenames shown in diffstat measured
912
width of individual UTF-8 characters to add up, but forgot to take
913
into account error cases (e.g., an invalid UTF-8 sequence, or a
914
control character).
915
720
- Will merge to 'next'.
916
+ Will merge to 'master'.
917
source: <pull.2093.v3.git.1776699778177.gitgitgadget@gmail.com>
918
919
@@ -746,29 +942,30 @@ Release tarballs are available at:
942
tentative objects (like the virtual blob object that represents the
943
working tree file used by "git blame").
944
749
- Need to wait for the base topioc.
945
+ Need to wait for the base topic.
946
source: <20260410-b4-pks-odb-source-inmemory-v3-0-22fd0fad58fe@pks.im>
947
948
949
* js/adjust-tests-to-explicitly-access-bare-repo (2026-04-26) 8 commits
754
- - safe.bareRepository: default to "explicit" with WITH_BREAKING_CHANGES
755
- - status tests: filter `.gitconfig` from status output
756
- - ls-files tests: filter `.gitconfig` from `--others` output
757
- - t5601: restore `.gitconfig` after includeIf test
758
- - t1305: use `--git-dir=.` for bare repo in include cycle test
759
- - t1300: remove global config settings injected by test-lib.sh
760
- - t7900: do not let `$HOME/.gitconfig` interfere with XDG tests
761
- - test-lib: allow bare repository access when breaking changes are enabled
950
+ (merged to 'next' on 2026-05-13 at 48695e1cb0)
951
+ + safe.bareRepository: default to "explicit" with WITH_BREAKING_CHANGES
952
+ + status tests: filter `.gitconfig` from status output
953
+ + ls-files tests: filter `.gitconfig` from `--others` output
954
+ + t5601: restore `.gitconfig` after includeIf test
955
+ + t1305: use `--git-dir=.` for bare repo in include cycle test
956
+ + t1300: remove global config settings injected by test-lib.sh
957
+ + t7900: do not let `$HOME/.gitconfig` interfere with XDG tests
958
+ + test-lib: allow bare repository access when breaking changes are enabled
959
960
Some tests assume that bare repository accesses are by default
961
allowed; rewrite some of them to avoid the assumption, rewrite
962
others to explicitly set safe.bareRepository to allow them.
963
767
- Will merge to 'next'.
964
+ Will merge to 'master'.
965
source: <pull.2098.v2.git.1777214316.gitgitgadget@gmail.com>
966
967
771
-* cl/conditional-config-on-worktree-path (2026-04-03) 2 commits
968
+* cl/conditional-config-on-worktree-path (2026-05-13) 2 commits
969
- config: add "worktree" and "worktree/i" includeIf conditions
970
- config: refactor include_by_gitdir() into include_by_path()
971
@@ -776,9 +973,9 @@ Release tarballs are available at:
973
configuration files has learned to use the location of worktree
974
in its condition.
975
779
- Needs review.
780
- cf. <xmqq4ikdnn8g.fsf@gitster.g>
781
- source: <20260403-includeif-worktree-v3-0-109ce5782b03@black-desk.cn>
976
+ Will merge to 'next'?
977
+ cf. <2989eb07-2933-4b5a-9e5c-33ef9b805528@gmail.com>
978
+ source: <20260513-includeif-worktree-v4-0-f8e6212d1fba@black-desk.cn>
979
980
981
* ps/shift-root-in-graph (2026-04-27) 1 commit
@@ -789,7 +986,8 @@ Release tarballs are available at:
986
commit, which has been corrected by making the spot below a root
987
unavailable.
988
792
- Will merge to 'next'.
989
+ Waiting for response(s) to review comment(s).
990
+ cf. <20260513230216.GA1378627@coredump.intra.peff.net>
991
source: <20260427102838.44867-2-pabloosabaterr@gmail.com>
992
993
@@ -822,7 +1020,7 @@ Release tarballs are available at:
1020
source: <20260406183041.783800-1-vikingtc4@gmail.com>
1021
1022
825
-* jt/odb-transaction-write (2026-04-02) 7 commits
1023
+* jt/odb-transaction-write (2026-05-14) 7 commits
1024
- odb/transaction: make `write_object_stream()` pluggable
1025
- object-file: generalize packfile writes to use odb_write_stream
1026
- object-file: avoid fd seekback by checking object size upfront
@@ -835,9 +1033,8 @@ Release tarballs are available at:
1033
ODB transaction interface is being reworked to explicitly handle
1034
object writes.
1035
838
- Needs leakfix.
839
- cf. <20260511175835.GA4811@coredump.intra.peff.net>
840
- source: <20260402213220.2651523-1-jltobler@gmail.com>
1036
+ Will merge to 'next'?
1037
+ source: <20260514183740.1505171-1-jltobler@gmail.com>
1038
1039
1040
* sa/cat-file-batch-mailmap-switch (2026-04-15) 1 commit
@@ -872,7 +1069,9 @@ Release tarballs are available at:
1069
have been implemented, and incremental strategy that does not require
1070
all-into-one repacking has been introduced.
1071
875
- Will merge to 'next'.
1072
+ Waiting for response(s) to review comment(s).
1073
+ cf. <agTw579yuy4iHoMq@szeder.dev>
1074
+ cf. <20260513230825.GA1378716@coredump.intra.peff.net>
1075
source: <cover.1777507303.git.me@ttaylorr.com>
1076
1077
@@ -947,16 +1146,16 @@ Release tarballs are available at:
1146
source: <20260328001113.1275291-1-pabloosabaterr@gmail.com>
1147
1148
950
-* jr/bisect-custom-terms-in-output (2026-04-17) 2 commits
1149
+* jr/bisect-custom-terms-in-output (2026-05-14) 3 commits
1150
- rev-parse: use selected alternate terms to look up refs
1151
+ - bisect: print bisect terms in single quotes
1152
- bisect: use selected alternate terms in status output
1153
1154
"git bisect" now uses the selected terms (e.g., old/new) more
1155
consistently in its output.
1156
957
- Waiting for response(s) to review comment(s).
958
- cf. <xmqqjyu5weli.fsf@gitster.g>
959
- source: <20260417-bisect-terms-v3-0-d659fa547261@schlaraffenlan.de>
1157
+ Will merge to 'next'?
1158
+ source: <20260514-bisect-terms-v4-0-b3e3cf1b06ce@schlaraffenlan.de>
1159
1160
1161
* ua/push-remote-group (2026-05-03) 3 commits
@@ -967,27 +1166,11 @@ Release tarballs are available at:
1166
"git push" learned to take a "remote group" name to push to, which
1167
causes pushes to multiple places, just like "git fetch" would do.
1168
970
- Comments?
1169
+ Waiting for response(s) to review comment(s).
1170
+ cf. <d6566004-f803-4824-b050-f086b6d6d76c@app.fastmail.com>
1171
source: <20260503153402.1333220-1-usmanakinyemi202@gmail.com>
1172
1173
974
-* hn/git-checkout-m-with-stash (2026-04-28) 5 commits
975
- (merged to 'next' on 2026-05-11 at 46adae5e5d)
976
- + checkout -m: autostash when switching branches
977
- + checkout: rollback lock on early returns in merge_working_tree
978
- + sequencer: teach autostash apply to take optional conflict marker labels
979
- + sequencer: allow create_autostash to run silently
980
- + stash: add --label-ours, --label-theirs, --label-base for apply
981
-
982
- "git checkout -m another-branch" was invented to deal with local
983
- changes to paths that are different between the current and the new
984
- branch, but it gave only one chance to resolve conflicts. The command
985
- was taught to create a stash to save the local changes.
986
-
987
- Will merge to 'master'.
988
- source: <pull.2234.v16.git.git.1777401552.gitgitgadget@gmail.com>
989
-
990
-
1174
* kh/name-rev-custom-format (2026-05-11) 5 commits
1175
(merged to 'next' on 2026-05-12 at c944d6131e)
1176
+ format-rev: introduce builtin for on-demand pretty formatting
@@ -1072,17 +1255,18 @@ Release tarballs are available at:
1255
1256
1257
* pw/xdiff-shrink-memory-consumption (2026-05-04) 5 commits
1075
- - xdiff: reduce the size of array
1076
- - xprepare: simplify error handling
1077
- - xdiff: cleanup xdl_clean_mmatch()
1078
- - xdiff: reduce size of action arrays
1079
- - Merge branch 'en/xdiff-cleanup-3' into pw/xdiff-shrink-memory-consumption
1258
+ (merged to 'next' on 2026-05-15 at 7a867909d2)
1259
+ + xdiff: reduce the size of array
1260
+ + xprepare: simplify error handling
1261
+ + xdiff: cleanup xdl_clean_mmatch()
1262
+ + xdiff: reduce size of action arrays
1263
+ + Merge branch 'en/xdiff-cleanup-3' into pw/xdiff-shrink-memory-consumption
1264
(this branch uses en/xdiff-cleanup-3.)
1265
1266
Shrink wasted memory in Myers diff that does not account for common
1267
prefix and suffix removal.
1268
1085
- Will merge to 'next'.
1269
+ Will merge to 'master'.
1270
source: <cover.1777903579.git.phillip.wood@dunelm.org.uk>
1271
1272
@@ -1100,42 +1284,3 @@ Release tarballs are available at:
1284
1285
Will merge to 'master'.
1286
source: <pull.2156.v6.git.git.1777500495.gitgitgadget@gmail.com>
1103
-
1104
---------------------------------------------------
1105
-[Discarded]
1106
-
1107
-* pt/promisor-lazy-fetch-no-recurse (2026-03-11) 1 commit
1108
- . promisor-remote: prevent lazy-fetch recursion in child fetch
1109
-
1110
- The mechanism to avoid recursive lazy-fetch from promisor remotes
1111
- was not propagated properly to child "git fetch" processes, which
1112
- has been corrected.
1113
-
1114
- Dropped due to a long silence and inactivity.
1115
- cf. <xmqqik9s6qvd.fsf@gitster.g>
1116
- source: <pull.2224.v3.git.git.1773238778894.gitgitgadget@gmail.com>
1117
-
1118
-
1119
-* jt/config-lock-timeout (2026-04-03) 1 commit
1120
- . config: retry acquiring config.lock for 100ms
1121
-
1122
- The code path to update the configuration file has been taught to
1123
- use a short timeout to retry.
1124
-
1125
- Dropped due to a long silence and inactivity.
1126
- cf. <adYvSZeN0ZVqwRhi@pks.im>
1127
- cf. <xmqqcxz2vfpa.fsf@gitster.g>
1128
- source: <20260403100135.3901610-1-joerg@thalheim.io>
1129
-
1130
-
1131
-* ab/clone-default-object-filter (2026-03-14) 1 commit
1132
- . clone: add clone.<url>.defaultObjectFilter config
1133
-
1134
- "git clone" learns to pay attention to "clone.<url>.defaultObjectFilter"
1135
- configuration and behave as if the "--filter=<filter-spec>" option
1136
- was given on the command line.
1137
-
1138
- Dropped due to a long silence and inactivity.
1139
- cf. <abe1l8ONmFIhzaxi@pks.im>
1140
- cf. <xmqq8q9qvffs.fsf@gitster.g>
1141
- source: <pull.2058.v6.git.1773553022381.gitgitgadget@gmail.com>