What's cooking (2026/02) #09
Junio C Hamano committed
Feb 25, 2026 at 15:29 UTC
92a77905ac39e87dd09bc0834c8f1c26e7b9654f
1 file changed
+332
-201
whats-cooking.txt
+332
-201
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
-Subject: What's cooking in git.git (Feb 2026, #08)
3
-X-master-at: 7c02d39fc2ed2702223c7674f73150d9a7e61ba4
4
-X-next-at: 309c995771be952610fdcff99f7fea96934ce045
2
+Subject: What's cooking in git.git (Feb 2026, #09)
3
+X-master-at: 7b2bccb0d58d4f24705bf985de1f4612e4cf06e5
4
+X-next-at: e6e9f13364f60da08915a4183156646fcdad0ff3
5
Bcc: lwn@lwn.net, gitster@pobox.com
6
7
-What's cooking in git.git (Feb 2026, #08)
7
+What's cooking in git.git (Feb 2026, #09)
8
-----------------------------------------
9
10
Here are the topics that have been cooking in my tree. Commits
@@ -47,6 +47,245 @@ Release tarballs are available at:
47
48
https://www.kernel.org/pub/software/scm/git/
49
50
+--------------------------------------------------
51
+[Graduated to 'master']
52
+
53
+* ac/string-list-sort-u-and-tests (2026-02-12) 1 commit
54
+ (merged to 'next' on 2026-02-17 at 14b7b5d918)
55
+ + sparse-checkout: use string_list_sort_u
56
+
57
+ Code clean-up using a new helper function introduced lately.
58
+ source: <20260213033729.50208-1-amishhhaaaa@gmail.com>
59
+
60
+
61
+* cc/lop-filter-auto (2026-02-16) 9 commits
62
+ (merged to 'next' on 2026-02-17 at f10e546e7b)
63
+ + fetch-pack: wire up and enable auto filter logic
64
+ + promisor-remote: change promisor_remote_reply()'s signature
65
+ + promisor-remote: keep advertised filters in memory
66
+ + list-objects-filter-options: support 'auto' mode for --filter
67
+ + doc: fetch: document `--filter=<filter-spec>` option
68
+ + fetch: make filter_options local to cmd_fetch()
69
+ + clone: make filter_options local to cmd_clone()
70
+ + promisor-remote: allow a client to store fields
71
+ + promisor-remote: refactor initialising field lists
72
+
73
+ "auto filter" logic for large-object promisor remote.
74
+ source: <20260216132317.15894-1-christian.couder@gmail.com>
75
+
76
+
77
+* dk/complete-stash-import-export (2026-02-07) 1 commit
78
+ (merged to 'next' on 2026-02-17 at 406e4cc3ee)
79
+ + completion: add stash import, export
80
+
81
+ Command line completion (in contrib/) update.
82
+ source: <20260207215924.28863-1-ben.knoble+github@gmail.com>
83
+
84
+
85
+* ds/revision-maximal-only (2026-01-22) 1 commit
86
+ (merged to 'next' on 2026-02-17 at 1ed2797464)
87
+ + revision: add --maximal-only option
88
+
89
+ "git rev-list" and friends learn "--maximal-only" to show only the
90
+ commits that are not reachable by other commits.
91
+ source: <pull.2032.v2.git.1769097958549.gitgitgadget@gmail.com>
92
+
93
+
94
+* jc/doc-cg-needswork (2026-02-12) 1 commit
95
+ (merged to 'next' on 2026-02-17 at 5e35bc87bd)
96
+ + CodingGuidelines: document NEEDSWORK comments
97
+
98
+ A CodingGuidelines update.
99
+ source: <xmqqldgxmzbj.fsf@gitster.g>
100
+
101
+
102
+* kh/doc-am-format-sendmail (2026-02-12) 1 commit
103
+ (merged to 'next' on 2026-02-13 at 8850dc2fa9)
104
+ + doc: add caveat about round-tripping format-patch
105
+
106
+ Doc update.
107
+ source: <V3_format-patch_caveats.354@msgid.xyz>
108
+
109
+
110
+* mc/tr2-process-ancestry-cleanup (2026-02-13) 6 commits
111
+ (merged to 'next' on 2026-02-17 at 2ebebfc02c)
112
+ + t0213: add trace2 cmd_ancestry tests
113
+ + test-tool: extend trace2 helper with 400ancestry
114
+ + trace2: emit cmd_ancestry data for Windows
115
+ + trace2: refactor Windows process ancestry trace2 event
116
+ + build: include procinfo.c impl for macOS
117
+ + trace2: add macOS process ancestry tracing
118
+
119
+ Add process ancestry data to trace2 on macOS to match what we
120
+ already do on Linux and Windows. Also adjust the way Windows
121
+ implementation reports this information to match the other two.
122
+ source: <pull.2040.v2.git.1771012500.gitgitgadget@gmail.com>
123
+
124
+
125
+* ps/pack-concat-wo-backfill (2026-02-11) 1 commit
126
+ (merged to 'next' on 2026-02-17 at 221d0623a2)
127
+ + builtin/pack-objects: don't fetch objects when merging packs
128
+
129
+ "git pack-objects --stdin-packs" with "--exclude-promisor-objects"
130
+ fetched objects that are promised, which was not wanted. This has
131
+ been fixed.
132
+ source: <20260211-pks-pack-objects-stdin-skip-backfill-fetch-v1-1-870cad56d8ae@pks.im>
133
+
134
+
135
+* pw/commit-msg-sample-hook (2026-02-13) 2 commits
136
+ (merged to 'next' on 2026-02-17 at 6a23eb7fc3)
137
+ + templates: detect commit messages containing diffs
138
+ + templates: add .gitattributes entry for sample hooks
139
+
140
+ Update sample commit-msg hook to complain when a log message has
141
+ material mailinfo considers the end of log message in the middle.
142
+ source: <cover.1770993281.git.phillip.wood@dunelm.org.uk>
143
+
144
+--------------------------------------------------
145
+[New Topics]
146
+
147
+* jt/repo-structure-extrema (2026-02-23) 5 commits
148
+ - builtin/repo: find tree with most entries
149
+ - builtin/repo: find commit with most parents
150
+ - builtin/repo: add OID annotations to table output
151
+ - builtin/repo: collect largest inflated objects
152
+ - builtin/repo: update stats for each object
153
+
154
+ "git repo structure" command learns to report maximum values on
155
+ various aspects of objects it inspects.
156
+
157
+ Comments?
158
+ source: <20260223174120.2356504-1-jltobler@gmail.com>
159
+
160
+
161
+* kh/alias-i18n-docfix (2026-02-23) 1 commit
162
+ . doc: config: fix list continuation in alias section
163
+ (this branch uses jh/alias-i18n.)
164
+
165
+ Doc mark-up fix.
166
+
167
+ Superseded by jh/alias-i18n-fixes?
168
+ source: <20260218215737.1181147-1-jonatan@jontes.page>
169
+
170
+
171
+* ps/fsck-stream-from-the-right-object-instance (2026-02-23) 4 commits
172
+ - pack-check: fix verification of large objects
173
+ - packfile: expose function to read object stream for an offset
174
+ - object-file: adapt `stream_object_signature()` to take a stream
175
+ - t/helper: improve "genrandom" test helper
176
+
177
+ "fsck" iterates over packfiles and its access to pack data caused
178
+ the list to be permuted, which caused it to loop forever; the code
179
+ to access pack data by "fsck" has been updated to avoid this.
180
+
181
+ Comments?
182
+ source: <20260223-pks-fsck-fix-v2-0-99a0714ea3bd@pks.im>
183
+
184
+
185
+* ps/odb-sources (2026-02-23) 19 commits
186
+ - odb/source: make `begin_transaction()` function pluggable
187
+ - odb/source: make `write_alternate()` function pluggable
188
+ - odb/source: make `read_alternates()` function pluggable
189
+ - odb/source: make `write_object_stream()` function pluggable
190
+ - odb/source: make `write_object()` function pluggable
191
+ - odb/source: make `freshen_object()` function pluggable
192
+ - odb/source: make `for_each_object()` function pluggable
193
+ - odb/source: make `read_object_stream()` function pluggable
194
+ - odb/source: make `read_object_info()` function pluggable
195
+ - odb/source: make `close()` function pluggable
196
+ - odb/source: make `reprepare()` function pluggable
197
+ - odb/source: make `free()` function pluggable
198
+ - odb/source: introduce source type for robustness
199
+ - odb: move reparenting logic into respective subsystems
200
+ - odb: embed base source in the "files" backend
201
+ - odb: introduce "files" source
202
+ - odb: split `struct odb_source` into separate header
203
+ - Merge branch 'ps/object-info-bits-cleanup' into ps/odb-sources
204
+ - Merge branch 'ps/odb-for-each-object' into ps/odb-sources
205
+ (this branch uses ps/object-info-bits-cleanup and ps/odb-for-each-object.)
206
+
207
+ The object source API is getting restructured to allow plugging new
208
+ backends.
209
+
210
+ Comments?
211
+ source: <20260223-b4-pks-odb-source-pluggable-v1-0-253bac1db598@pks.im>
212
+
213
+
214
+* ds/for-each-repo-w-worktree (2026-02-24) 2 commits
215
+ - for-each-repo: work correctly in a worktree
216
+ - for-each-repo: test outside of repo context
217
+
218
+ "git for-each-repo" started from a secondary worktree did not work
219
+ as expected, which has been corrected.
220
+
221
+ Expecting a (hopefully small and final) reroll?
222
+ cf. <20260225131344.GA2139176@coredump.intra.peff.net>
223
+ source: <pull.2056.v2.git.1771968924.gitgitgadget@gmail.com>
224
+
225
+
226
+* jh/alias-i18n-fixes (2026-02-24) 4 commits
227
+ - SQUASH??? leakfix
228
+ - alias: treat empty subsection [alias ""] as plain [alias]
229
+ - doc: fix list continuation in alias subsection example
230
+ - Merge branch 'jh/alias-i18n' into jh/alias-i18n-fixes
231
+ (this branch uses jh/alias-i18n.)
232
+
233
+ Further update to the i18n alias support to avoid regressions.
234
+
235
+ Expecting a (hopefully small and final) reroll?
236
+ cf. <xmqq8qcga6ya.fsf@gitster.g>
237
+ source: <20260224171245.458377-1-jonatan@jontes.page>
238
+
239
+
240
+* lc/rebase-trailer (2026-02-23) 5 commits
241
+ - rebase: support --trailer
242
+ - commit, tag: parse --trailer with OPT_STRVEC
243
+ - trailer: append trailers without fork/exec
244
+ - trailer: move process_trailers to trailer.h
245
+ - interpret-trailers: factor trailer rewriting
246
+
247
+ "git rebase" learns "--trailer" command to drive the
248
+ interpret-trailers machinery.
249
+
250
+ Comments?
251
+ source: <20260224070552.148591-1-me@linux.beauty>
252
+
253
+
254
+* mf/format-patch-cover-letter-format (2026-02-24) 3 commits
255
+ - SQUASH???
256
+ - format-patch: add commitListFormat config
257
+ - format-patch: add ability to use alt cover format
258
+
259
+ "git format-patch --cover-letter" learns to use a simpler format
260
+ instead of the traditional shortlog format to list its commits with
261
+ a new --cover-letter-format option and format.commitListFormat
262
+ configuration variable.
263
+
264
+ Expecting a (hopefully small and final) reroll?
265
+ cf. <aZ4-_jmFS8yS4g49@exploit>
266
+ source: <cover.1771925291.git.mroik@delayed.space>
267
+
268
+
269
+* sp/send-email-validate-charset (2026-02-24) 1 commit
270
+ - send-email: validate charset name in 8bit encoding prompt
271
+
272
+ "git send-email" has learned to be a bit more careful when it
273
+ accepts charset to use from the end-user, to avoid 'y' (mistaken
274
+ 'yes' when expecting a charset like 'UTF-8') and other nonsense.
275
+
276
+ Expecting a reroll?
277
+ cf. <CALnO6CDSJPnVi-1RUsr7tFMwa0_xTJkiQmzTL_b-BGq=6PSz0A@mail.gmail.com>
278
+ source: <20260224143624.23678-1-shreyanshpaliwalcmsmn@gmail.com>
279
+
280
+
281
+* cx/fetch-display-ubfix (2026-02-24) 1 commit
282
+ - fetch: fix wrong evaluation order in URL trailing-slash trimming
283
+
284
+ Undefined-behaviour fix in "git fetch".
285
+
286
+ Will merge to 'next'.
287
+ source: <pull.2211.git.git.1771984857879.gitgitgadget@gmail.com>
288
+
289
--------------------------------------------------
290
[Stalled]
291
@@ -63,15 +302,25 @@ may have to be discarded unless something new happens to them soon.
302
cf. <xmqqbjjgiz3a.fsf@gitster.g>
303
source: <pull.2144.git.git.1766850014289.gitgitgadget@gmail.com>
304
305
+--------------------------------------------------
306
+[Cooking]
307
67
-* pt/fsmonitor-linux (2025-12-31) 1 commit
308
+* pt/fsmonitor-linux (2026-02-25) 10 commits
309
+ - fsmonitor: close inherited file descriptors and detach in daemon
310
+ - run-command: add close_fd_above_stderr option
311
+ - fsmonitor: add tests for Linux
312
- fsmonitor: implement filesystem change listener for Linux
313
+ - fsmonitor: deduplicate settings logic for Unix platforms
314
+ - fsmonitor: deduplicate IPC path logic for Unix platforms
315
+ - fsmonitor: use pthread_cond_timedwait for cookie wait
316
+ - compat/win32: add pthread_cond_timedwait
317
+ - fsmonitor: fix hashmap memory leak in fsmonitor_run_daemon
318
+ - fsmonitor: fix khash memory leak in do_handle_client
319
320
The fsmonitor daemon has been implemented for Linux.
321
322
Comments?
73
- cf. <aVuplzNaoCHlZG3S@pks.im>
74
- source: <pull.2147.v4.git.git.1767202894884.gitgitgadget@gmail.com>
323
+ source: <pull.2147.v6.git.git.1772050636.gitgitgadget@gmail.com>
324
325
326
* pt/t7527-flake-workaround (2025-12-31) 1 commit
@@ -82,8 +331,6 @@ may have to be discarded unless something new happens to them soon.
331
Comments?
332
source: <pull.2150.v2.git.git.1767226763360.gitgitgadget@gmail.com>
333
85
---------------------------------------------------
86
-[New Topics]
334
335
* ac/help-sort-correctly (2026-02-21) 2 commits
336
- SQUASH??? simplify
@@ -97,34 +344,36 @@ may have to be discarded unless something new happens to them soon.
344
345
346
* lg/t2004-test-path-is-helpers (2026-02-21) 1 commit
100
- - t2004: use test_path_is_file instead of test -f
347
+ (merged to 'next' on 2026-02-25 at c5862e1b3d)
348
+ + t2004: use test_path_is_file instead of test -f
349
350
Test code clean-up.
351
104
- Will merge to 'next'.
352
+ Will merge to 'master'.
353
source: <pull.2049.git.1771694893208.gitgitgadget@gmail.com>
354
355
356
* ps/simplify-normalize-path-copy-len (2026-02-21) 1 commit
109
- - path: factor out skip_slashes() in normalize_path_copy_len()
357
+ (merged to 'next' on 2026-02-25 at ce7c45c6fa)
358
+ + path: factor out skip_slashes() in normalize_path_copy_len()
359
360
Code clean-up.
361
113
- Will merge to 'next'.
362
+ Will merge to 'master'.
363
source: <20260221110511.1592-2-pushkarkumarsingh1970@gmail.com>
364
365
366
* sc/pack-redundant-leakfix (2026-02-21) 1 commit
118
- - pack-redundant: fix memory leak when open_pack_index() fails
367
+ (merged to 'next' on 2026-02-25 at b2fda8839e)
368
+ + pack-redundant: fix memory leak when open_pack_index() fails
369
370
Leakfix.
371
122
- Will merge to 'next'.
372
+ Will merge to 'master'.
373
source: <20260221103900.41740-1-sahityajb@gmail.com>
374
375
126
-* ty/setup-error-tightening (2026-02-22) 2 commits
127
- - SQUASH??? read_gitfile(): group ENOENT and ENOTDIR into a single MISSING error
376
+* ty/setup-error-tightening (2026-02-22) 1 commit
377
- setup: improve error diagnosis for invalid .git files
378
379
While discovering a ".git" directory, the code treats any stat()
@@ -133,21 +382,19 @@ may have to be discarded unless something new happens to them soon.
382
directory. The code has been tightened to notice and report
383
filesystem corruption better.
384
136
- Needs review.
137
- source: <20260222102928.377519-1-a3205153416@gmail.com>
385
+ Will merge to 'next'.
386
+ source: <20260223074410.917523-1-a3205153416@gmail.com>
387
388
389
* bc/do-not-reorder-packs-during-fsck (2026-02-22) 1 commit
141
- - fsck: do not loop infinitely when processing packs
390
+ . fsck: do not loop infinitely when processing packs
391
392
Access to packfiles during fsck would reorder the mru list of
393
packs, which causes the fsck to loop forever going over the list.
394
146
- Will merge to 'next'?
395
+ Supersided by ps/fsck-stream-from-the-right-object-instance?
396
source: <20260222183710.2963424-1-sandals@crustytoothpaste.net>
397
149
---------------------------------------------------
150
-[Cooking]
398
399
* ap/use-test-seq-f-more (2026-02-18) 1 commit
400
(merged to 'next' on 2026-02-20 at d847fcad1e)
@@ -165,7 +412,7 @@ may have to be discarded unless something new happens to them soon.
412
413
Wean the mailmap code off of the_repository dependency.
414
168
- Will merge to 'next'?
415
+ Will merge to 'next'.
416
source: <20260220060442.29469-1-bkkaracay@gmail.com>
417
418
@@ -192,16 +439,15 @@ may have to be discarded unless something new happens to them soon.
439
source: <xmqqh5r8r0to.fsf_-_@gitster.g>
440
441
195
-* kh/format-patch-noprefix-is-boolean (2026-02-18) 2 commits
442
+* kh/format-patch-noprefix-is-boolean (2026-02-23) 2 commits
443
- doc: diff-options.adoc: show format.noprefix for format-patch
444
- format-patch: make format.noprefix a boolean
445
446
The configuration variable format.noprefix did not behave as a
447
proper boolean variable, which has now been fixed and documented.
448
202
- Will merge to 'next'?
203
- cf. <xmqqy0ko626g.fsf@gitster.g>
204
- source: <CV_format.noprefix_boolean.39c@msgid.xyz>
449
+ Will merge to 'next'.
450
+ source: <V2_CV_format.noprefix_boolean.421@msgid.xyz>
451
452
453
* mf/format-patch-honor-from-for-cover-letter (2026-02-17) 1 commit
@@ -227,14 +473,15 @@ may have to be discarded unless something new happens to them soon.
473
474
475
* cs/subtree-split-fixes (2026-02-17) 3 commits
230
- - contrib/subtree: process out-of-prefix subtrees
231
- - contrib/subtree: test history depth
232
- - contrib/subtree: capture additional test-cases
476
+ (merged to 'next' on 2026-02-25 at 3824d2c52d)
477
+ + contrib/subtree: process out-of-prefix subtrees
478
+ + contrib/subtree: test history depth
479
+ + contrib/subtree: capture additional test-cases
480
481
An earlier attempt to optimize "git subtree" discarded too much
482
relevant histories, which has been corrected.
483
237
- Will merge to 'next'.
484
+ Will merge to 'master'.
485
source: <20260217-cs-subtree-remove-optimization-v2-0-4299e71a30c6@howdoi.land>
486
487
@@ -270,14 +517,14 @@ may have to be discarded unless something new happens to them soon.
517
"git apply --directory=./un/../normalized/path" now normalizes the
518
given path before using it.
519
273
- Will merge to 'next'?
520
+ Will merge to 'next'.
521
source: <pull.2198.v2.git.git.1771373732749.gitgitgadget@gmail.com>
522
523
277
-* lo/repo-leftover-bits (2026-02-18) 9 commits
524
+* lo/repo-leftover-bits (2026-02-25) 9 commits
525
- Documentation/git-repo: capitalize format descriptions
526
- Documentation/git-repo: replace 'NUL' with '_NUL_'
280
- - t1901: use tr in git repo structure output instead of expected value
527
+ - t1901: adjust nul format output instead of expected value
528
- t1900: rename t1900-repo to t1900-repo-info
529
- repo: rename struct field to repo_info_field
530
- repo: replace get_value_fn_for_key by get_repo_info_field
@@ -288,13 +535,11 @@ may have to be discarded unless something new happens to them soon.
535
536
Clean-up the code around "git repo info" command.
537
291
- Expecting a (hopefully small and final) reroll?
292
- cf. <aZgzmlVfuXgI2UJ9@pks.im>
293
- cf. <CAPig+cRHm1vDABoHNKiuBRRsvk90Z1qGeeu3DT3VHdzEfJeP=g@mail.gmail.com>
294
- source: <20260218211845.96009-1-lucasseikioshiro@gmail.com>
538
+ Will merge to 'next'?
539
+ source: <20260225183559.79303-1-lucasseikioshiro@gmail.com>
540
541
297
-* ps/maintenance-geometric-default (2026-02-20) 8 commits
542
+* ps/maintenance-geometric-default (2026-02-24) 8 commits
543
- builtin/maintenance: use "geometric" strategy by default
544
- t7900: prepare for switch of the default strategy
545
- t6500: explicitly use "gc" strategy
@@ -306,11 +551,11 @@ may have to be discarded unless something new happens to them soon.
551
552
"git maintenance" starts using the "geometric" strategy by default.
553
309
- Comments?
310
- source: <20260220-b4-pks-maintenance-default-geometric-strategy-v1-0-faeb321ad13b@pks.im>
554
+ Will merge to 'next'.
555
+ source: <20260224-b4-pks-maintenance-default-geometric-strategy-v2-0-8657338c6fa1@pks.im>
556
557
313
-* ps/refs-for-each (2026-02-20) 18 commits
558
+* ps/refs-for-each (2026-02-23) 18 commits
559
- refs: replace `refs_for_each_fullref_in()`
560
- refs: replace `refs_for_each_namespaced_ref()`
561
- refs: replace `refs_for_each_glob_ref()`
@@ -323,18 +568,18 @@ may have to be discarded unless something new happens to them soon.
568
- refs: generalize `refs_for_each_namespaced_ref()`
569
- refs: speed up `refs_for_each_glob_ref_in()`
570
- refs: introduce `refs_for_each_ref_ext`
326
- - refs: remove unused `refs_for_each_include_root_ref()`
571
- refs: rename `each_ref_fn`
572
- refs: rename `do_for_each_ref_flags`
573
- refs: move `do_for_each_ref_flags` further up
574
- refs: move `refs_head_ref_namespaced()`
575
+ - refs: remove unused `refs_for_each_include_root_ref()`
576
- Merge branch 'ps/for-each-ref-in-fixes' into ps/refs-for-each
577
(this branch uses ps/for-each-ref-in-fixes.)
578
579
Code refactoring around refs-for-each-* API functions.
580
581
Comments?
337
- source: <20260220-pks-refs-for-each-unification-v1-0-17170bd99de1@pks.im>
582
+ source: <20260223-pks-refs-for-each-unification-v2-0-515d48c8087b@pks.im>
583
584
585
* sa/replay-revert (2026-02-18) 2 commits
@@ -356,17 +601,17 @@ may have to be discarded unless something new happens to them soon.
601
The last uses of the_repository in "tree-diff.c" have been
602
eradicated.
603
359
- Will merge to 'next'?
604
+ Will merge to 'next'.
605
source: <20260220175331.1250726-1-shreyanshpaliwalcmsmn@gmail.com>
606
607
363
-* dk/meson-regen-config-list (2026-02-21) 1 commit
608
+* dk/meson-regen-config-list (2026-02-24) 1 commit
609
- build: regenerate config-list.h when Documentation changes
610
366
- Fix dependency screw-up in meson-based builds
611
+ Fix dependency screw-up in meson-based builds.
612
368
- Will merge to 'next'?
369
- source: <5dcd4e9308100a25603c50fecb36447c0ee4df62.1771682788.git.ben.knoble+github@gmail.com>
613
+ Will merge to 'next'.
614
+ source: <4ef96c6bbf698a08df1df87b7cb053b6d0d00822.1771943954.git.ben.knoble+github@gmail.com>
615
616
617
* jk/ref-filter-lrstrip-optim (2026-02-19) 5 commits
@@ -409,39 +654,16 @@ may have to be discarded unless something new happens to them soon.
654
source: <20260218175654.66004-1-shreyanshpaliwalcmsmn@gmail.com>
655
656
412
-* vp/http-rate-limit-retries (2026-02-18) 5 commits
657
+* vp/http-rate-limit-retries (2026-02-23) 4 commits
658
- http: add support for HTTP 429 rate limit retries
659
- remote-curl: introduce show_http_message_fatal() helper
415
- - strbuf: replace strbuf_grow() in strbuf_attach() with BUG() check
416
- - strbuf_attach: fix all call sites to pass correct alloc
660
+ - strbuf_attach: fix call sites to pass correct alloc
661
- strbuf: pass correct alloc to strbuf_attach() in strbuf_reencode()
662
663
The HTTP transport learned to react to "429 Too Many Requests".
664
665
Comments?
422
- source: <pull.2008.v4.git.1771423748.gitgitgadget@gmail.com>
423
-
424
-
425
-* ps/pack-concat-wo-backfill (2026-02-11) 1 commit
426
- (merged to 'next' on 2026-02-17 at 221d0623a2)
427
- + builtin/pack-objects: don't fetch objects when merging packs
428
-
429
- "git pack-objects --stdin-packs" with "--exclude-promisor-objects"
430
- fetched objects that are promised, which was not wanted. This has
431
- been fixed.
432
-
433
- Will merge to 'master'.
434
- source: <20260211-pks-pack-objects-stdin-skip-backfill-fetch-v1-1-870cad56d8ae@pks.im>
435
-
436
-
437
-* jc/doc-cg-needswork (2026-02-12) 1 commit
438
- (merged to 'next' on 2026-02-17 at 5e35bc87bd)
439
- + CodingGuidelines: document NEEDSWORK comments
440
-
441
- A CodingGuidelines update.
442
-
443
- Will merge to 'master'.
444
- source: <xmqqldgxmzbj.fsf@gitster.g>
666
+ source: <pull.2008.v5.git.1771856405.gitgitgadget@gmail.com>
667
668
669
* jh/alias-i18n (2026-02-18) 4 commits
@@ -450,6 +672,7 @@ may have to be discarded unless something new happens to them soon.
672
+ alias: support non-alphanumeric names via subsection syntax
673
+ alias: prepare for subsection aliases
674
+ help: use list_aliases() for alias listing
675
+ (this branch is used by jh/alias-i18n-fixes and kh/alias-i18n-docfix.)
676
677
Extend the alias configuration syntax to allow aliases using
678
characters outside ASCII alphanumeric (plus '-').
@@ -458,17 +681,17 @@ may have to be discarded unless something new happens to them soon.
681
source: <20260218215737.1181147-1-jonatan@jontes.page>
682
683
461
-* hy/diff-lazy-fetch-with-break-fix (2026-02-12) 2 commits
462
- - SQUASH???
463
- - diffcore-break: prevent dangling pointer
684
+* hy/diff-lazy-fetch-with-break-fix (2026-02-23) 1 commit
685
+ (merged to 'next' on 2026-02-25 at afe07ad86c)
686
+ + diffcore-break: avoid segfault with freed entries
687
688
A prefetch call can be triggered to access a stale diff_queue entry
689
after diffcore-break breaks a filepair into two and freed the
690
original entry that is no longer used, leading to a segfault, which
691
has been corrected.
692
470
- Will squash in the fixup and merge to 'next'.
471
- source: <20260212072002.2347-2-hanyang.tony@bytedance.com>
693
+ Will merge to 'master'.
694
+ source: <20260224061329.60364-2-hanyang.tony@bytedance.com>
695
696
697
* ps/history-ergonomics-updates (2026-02-15) 5 commits
@@ -485,36 +708,6 @@ may have to be discarded unless something new happens to them soon.
708
source: <20260216-b4-pks-history-dry-run-v3-0-c4db58a651fc@pks.im>
709
710
488
-* ac/string-list-sort-u-and-tests (2026-02-12) 1 commit
489
- (merged to 'next' on 2026-02-17 at 14b7b5d918)
490
- + sparse-checkout: use string_list_sort_u
491
-
492
- Code clean-up using a new helper function introduced lately.
493
-
494
- Will merge to 'master'.
495
- source: <20260213033729.50208-1-amishhhaaaa@gmail.com>
496
-
497
-
498
-* dk/complete-stash-import-export (2026-02-07) 1 commit
499
- (merged to 'next' on 2026-02-17 at 406e4cc3ee)
500
- + completion: add stash import, export
501
-
502
- Command line completion (in contrib/) update.
503
-
504
- Will merge to 'master'.
505
- source: <20260207215924.28863-1-ben.knoble+github@gmail.com>
506
-
507
-
508
-* kh/doc-am-format-sendmail (2026-02-12) 1 commit
509
- (merged to 'next' on 2026-02-13 at 8850dc2fa9)
510
- + doc: add caveat about round-tripping format-patch
511
-
512
- Doc update.
513
-
514
- Will merge to 'master'.
515
- source: <V3_format-patch_caveats.354@msgid.xyz>
516
-
517
-
711
* kh/doc-patch-id-4 (2026-02-14) 3 commits
712
(merged to 'next' on 2026-02-22 at bfae23ac5e)
713
+ doc: patch-id: see also git-cherry(1)
@@ -527,18 +720,6 @@ may have to be discarded unless something new happens to them soon.
720
source: <V2_CV_doc_patch-id_4.371@msgid.xyz>
721
722
530
-* pw/commit-msg-sample-hook (2026-02-13) 2 commits
531
- (merged to 'next' on 2026-02-17 at 6a23eb7fc3)
532
- + templates: detect commit messages containing diffs
533
- + templates: add .gitattributes entry for sample hooks
534
-
535
- Update sample commit-msg hook to complain when a log message has
536
- material mailinfo considers the end of log message in the middle.
537
-
538
- Will merge to 'master'.
539
- source: <cover.1770993281.git.phillip.wood@dunelm.org.uk>
540
-
541
-
723
* kh/doc-am-xref (2026-02-09) 4 commits
724
(merged to 'next' on 2026-02-22 at 920d0c2836)
725
+ doc: am: fill out hook discussion
@@ -593,13 +774,13 @@ may have to be discarded unless something new happens to them soon.
774
source: <604c79018992dee019205741934508091cdd1e47.1770631599.git.phillip.wood@dunelm.org.uk>
775
776
596
-* ds/config-list-with-type (2026-02-13) 13 commits
777
+* ds/config-list-with-type (2026-02-23) 13 commits
778
+ - config: use an enum for type
779
- config: restructure format_config()
598
- - config: format colors gently
599
- - color: add color_parse_gently()
600
- - config: format expiry dates gently
780
+ - config: format colors quietly
781
+ - color: add color_parse_quietly()
782
+ - config: format expiry dates quietly
783
- config: format paths gently
602
- - parse: add git_parse_maybe_pathname()
784
- config: format bools or strings in helper
785
- config: format bools or ints gently
786
- config: format bools gently
@@ -611,9 +792,8 @@ may have to be discarded unless something new happens to them soon.
792
"git config list" is taught to show the values interpreted for
793
specific type with "--type=<X>" option.
794
614
- Expecting a reroll?
615
- cf. <aZQvSvBEebHFf9Bb@pks.im>
616
- source: <pull.2044.v2.git.1771026918.gitgitgadget@gmail.com>
795
+ Will merge to 'next'.
796
+ source: <pull.2044.v3.git.1771849615.gitgitgadget@gmail.com>
797
798
799
* rr/gitweb-mobile (2026-02-16) 5 commits
@@ -625,7 +805,7 @@ may have to be discarded unless something new happens to them soon.
805
806
"gitweb" has been taught to be mobile friendly.
807
628
- Will merge to 'next'?
808
+ Will merge to 'next'.
809
source: <pull.2043.v2.git.1771257211.gitgitgadget@gmail.com>
810
811
@@ -634,24 +814,26 @@ may have to be discarded unless something new happens to them soon.
814
815
Simplify build procedure for oxskeychain (in contrib/).
816
637
- Will merge to 'next'?
817
+ Will merge to 'next'.
818
source: <pull.2046.v4.git.1771551540816.gitgitgadget@gmail.com>
819
820
821
* aa/add-p-no-auto-advance (2026-02-14) 4 commits
642
- - add-patch: allow interfile navigation when selecting hunks
643
- - add-patch: allow all-or-none application of patches
644
- - add-patch: modify patch_update_file() signature
645
- - interactive -p: add new `--auto-advance` flag
822
+ (merged to 'next' on 2026-02-25 at ce27f94bc2)
823
+ + add-patch: allow interfile navigation when selecting hunks
824
+ + add-patch: allow all-or-none application of patches
825
+ + add-patch: modify patch_update_file() signature
826
+ + interactive -p: add new `--auto-advance` flag
827
828
"git add -p" learned a new mode that allows the user to revisit a
829
file that was already dealt with.
830
650
- Will merge to 'next'?
831
+ Will merge to 'master'.
832
source: <cover.1771066252.git.abrahamadekunle50@gmail.com>
833
834
654
-* kn/ref-location (2026-02-19) 5 commits
835
+* kn/ref-location (2026-02-25) 6 commits
836
+ - refs: add GIT_REFERENCE_BACKEND to specify reference backend
837
- refs: allow reference location in refstorage config
838
- refs: receive and use the reference storage payload
839
- refs: move out stub modification to generic layer
@@ -661,8 +843,8 @@ may have to be discarded unless something new happens to them soon.
843
Allow the directory in which reference backends store their data to
844
be specified.
845
664
- Will merge to 'next'?
665
- source: <20260219-kn-alternate-ref-dir-v7-0-16f27860dbdf@gmail.com>
846
+ Will merge to 'next'.
847
+ source: <20260225-kn-alternate-ref-dir-v9-0-3fe118e40e28@gmail.com>
848
849
850
* ar/config-hooks (2026-02-18) 9 commits
@@ -681,7 +863,7 @@ may have to be discarded unless something new happens to them soon.
863
configuration files, and run multiple of them for the same hook
864
event.
865
684
- Will merge to 'next'?
866
+ Will merge to 'next'.
867
source: <20260218222352.55393-1-adrian.ratiu@collabora.com>
868
869
@@ -739,23 +921,6 @@ may have to be discarded unless something new happens to them soon.
921
source: <20260222002904.1879356-1-adrian.ratiu@collabora.com>
922
923
742
-* mc/tr2-process-ancestry-cleanup (2026-02-13) 6 commits
743
- (merged to 'next' on 2026-02-17 at 2ebebfc02c)
744
- + t0213: add trace2 cmd_ancestry tests
745
- + test-tool: extend trace2 helper with 400ancestry
746
- + trace2: emit cmd_ancestry data for Windows
747
- + trace2: refactor Windows process ancestry trace2 event
748
- + build: include procinfo.c impl for macOS
749
- + trace2: add macOS process ancestry tracing
750
-
751
- Add process ancestry data to trace2 on macOS to match what we
752
- already do on Linux and Windows. Also adjust the way Windows
753
- implementation reports this information to match the other two.
754
-
755
- Will merge to 'master'.
756
- source: <pull.2040.v2.git.1771012500.gitgitgadget@gmail.com>
757
-
758
-
924
* jc/checkout-switch-restore (2026-01-29) 2 commits
925
(merged to 'next' on 2026-02-20 at a386d47625)
926
+ checkout: tell "parse_remote_branch" which command is calling it
@@ -792,6 +957,7 @@ may have to be discarded unless something new happens to them soon.
957
+ odb: drop gaps in object info flag values
958
+ builtin/fsck: fix flags passed to `odb_has_object()`
959
+ builtin/backfill: fix flags passed to `odb_has_object()`
960
+ (this branch is used by ps/odb-sources.)
961
962
A couple of bugs in use of flag bits around odb API has been
963
corrected, and the flag bits reordered.
@@ -810,17 +976,6 @@ may have to be discarded unless something new happens to them soon.
976
source: <20260216172028.140525-1-a3205153416@gmail.com>
977
978
813
-* ds/revision-maximal-only (2026-01-22) 1 commit
814
- (merged to 'next' on 2026-02-17 at 1ed2797464)
815
- + revision: add --maximal-only option
816
-
817
- "git rev-list" and friends learn "--maximal-only" to show only the
818
- commits that are not reachable by other commits.
819
-
820
- Will merge to 'master'.
821
- source: <pull.2032.v2.git.1769097958549.gitgitgadget@gmail.com>
822
-
823
-
979
* ng/submodule-default-remote (2026-01-23) 3 commits
980
- SQUASH??? fixup
981
- SQUASH??? fixup
@@ -917,6 +1072,7 @@ may have to be discarded unless something new happens to them soon.
1072
+ odb: rename `FOR_EACH_OBJECT_*` flags
1073
+ Merge branch 'ps/packfile-store-in-odb-source' into ps/odb-for-each-object
1074
+ Merge branch 'ps/read-object-info-improvements' into ps/odb-for-each-object
1075
+ (this branch is used by ps/odb-sources.)
1076
1077
Revamp object enumeration API around odb.
1078
@@ -944,7 +1100,7 @@ may have to be discarded unless something new happens to them soon.
1100
get confused where the updated shallow points are, which has been
1101
corrected.
1102
947
- Will merge to 'next'?
1103
+ Will merge to 'next'.
1104
source: <pull.2121.v5.git.git.1771186316.gitgitgadget@gmail.com>
1105
1106
@@ -991,24 +1147,6 @@ may have to be discarded unless something new happens to them soon.
1147
source: <cover.1771258573.git.belkid98@gmail.com>
1148
1149
994
-* cc/lop-filter-auto (2026-02-16) 9 commits
995
- (merged to 'next' on 2026-02-17 at f10e546e7b)
996
- + fetch-pack: wire up and enable auto filter logic
997
- + promisor-remote: change promisor_remote_reply()'s signature
998
- + promisor-remote: keep advertised filters in memory
999
- + list-objects-filter-options: support 'auto' mode for --filter
1000
- + doc: fetch: document `--filter=<filter-spec>` option
1001
- + fetch: make filter_options local to cmd_fetch()
1002
- + clone: make filter_options local to cmd_clone()
1003
- + promisor-remote: allow a client to store fields
1004
- + promisor-remote: refactor initialising field lists
1005
-
1006
- "auto filter" logic for large-object promisor remote.
1007
-
1008
- Will merge to 'master'.
1009
- source: <20260216132317.15894-1-christian.couder@gmail.com>
1010
-
1011
-
1150
* lo/repo-info-keys (2026-02-13) 2 commits
1151
(merged to 'next' on 2026-02-19 at 3a9b510b86)
1152
+ repo: add new flag --keys to git-repo-info
@@ -1021,7 +1159,7 @@ may have to be discarded unless something new happens to them soon.
1159
source: <20260214005818.37349-1-lucasseikioshiro@gmail.com>
1160
1161
1024
-* tb/incremental-midx-part-3.2 (2026-01-14) 19 commits
1162
+* tb/incremental-midx-part-3.2 (2026-02-24) 17 commits
1163
- midx: enable reachability bitmaps during MIDX compaction
1164
- midx: implement MIDX compaction
1165
- t/helper/test-read-midx.c: plug memory leak when selecting layer
@@ -1029,7 +1167,6 @@ may have to be discarded unless something new happens to them soon.
1167
- midx-write.c: enumerate `pack_int_id` values directly
1168
- midx-write.c: extract `fill_pack_from_midx()`
1169
- midx-write.c: introduce `midx_pack_perm()` helper
1032
- - git-compat-util.h: introduce `u32_add()`
1170
- midx: do not require packs to be sorted in lexicographic order
1171
- midx-write.c: introduce `struct write_midx_opts`
1172
- midx-write.c: don't use `pack_perm` when assigning `bitmap_pos`
@@ -1040,12 +1177,11 @@ may have to be discarded unless something new happens to them soon.
1177
- midx: introduce `midx_get_checksum_hex()`
1178
- midx: rename `get_midx_checksum()` to `midx_get_checksum_hash()`
1179
- midx: mark `get_midx_checksum()` arguments as const
1043
- - Merge branch 'tb/midx-write-corrupt-checksum-fix' into tb/incremental-midx-part-3.2
1180
1181
Further work on incremental repacking using MIDX/bitmap
1182
1047
- Comments?
1048
- source: <cover.1768420450.git.me@ttaylorr.com>
1183
+ Will merge to 'next'?
1184
+ source: <cover.1771959555.git.me@ttaylorr.com>
1185
1186
1187
* bc/sha1-256-interop-02 (2026-02-07) 16 commits
@@ -1073,7 +1209,7 @@ may have to be discarded unless something new happens to them soon.
1209
which is essentially identical to v2 with CI fixes (which work!).
1210
1211
1076
-* hn/status-compare-with-push (2026-01-22) 3 commits
1212
+* hn/status-compare-with-push (2026-02-25) 3 commits
1213
- status: add status.compareBranches config for multiple branch comparisons
1214
- refactor format_branch_comparison in preparation
1215
- Merge branch 'jk/remote-tracking-ref-leakfix' into hn/status-compare-with-push
@@ -1081,9 +1217,4 @@ may have to be discarded unless something new happens to them soon.
1217
"git status" learned to show comparison between the current branch
1218
and various other branches listed on status.compareBranches
1219
configuration.
1084
-
1085
- Will merge to 'next'?
1086
- cf. <20260122220154.GA2107958@coredump.intra.peff.net>
1087
- cf. <aZs6OvvBB4WPNx8j@denethor>
1088
- source: <20260207200446.2837699-1-sandals@crustytoothpaste.net>
1089
- source: <pull.2138.v28.git.git.1769112471.gitgitgadget@gmail.com>
1220
+ source: <pull.2138.v29.git.git.1772056263.gitgitgadget@gmail.com>