What's cooking (2026/02 #07)

Junio C Hamano committed Feb 20, 2026 at 15:18 UTC 0ceb40560a5cca1c98c1d1b37a1f3254fbdd2efd
1 file changed +376 -243
whats-cooking.txt
+376 -243
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Feb 2026, #06)
3 -X-master-at: 73fd77805fc6406f31c36212846d9e2541d19321
4 -X-next-at: f7e9f6c205466443107228e036b20acb7baa8c50
2 +Subject: What's cooking in git.git (Feb 2026, #07)
3 +X-master-at: 7c02d39fc2ed2702223c7674f73150d9a7e61ba4
4 +X-next-at: 4a7958ca1415077ce9b1d0a38223ede55da779d9
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Feb 2026, #06)
7 +What's cooking in git.git (Feb 2026, #07)
8 -----------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -50,122 +50,325 @@ Release tarballs are available at:
50 --------------------------------------------------
51 [Graduated to 'master']
52
53 -* bk/t2003-modernise (2026-02-09) 1 commit
54 - (merged to 'next' on 2026-02-10 at 561a73205e)
55 - + t2003: modernize path existence checks using test helpers
53 +* ak/t9812-test-path-is-helpers (2026-02-11) 1 commit
54 + (merged to 'next' on 2026-02-13 at a9746d98e4)
55 + + t9812: modernize test path helpers
56
57 Test update.
58 - source: <20260209112444.1268765-1-bkkaracay@gmail.com>
58 + source: <20260212054530.4763-1-ashwanikamal.im421@gmail.com>
59
60
61 -* ja/doc-synopsis-style-even-more (2026-02-05) 4 commits
62 - (merged to 'next' on 2026-02-09 at d732b9d6a0)
63 - + doc: convert git-show to synopsis style
64 - + doc: fix some style issues in git-clone and for-each-ref-options
65 - + doc: finalize git-clone documentation conversion to synopsis style
66 - + doc: convert git-submodule to synopsis style
61 +* jc/doc-cg-c-comment (2026-02-11) 1 commit
62 + (merged to 'next' on 2026-02-12 at d1286b26eb)
63 + + CodingGuidelines: document // comments
64
68 - A handful of documentation pages have been modernized to use the
69 - "synopsis" style.
70 - source: <pull.2036.v4.git.1770351146.gitgitgadget@gmail.com>
65 + A CodingGuidelines update.
66 + source: <xmqqikc3t7hf.fsf@gitster.g>
67
68
73 -* jc/doc-rerere-update (2026-02-09) 1 commit
74 - (merged to 'next' on 2026-02-10 at 88a6c151d7)
75 - + rerere: minor documantation update
69 +* pw/diff-anchored-optim (2026-02-12) 1 commit
70 + (merged to 'next' on 2026-02-13 at a8e8191f03)
71 + + diff --anchored: avoid checking unmatched lines
72
77 - Doc update.
78 - source: <xmqqikc54vse.fsf@gitster.g>
73 + "git diff --anchored=<text>" has been optimized.
74 + source: <2a8cc2d6c37f25a58823b501500165d597321749.1770911599.git.phillip.wood@dunelm.org.uk>
75
76
81 -* kh/doc-rerere-options-xref (2026-02-10) 1 commit
82 - (merged to 'next' on 2026-02-10 at 1ade94535a)
83 - + doc: rerere-options.adoc: link to git-rerere(1)
77 +* pw/xdiff-cleanups (2026-01-26) 2 commits
78 + (merged to 'next' on 2026-02-11 at e6df42d605)
79 + + xdiff: remove unused data from xdlclass_t
80 + + xdiff: remove "line_hash" field from xrecord_t
81
85 - Doc update.
86 - source: <V2_doc_link_rerere.34f@msgid.xyz>
82 + Small clean-up of xdiff library to remove unnecessary data
83 + duplication.
84 + source: <cover.1769424529.git.phillip.wood@dunelm.org.uk>
85 +
86 +--------------------------------------------------
87 +[Stalled]
88 +
89 +These topics have been sitting without activity for too long. They
90 +may have to be discarded unless something new happens to them soon.
91 +
92 +
93 +* tt/receive-pack-oo-namespace-symref-fix (2025-12-27) 1 commit
94 + - receive-pack: fix crash on out-of-namespace symref
95 +
96 + "git receive-pack", when namespace is involved, segfaulted when a
97 + symbolic ref cross the namespace boundary.
98 +
99 + May not be a good idea after all. A controlled death would be OK, though.
100 + cf. <xmqqbjjgiz3a.fsf@gitster.g>
101 + source: <pull.2144.git.git.1766850014289.gitgitgadget@gmail.com>
102 +
103 +
104 +* pt/fsmonitor-linux (2025-12-31) 1 commit
105 + - fsmonitor: implement filesystem change listener for Linux
106 +
107 + The fsmonitor daemon has been implemented for Linux.
108 +
109 + Comments?
110 + cf. <aVuplzNaoCHlZG3S@pks.im>
111 + source: <pull.2147.v4.git.git.1767202894884.gitgitgadget@gmail.com>
112 +
113 +
114 +* pt/t7527-flake-workaround (2025-12-31) 1 commit
115 + - t7527: fix flaky fsmonitor event tests with retry logic
116 +
117 + Test fixup.
118 +
119 + Comments?
120 + source: <pull.2150.v2.git.git.1767226763360.gitgitgadget@gmail.com>
121 +
122 +
123 +* hn/status-compare-with-push (2026-01-22) 3 commits
124 + - status: add status.compareBranches config for multiple branch comparisons
125 + - refactor format_branch_comparison in preparation
126 + - Merge branch 'jk/remote-tracking-ref-leakfix' into hn/status-compare-with-push
127 +
128 + "git status" learned to show comparison between the current branch
129 + and its push destination as well as its upstream, when the two are
130 + different (i.e., triangular workflow).
131 +
132 + What's the status of this topic?
133 + cf. <20260122220154.GA2107958@coredump.intra.peff.net>
134 + source: <pull.2138.v28.git.git.1769112471.gitgitgadget@gmail.com>
135
136 +--------------------------------------------------
137 +[New Topics]
138
89 -* pc/lockfile-pid (2026-01-22) 1 commit
90 - (merged to 'next' on 2026-02-09 at 87bfa08d16)
91 - + lockfile: add PID file for debugging stale locks
139 +* ap/use-test-seq-f-more (2026-02-18) 1 commit
140 + (merged to 'next' on 2026-02-20 at d847fcad1e)
141 + + t: use test_seq -f and pipes in a few more places
142
93 - Allow recording process ID of the process that holds the lock next
94 - to a lockfile for diagnosis.
95 - source: <pull.2011.v6.git.1769109815197.gitgitgadget@gmail.com>
143 + Test clean-up.
144
145 + Will merge to 'master'.
146 + source: <20260218181019.1705160-1-aplattner@nvidia.com>
147
98 -* rs/clean-includes (2026-02-08) 1 commit
99 - (merged to 'next' on 2026-02-10 at 883d07f2eb)
100 - + remove duplicate includes
148
102 - Clean up redundant includes of header files.
103 - source: <280325e3-401c-47c7-98cf-c5cc7f719ee4@web.de>
149 +* bk/mailmap-wo-the-repository (2026-02-19) 2 commits
150 + - mailmap: drop global config variables
151 + - mailmap: stop using the_repository
152
153 + Wean the mailmap code off of the_repository dependency.
154 +
155 + Will merge to 'next'?
156 + source: <20260220060442.29469-1-bkkaracay@gmail.com>
157
106 -* rs/commit-commit-stack (2026-02-08) 1 commit
107 - (merged to 'next' on 2026-02-10 at c1a50b2859)
108 - + commit: use commit_stack
158
110 - Code clean-up to use the commit_stack API.
111 - source: <db40d132-14ca-4749-937a-9410ecc17dde@web.de>
159 +* db/doc-fetch-jobs-auto (2026-02-18) 1 commit
160 + (merged to 'next' on 2026-02-20 at 4e20a85963)
161 + + doc: fetch: document `--jobs=0` behavior
162
163 + Doc update.
164
114 -* rs/version-wo-the-repository (2026-02-08) 1 commit
115 - (merged to 'next' on 2026-02-10 at 80809d2b3d)
116 - + version: stop using the_repository
165 + Will merge to 'master'.
166 + source: <pull.2047.git.1771443159369.gitgitgadget@gmail.com>
167 +
168 +
169 +* jt/object-file-use-container-of (2026-02-18) 1 commit
170 + (merged to 'next' on 2026-02-20 at 7a30cb262f)
171 + + object-file: use `container_of()` to convert from base types
172
173 Code clean-up.
119 - source: <afccdc3a-8672-49a7-b260-e77e617d8976@web.de>
174 +
175 + Will merge to 'master'.
176 + source: <20260218210120.1146078-1-jltobler@gmail.com>
177
178
122 -* rs/xdiff-wo-the-repository (2026-02-09) 1 commit
123 - (merged to 'next' on 2026-02-10 at dbb8a23008)
124 - + xdiff-interface: stop using the_repository
179 +* kh/format-patch-noprefix-is-boolean (2026-02-18) 2 commits
180 + - doc: diff-options.adoc: show format.noprefix for format-patch
181 + - format-patch: make format.noprefix a boolean
182
126 - Reduce dependency on the_repository of xdiff-interface layer.
127 - source: <59fe4ac7-605d-4eae-b13c-46996dd8814e@web.de>
183 + The configuration variable format.noprefix did not behave as a
184 + proper boolean variable, which has now been fixed and documented.
185 +
186 + Will merge to 'next'?
187 + cf. <xmqqy0ko626g.fsf@gitster.g>
188 + source: <CV_format.noprefix_boolean.39c@msgid.xyz>
189
190
130 -* sd/t7003-test-path-is-helpers (2026-02-09) 1 commit
131 - (merged to 'next' on 2026-02-10 at 5e3bc9f2b9)
132 - + t7003: modernize path existence checks using test helpers
191 +* mf/format-patch-honor-from-for-cover-letter (2026-02-17) 1 commit
192 + (merged to 'next' on 2026-02-20 at d3efdd79b2)
193 + + format-patch: fix From header in cover letter
194
134 - Test updates.
135 - source: <20260209172445.39536-1-valusoutrik@gmail.com>
195 + "git format-patch --from=<me>" did not honor the command line
196 + option when writing out the cover letter, which has been corrected.
197 +
198 + Will merge to 'master'.
199 + source: <20260217232519.24898-1-mroik@delayed.space>
200
201
138 -* yt/merge-file-outside-a-repository (2026-02-07) 1 commit
139 - (merged to 'next' on 2026-02-10 at ee1ced4120)
140 - + merge-file: honor merge.conflictStyle outside of a repository
202 +* pw/no-more-NULL-means-current-worktree (2026-02-19) 2 commits
203 + - path: remove repository argument from worktree_git_path()
204 + - wt-status: avoid passing NULL worktree
205 +
206 + API clean-up for the worktree subsystem.
207 +
208 + Will merge to 'next'?
209 + cf. <xmqqv7fs4jlp.fsf@gitster.g>
210 + source: <cover.1771511192.git.phillip.wood@dunelm.org.uk>
211 +
212 +
213 +* cs/subtree-split-fixes (2026-02-17) 3 commits
214 + - contrib/subtree: process out-of-prefix subtrees
215 + - contrib/subtree: test history depth
216 + - contrib/subtree: capture additional test-cases
217 +
218 + An earlier attempt to optimize "git subtree" discarded too much
219 + relevant histories, which has been corrected.
220 +
221 + Will merge to next?
222 + source: <20260217-cs-subtree-remove-optimization-v2-0-4299e71a30c6@howdoi.land>
223 +
224 +
225 +* dt/send-email-client-cert (2026-02-20) 1 commit
226 + - send-mail: add client certificate options
227 +
228 + "git send-email" learns to support use of client-side certificates.
229 +
230 + Expecting a (hopefully small and final) reroll?
231 + cf. <xmqqh5rbz83b.fsf@gitster.g>
232 + source: <20260220081717.555185-2-dxdt@dev.snart.me>
233 +
234 +
235 +* en/merge-ort-almost-wo-the-repository (2026-02-19) 6 commits
236 + - replay: prevent the_repository from coming back
237 + - merge-ort: prevent the_repository from coming back
238 + - merge-ort: replace the_hash_algo with opt->repo->hash_algo
239 + - merge-ort: replace the_repository with opt->repo
240 + - merge-ort: pass repository to write_tree()
241 + - merge,diff: remove the_repository check before prefetching blobs
242 +
243 + Mark the marge-ort codebase to prevent more uses of the_repository
244 + from getting added.
245 +
246 + Expecting a reroll.
247 + cf. <CABPp-BGR5Mrm30sSb9Y96VkFC5-XFTYkoAp60LMAf6gCgW3QEg@mail.gmail.com>
248 + source: <pull.2048.v2.git.1771552788.gitgitgadget@gmail.com>
249
142 - "git merge-file" can be run outside a repository, but it ignored
143 - all configuration, even the per-user ones. The command now uses
144 - available configuration files to find its customization.
145 - source: <3488DCC3-D127-465B-BB95-3D87BB2E48F6@ytausch.de>
250 +
251 +* jr/apply-directory-normalize (2026-02-17) 1 commit
252 + - apply: normalize path in --directory argument
253 +
254 + "git apply --directory=./un/../normalized/path" now normalizes the
255 + given path before using it.
256 +
257 + Will merge to 'next'?
258 + source: <pull.2198.v2.git.git.1771373732749.gitgitgadget@gmail.com>
259 +
260 +
261 +* lo/repo-leftover-bits (2026-02-18) 9 commits
262 + - Documentation/git-repo: capitalize format descriptions
263 + - Documentation/git-repo: replace 'NUL' with '_NUL_'
264 + - t1901: use tr in git repo structure output instead of expected value
265 + - t1900: rename t1900-repo to t1900-repo-info
266 + - repo: rename struct field to repo_info_field
267 + - repo: replace get_value_fn_for_key by get_repo_info_field
268 + - repo: rename repo_info_fields to repo_info_field
269 + - CodingGuidelines: instruct to name arrays in singular
270 + - Merge branch 'lo/repo-info-keys' into lo/repo-leftover-bits
271 + (this branch uses lo/repo-info-keys.)
272 +
273 + Clean-up the code around "git repo info" command.
274 +
275 + Expecting a (hopefully small and final) reroll?
276 + cf. <aZgzmlVfuXgI2UJ9@pks.im>
277 + cf. <CAPig+cRHm1vDABoHNKiuBRRsvk90Z1qGeeu3DT3VHdzEfJeP=g@mail.gmail.com>
278 + source: <20260218211845.96009-1-lucasseikioshiro@gmail.com>
279 +
280 +
281 +* ps/maintenance-geometric-default (2026-02-20) 8 commits
282 + - builtin/maintenance: use "geometric" strategy by default
283 + - t7900: prepare for switch of the default strategy
284 + - t6500: explicitly use "gc" strategy
285 + - t5510: explicitly use "gc" strategy
286 + - t5400: explicitly use "gc" strategy
287 + - t34xx: don't expire reflogs where it matters
288 + - t: disable maintenance where we verify object database structure
289 + - t: fix races caused by background maintenance
290 +
291 + "git maintenance" starts using the "geometric" strategy by default.
292 +
293 + Comments?
294 + source: <20260220-b4-pks-maintenance-default-geometric-strategy-v1-0-faeb321ad13b@pks.im>
295 +
296 +
297 +* ps/refs-for-each (2026-02-20) 18 commits
298 + - refs: replace `refs_for_each_fullref_in()`
299 + - refs: replace `refs_for_each_namespaced_ref()`
300 + - refs: replace `refs_for_each_glob_ref()`
301 + - refs: replace `refs_for_each_glob_ref_in()`
302 + - refs: replace `refs_for_each_rawref_in()`
303 + - refs: replace `refs_for_each_rawref()`
304 + - refs: replace `refs_for_each_ref_in()`
305 + - refs: improve verification for-each-ref options
306 + - refs: generalize `refs_for_each_fullref_in_prefixes()`
307 + - refs: generalize `refs_for_each_namespaced_ref()`
308 + - refs: speed up `refs_for_each_glob_ref_in()`
309 + - refs: introduce `refs_for_each_ref_ext`
310 + - refs: remove unused `refs_for_each_include_root_ref()`
311 + - refs: rename `each_ref_fn`
312 + - refs: rename `do_for_each_ref_flags`
313 + - refs: move `do_for_each_ref_flags` further up
314 + - refs: move `refs_head_ref_namespaced()`
315 + - Merge branch 'ps/for-each-ref-in-fixes' into ps/refs-for-each
316 + (this branch uses ps/for-each-ref-in-fixes.)
317 +
318 + Code refactoring around refs-for-each-* API functions.
319 +
320 + Comments?
321 + source: <20260220-pks-refs-for-each-unification-v1-0-17170bd99de1@pks.im>
322 +
323 +
324 +* sa/replay-revert (2026-02-18) 2 commits
325 + - replay: add --revert mode to reverse commit changes
326 + - sequencer: extract revert message formatting into shared function
327 +
328 + "git replay" (experimental) learns, in addition to "pick" and
329 + "replay", a new operating mode "revert".
330 +
331 + Expecting a reroll?
332 + cf. <87wm07e4ck.fsf@iotcl.com>
333 + cf. <87tsvbe2sm.fsf@iotcl.com>
334 + source: <20260218234215.89326-1-siddharthasthana31@gmail.com>
335 +
336 +
337 +* sp/tree-diff-wo-the-repository (2026-02-20) 1 commit
338 + - tree-diff: remove the usage of the_hash_algo global
339 +
340 + The last uses of the_repository in "tree-diff.c" have been
341 + eradicated.
342 +
343 + Will merge to 'next'?
344 + source: <20260220175331.1250726-1-shreyanshpaliwalcmsmn@gmail.com>
345
346 --------------------------------------------------
148 -[New Topics]
347 +[Cooking]
348
150 -* dk/meson-regen-config-list (2026-02-16) 1 commit
151 - - meson: regenerate config-list.h when Documentation changes
349 +* dk/meson-regen-config-list (2026-02-18) 1 commit
350 + - build: regenerate config-list.h when Documentation changes
351
352 Fix dependency screw-up in meson-based builds
353
354 Will merge to 'next'?
156 - source: <9cdcc9de04f0f8fff657f0474b31c063466ed808.1771280837.git.ben.knoble+github@gmail.com>
355 + source: <611a94cd988e3795bc63dba2f1b270aa0d058bd2.1771425395.git.ben.knoble+github@gmail.com>
356
357
159 -* jk/ref-filter-lrstrip-optim (2026-02-15) 4 commits
160 - - ref-filter: avoid strrchr() in rstrip_ref_components()
161 - - ref-filter: simplify rstrip_ref_components() memory handling
162 - - ref-filter: simplify lstrip_ref_components() memory handling
163 - - ref-filter: factor out refname component counting
358 +* jk/ref-filter-lrstrip-optim (2026-02-19) 5 commits
359 + (merged to 'next' on 2026-02-20 at 88c2fb76b8)
360 + + ref-filter: clarify lstrip/rstrip component counting
361 + (merged to 'next' on 2026-02-19 at 6efc8a2023)
362 + + ref-filter: avoid strrchr() in rstrip_ref_components()
363 + + ref-filter: simplify rstrip_ref_components() memory handling
364 + + ref-filter: simplify lstrip_ref_components() memory handling
365 + + ref-filter: factor out refname component counting
366
367 Code clean-up.
368
167 - Will merge to 'next'.
369 + Will merge to 'master'.
370 source: <20260215085755.GA86262@coredump.intra.peff.net>
371 + source: <20260220060003.GA26256@coredump.intra.peff.net>
372
373
374 * ps/receive-pack-shallow-optim (2026-02-16) 3 commits
@@ -179,7 +382,7 @@ Release tarballs are available at:
382 source: <20260216-b4-pks-receive-pack-optimize-shallow-v1-0-e98886daff2b@pks.im>
383
384
182 -* sp/wt-status-wo-the-repository (2026-02-17) 3 commits
385 +* sp/wt-status-wo-the-repository (2026-02-18) 3 commits
386 - wt-status: use hash_algo from local repository instead of global the_hash_algo
387 - wt-status: replace uses of the_repository with local repository instances
388 - wt-status: pass struct repository through function parameters
@@ -188,21 +391,21 @@ Release tarballs are available at:
391 variables of wt-status code path.
392
393 Will merge to 'next'?
191 - source: <20260217173037.63438-1-shreyanshpaliwalcmsmn@gmail.com>
394 + source: <20260218175654.66004-1-shreyanshpaliwalcmsmn@gmail.com>
395
396
194 -* vp/http-rate-limit-retries (2026-02-17) 3 commits
397 +* vp/http-rate-limit-retries (2026-02-18) 5 commits
398 - http: add support for HTTP 429 rate limit retries
399 - remote-curl: introduce show_http_message_fatal() helper
197 - - strbuf: fix incorrect alloc size in strbuf_reencode()
400 + - strbuf: replace strbuf_grow() in strbuf_attach() with BUG() check
401 + - strbuf_attach: fix all call sites to pass correct alloc
402 + - strbuf: pass correct alloc to strbuf_attach() in strbuf_reencode()
403
404 The HTTP transport learned to react to "429 Too Many Requests".
405
406 Comments?
202 - source: <pull.2008.v3.git.1771326521.gitgitgadget@gmail.com>
407 + source: <pull.2008.v4.git.1771423748.gitgitgadget@gmail.com>
408
204 ---------------------------------------------------
205 -[Cooking]
409
410 * ps/pack-concat-wo-backfill (2026-02-11) 1 commit
411 (merged to 'next' on 2026-02-17 at 221d0623a2)
@@ -216,16 +419,6 @@ Release tarballs are available at:
419 source: <20260211-pks-pack-objects-stdin-skip-backfill-fetch-v1-1-870cad56d8ae@pks.im>
420
421
219 -* jc/doc-cg-c-comment (2026-02-11) 1 commit
220 - (merged to 'next' on 2026-02-12 at d1286b26eb)
221 - + CodingGuidelines: document // comments
222 -
223 - A CodingGuidelines update.
224 -
225 - Will merge to 'master'.
226 - source: <xmqqikc3t7hf.fsf@gitster.g>
227 -
228 -
422 * jc/doc-cg-needswork (2026-02-12) 1 commit
423 (merged to 'next' on 2026-02-17 at 5e35bc87bd)
424 + CodingGuidelines: document NEEDSWORK comments
@@ -236,27 +429,18 @@ Release tarballs are available at:
429 source: <xmqqldgxmzbj.fsf@gitster.g>
430
431
239 -* jh/alias-i18n (2026-02-16) 4 commits
240 - - completion: fix zsh alias listing for subsection aliases
241 - - alias: support non-alphanumeric names via subsection syntax
242 - - alias: prepare for subsection aliases
243 - - help: use list_aliases() for alias listing
432 +* jh/alias-i18n (2026-02-18) 4 commits
433 + (merged to 'next' on 2026-02-20 at b9a5c15c4f)
434 + + completion: fix zsh alias listing for subsection aliases
435 + + alias: support non-alphanumeric names via subsection syntax
436 + + alias: prepare for subsection aliases
437 + + help: use list_aliases() for alias listing
438
439 Extend the alias configuration syntax to allow aliases using
440 characters outside ASCII alphanumeric (plus '-').
441
248 - Will merge to 'next'?
249 - source: <20260216161513.2533141-1-jonatan@jontes.page>
250 -
251 -
252 -* ak/t9812-test-path-is-helpers (2026-02-11) 1 commit
253 - (merged to 'next' on 2026-02-13 at a9746d98e4)
254 - + t9812: modernize test path helpers
255 -
256 - Test update.
257 -
442 Will merge to 'master'.
259 - source: <20260212054530.4763-1-ashwanikamal.im421@gmail.com>
443 + source: <20260218215737.1181147-1-jonatan@jontes.page>
444
445
446 * hy/diff-lazy-fetch-with-break-fix (2026-02-12) 2 commits
@@ -268,31 +452,22 @@ Release tarballs are available at:
452 original entry that is no longer used, leading to a segfault, which
453 has been corrected.
454
271 - Expecting a reroll?
455 + Will squash in the fixup and merge to 'next'.
456 source: <20260212072002.2347-2-hanyang.tony@bytedance.com>
457
458
459 * ps/history-ergonomics-updates (2026-02-15) 5 commits
276 - - Documentation/git-history: document default for "--update-refs="
277 - - builtin/history: rename "--ref-action=" to "--update-refs="
278 - - builtin/history: replace "--ref-action=print" with "--dry-run"
279 - - builtin/history: check for merges before asking for user input
280 - - builtin/history: perform revwalk checks before asking for user input
460 + (merged to 'next' on 2026-02-19 at 9d5bc4efc5)
461 + + Documentation/git-history: document default for "--update-refs="
462 + + builtin/history: rename "--ref-action=" to "--update-refs="
463 + + builtin/history: replace "--ref-action=print" with "--dry-run"
464 + + builtin/history: check for merges before asking for user input
465 + + builtin/history: perform revwalk checks before asking for user input
466
467 UI improvements for "git history reword".
468
284 - Will merge to 'next'.
285 - source: <20260216-b4-pks-history-dry-run-v3-0-c4db58a651fc@pks.im>
286 -
287 -
288 -* pw/diff-anchored-optim (2026-02-12) 1 commit
289 - (merged to 'next' on 2026-02-13 at a8e8191f03)
290 - + diff --anchored: avoid checking unmatched lines
291 -
292 - "git diff --anchored=<text>" has been optimized.
293 -
469 Will merge to 'master'.
295 - source: <2a8cc2d6c37f25a58823b501500165d597321749.1770911599.git.phillip.wood@dunelm.org.uk>
470 + source: <20260216-b4-pks-history-dry-run-v3-0-c4db58a651fc@pks.im>
471
472
473 * ac/string-list-sort-u-and-tests (2026-02-12) 1 commit
@@ -332,7 +507,7 @@ Release tarballs are available at:
507
508 Doc update.
509
335 - Comments?
510 + Will merge to 'next'.
511 source: <V2_CV_doc_patch-id_4.371@msgid.xyz>
512
513
@@ -356,36 +531,39 @@ Release tarballs are available at:
531
532 Doc update.
533
359 - Comments?
534 + Will merge to 'next'.
535 source: <doc_am_gitlinks_and_am.messageId.321@msgid.xyz>
536
537
363 -* ps/ci-gitlab-msvc-updates (2026-02-11) 7 commits
364 - - gitlab-ci: handle failed tests on MSVC+Meson job
365 - - gitlab-ci: use "run-test-slice-meson.sh"
366 - - ci: make test slicing consistent across Meson/Make
367 - - github: fix Meson tests not executing at all
368 - - meson: fix MERGE_TOOL_DIR with "--no-bin-wrappers"
369 - - ci: don't skip smallest test slice in GitLab
370 - - ci: handle failures of test-slice helper
538 +* ps/ci-gitlab-msvc-updates (2026-02-18) 7 commits
539 + (merged to 'next' on 2026-02-20 at b2a8b7bf93)
540 + + gitlab-ci: handle failed tests on MSVC+Meson job
541 + + gitlab-ci: use "run-test-slice-meson.sh"
542 + + ci: make test slicing consistent across Meson/Make
543 + + github: fix Meson tests not executing at all
544 + + meson: fix MERGE_TOOL_DIR with "--no-bin-wrappers"
545 + + ci: don't skip smallest test slice in GitLab
546 + + ci: handle failures of test-slice helper
547
548 CI update.
549
374 - Will merge to 'next'?
375 - source: <20260211-b4-pks-ci-meson-improvements-v1-0-cb167cc80b86@pks.im>
550 + Will merge to 'master'.
551 + source: <20260219-b4-pks-ci-meson-improvements-v2-0-6047b8307ab2@pks.im>
552
553
378 -* ps/tests-wo-iconv-fixes (2026-02-17) 4 commits
379 - - t6006: don't use iconv(1) without ICONV prereq
380 - - t5550: add ICONV prereq to tests that use "$HTTPD_URL/error"
381 - - t4205: improve handling of ICONV prerequisite
382 - - t4xxx: don't use iconv(1) without ICONV prereq
554 +* ps/tests-wo-iconv-fixes (2026-02-20) 5 commits
555 + (merged to 'next' on 2026-02-20 at 277b2c99aa)
556 + + t6006: don't use iconv(1) without ICONV prereq
557 + + t5550: add ICONV prereq to tests that use "$HTTPD_URL/error"
558 + + t4205: improve handling of ICONV prerequisite
559 + + t40xx: don't use iconv(1) without ICONV prereq
560 + + t: don't set ICONV prereq when iconv(1) is missing
561
562 Some tests assumed "iconv" is available without honoring ICONV
563 prerequisite, which has been corrected.
564
387 - Will merge to 'next'?
388 - source: <20260217-b4-pks-ci-msvc-iconv-fixes-v2-0-25491bc8dbf8@pks.im>
565 + Will merge to 'master'.
566 + source: <20260220-b4-pks-ci-msvc-iconv-fixes-v4-0-e0e6bbcaeb5b@pks.im>
567
568
569 * pw/meson-doc-mergetool (2026-02-09) 1 commit
@@ -393,7 +571,7 @@ Release tarballs are available at:
571
572 Update build precedure for mergetool documentation in meson-based builds.
573
396 - WIll merge to 'next'.
574 + Will merge to 'next'.
575 source: <604c79018992dee019205741934508091cdd1e47.1770631599.git.phillip.wood@dunelm.org.uk>
576
577
@@ -429,17 +607,17 @@ Release tarballs are available at:
607
608 "gitweb" has been taught to be mobile friendly.
609
432 - Comments?
610 + Will merge to 'next'?
611 source: <pull.2043.v2.git.1771257211.gitgitgadget@gmail.com>
612
613
436 -* kn/osxkeychain-buildfix (2026-02-10) 1 commit
614 +* kn/osxkeychain-buildfix (2026-02-19) 1 commit
615 - osxkeychain: define build targets in the top-level Makefile.
616
617 Simplify build procedure for oxskeychain (in contrib/).
618
619 Will merge to 'next'?
442 - source: <pull.2046.v2.git.1770775169908.gitgitgadget@gmail.com>
620 + source: <pull.2046.v4.git.1771551540816.gitgitgadget@gmail.com>
621
622
623 * aa/add-p-no-auto-advance (2026-02-14) 4 commits
@@ -451,49 +629,55 @@ Release tarballs are available at:
629 "git add -p" learned a new mode that allows the user to revisit a
630 file that was already dealt with.
631
454 - Comments?
632 + Will merge to 'next'?
633 source: <cover.1771066252.git.abrahamadekunle50@gmail.com>
634
635
458 -* kn/ref-location (2026-02-14) 6 commits
459 - - refs: add GIT_REFERENCE_BACKEND to specify reference backend
636 +* kn/ref-location (2026-02-19) 5 commits
637 - refs: allow reference location in refstorage config
461 - - refs: move out stub modification to generic layer
638 - refs: receive and use the reference storage payload
639 + - refs: move out stub modification to generic layer
640 - refs: extract out `refs_create_refdir_stubs()`
641 - setup: don't modify repo in `create_reference_database()`
642
643 Allow the directory in which reference backends store their data to
644 be specified.
645
469 - Expecting a reroll.
470 - cf. <CAOLa=ZQwrOGpZfVtfTfPFhnkJ_qnEhv8mxO3Ot7nQXusbkJkYw@mail.gmail.com>
471 - cf. <CAOLa=ZQFOLh6ixB4=ukPS44uE9k3-1Zw1U2bCYf+TsKyHEqLiA@mail.gmail.com>
472 - source: <20260214-kn-alternate-ref-dir-v6-0-86a82c77cf59@gmail.com>
646 + Will merge to 'next'?
647 + source: <20260219-kn-alternate-ref-dir-v7-0-16f27860dbdf@gmail.com>
648
649
475 -* ar/config-hooks (2026-02-04) 5 commits
650 +* ar/config-hooks (2026-02-18) 9 commits
651 + - hook: add -z option to "git hook list"
652 - hook: allow out-of-repo 'git hook' invocations
653 + - hook: allow event = "" to overwrite previous values
654 + - hook: allow disabling config hooks
655 - hook: include hooks from the config
478 - - hook: introduce "git hook list"
479 - - hook: run a list of hooks
656 + - hook: add "git hook list" command
657 + - hook: run a list of hooks to prepare for multihook support
658 + - hook: add internal state alloc/free callbacks
659 - Merge branch 'ar/run-command-hook-take-2' into ar/config-hooks
660 (this branch is used by ar/parallel-hooks; uses ar/run-command-hook-take-2.)
661
483 - Needs review.
484 - source: <20260204165126.1548805-1-adrian.ratiu@collabora.com>
662 + Allow hook commands to be defined (possibly centrally) in the
663 + configuration files, and run multiple of them for the same hook
664 + event.
665 +
666 + Will merge to 'next'?
667 + source: <20260218222352.55393-1-adrian.ratiu@collabora.com>
668
669
670 * jc/whitespace-incomplete-line (2026-02-04) 1 commit
488 - - whitespace: symbolic links usually lack LF at the end
671 + (merged to 'next' on 2026-02-20 at 1d5f62e778)
672 + + whitespace: symbolic links usually lack LF at the end
673
674 It does not make much sense to apply the "incomplete-line"
675 whitespace rule to symbolic links, whose contents almost always
676 lack the final newline. "git apply" and "git diff" are now taught
677 to exclude them for a change to symbolic links.
678
495 - Will merge to 'next'?
496 - source: <xmqqecn0nqyt.fsf@gitster.g>
679 + Will merge to 'master'.
680 + source: <xmqqpl6hhm96.fsf@gitster.g>
681
682
683 * ps/meson-gitk-git-gui (2026-02-04) 1 commit
@@ -502,7 +686,7 @@ Release tarballs are available at:
686 Plumb gitk/git-gui build and install procedure in meson based
687 builds.
688
505 - Expecting a pull request for gitk.
689 + Will merge to 'next'.
690 source: <20260204-b4-pks-meson-tcl-tk-v2-1-5bc3ccf3a8ce@pks.im>
691
692
@@ -513,7 +697,7 @@ Release tarballs are available at:
697 be still valid after the key that was used to sign it has expired,
698 but we showed them in alarming red.
699
516 - Will merge to 'next'?
700 + Will merge to 'next'.
701 source: <20260204152306.1767112-2-ukleinek@kernel.org>
702
703
@@ -547,30 +731,32 @@ Release tarballs are available at:
731
732
733 * jc/checkout-switch-restore (2026-01-29) 2 commits
550 - - checkout: tell "parse_remote_branch" which command is calling it
551 - - checkout: pass program-readable token to unified "main"
734 + (merged to 'next' on 2026-02-20 at a386d47625)
735 + + checkout: tell "parse_remote_branch" which command is calling it
736 + + checkout: pass program-readable token to unified "main"
737
738 "git switch <name>", in an attempt to create a local branch <name>
739 after a remote tracking branch of the same name gave an advise
740 message to disambiguate using "git checkout", which has been
741 updated to use "git switch".
742
558 - Will merge to 'next'?
743 + Will merge to 'master'.
744 source: <20260129190616.645471-1-gitster@pobox.com>
745
746
562 -* ps/for-each-ref-in-fixes (2026-02-05) 4 commits
563 - - bisect: simplify string_list memory handling
564 - - bisect: fix misuse of `refs_for_each_ref_in()`
565 - - pack-bitmap: fix bug with exact ref match in "pack.preferBitmapTips"
566 - - pack-bitmap: deduplicate logic to iterate over preferred bitmap tips
747 +* ps/for-each-ref-in-fixes (2026-02-18) 4 commits
748 + (merged to 'next' on 2026-02-19 at 5397753d41)
749 + + bisect: simplify string_list memory handling
750 + + bisect: fix misuse of `refs_for_each_ref_in()`
751 + + pack-bitmap: fix bug with exact ref match in "pack.preferBitmapTips"
752 + + pack-bitmap: deduplicate logic to iterate over preferred bitmap tips
753 + (this branch is used by ps/refs-for-each.)
754
755 A handful of places used refs_for_each_ref_in() API incorrectly,
756 which has been corrected.
757
571 - Will merge to 'next'?
572 - cf. <aYmleK3kGqzLXyJe@pks.im>
573 - source: <20260206-b4-pks-fix-for-each-ref-in-misuse-v3-0-1e050c3d6a50@pks.im>
758 + Will merge to 'master'.
759 + source: <20260219-b4-pks-fix-for-each-ref-in-misuse-v4-0-57ac30172fae@pks.im>
760
761
762 * ps/object-info-bits-cleanup (2026-02-11) 5 commits
@@ -583,29 +769,16 @@ Release tarballs are available at:
769 A couple of bugs in use of flag bits around odb API has been
770 corrected, and the flag bits reordered.
771
586 - Will merge to 'next'?
772 + Will merge to 'next'.
773 source: <20260212-b4-pks-read-object-info-flags-v2-0-3bfa9bb149ef@pks.im>
774
775
590 -* pw/xdiff-cleanups (2026-01-26) 2 commits
591 - (merged to 'next' on 2026-02-11 at e6df42d605)
592 - + xdiff: remove unused data from xdlclass_t
593 - + xdiff: remove "line_hash" field from xrecord_t
594 -
595 - Small clean-up of xdiff library to remove unnecessary data
596 - duplication.
597 -
598 - Will merge to 'master'.
599 - source: <cover.1769424529.git.phillip.wood@dunelm.org.uk>
600 -
601 -
776 * ty/symlinks-use-unsigned-for-bitset (2026-01-21) 1 commit
777 - symlinks: use unsigned int for flags
778
779 Code clean-up.
780
607 - Expecting a (hopefully small and final) reroll.
608 - cf. <xmqqzf66u9jj.fsf@gitster.g>
781 + Will merge to 'next'.
782 source: <20260121162640.424126-1-a3205153416@gmail.com>
783
784
@@ -651,7 +824,7 @@ Release tarballs are available at:
824 Use the hook API to replace ad-hoc invocation of hook scripts via
825 the run_command() API.
826
654 - Comments?
827 + Will merge to 'next'.
828 source: <20260128213927.3026875-1-adrian.ratiu@collabora.com>
829
830
@@ -693,6 +866,7 @@ Release tarballs are available at:
866 -f" to override it).
867
868 Comments?
869 + cf. <xmqq5x7rvyn4.fsf@gitster.g>
870 source: <pull.1987.v4.git.1770384180.gitgitgadget@gmail.com>
871
872
@@ -716,8 +890,7 @@ Release tarballs are available at:
890
891 Revamp object enumeration API around odb.
892
719 - Will merge to 'next'?
720 - cf. <aXk2FjTUMMThs5Kp@nand.local>
893 + Will merge to 'next'.
894 source: <20260126-pks-odb-for-each-object-v4-0-5a64a038c791@pks.im>
895
896
@@ -728,7 +901,7 @@ Release tarballs are available at:
901 against the tree of the (potentially quite different from the
902 current working tree) given commit.
903
731 - Will merge to 'next'?
904 + Will merge to 'next'.
905 source: <20260203164815.68258-2-pushkarkumarsingh1970@gmail.com>
906
907
@@ -740,7 +913,7 @@ Release tarballs are available at:
913 get confused where the updated shallow points are, which has been
914 corrected.
915
743 - Comments?
916 + Will merge to 'next'?
917 source: <pull.2121.v5.git.git.1771186316.gitgitgadget@gmail.com>
918
919
@@ -750,8 +923,8 @@ Release tarballs are available at:
923 Additional tests were introduced to see the interaction with netrc
924 auth with auth failure on the http transport.
925
753 - Comments?
754 - source: <20260106114029.763351-1-git@ashlesh.me>
926 + Will merge to 'next'.
927 + source: <20260107074724.13165-1-git@ashlesh.me>
928
929
930 * en/xdiff-cleanup-3 (2026-01-03) 11 commits
@@ -773,20 +946,6 @@ Release tarballs are available at:
946 source: <pull.2156.git.git.1767379944.gitgitgadget@gmail.com>
947
948
776 -* hn/status-compare-with-push (2026-01-22) 3 commits
777 - - status: add status.compareBranches config for multiple branch comparisons
778 - - refactor format_branch_comparison in preparation
779 - - Merge branch 'jk/remote-tracking-ref-leakfix' into hn/status-compare-with-push
780 -
781 - "git status" learned to show comparison between the current branch
782 - and its push destination as well as its upstream, when the two are
783 - different (i.e., triangular workflow).
784 -
785 - What's the status of this topic?
786 - cf. <20260122220154.GA2107958@coredump.intra.peff.net>
787 - source: <pull.2138.v28.git.git.1769112471.gitgitgadget@gmail.com>
788 -
789 -
949 * ob/core-attributesfile-in-repository (2026-02-16) 3 commits
950 - environment: move "branch.autoSetupMerge" into `struct repo_config_values`
951 - environment: stop using core.sparseCheckout globally
@@ -800,24 +959,6 @@ Release tarballs are available at:
959 source: <cover.1771258573.git.belkid98@gmail.com>
960
961
803 -* pt/fsmonitor-linux (2025-12-31) 1 commit
804 - - fsmonitor: implement filesystem change listener for Linux
805 -
806 - The fsmonitor daemon has been implemented for Linux.
807 -
808 - Comments?
809 - source: <pull.2147.v4.git.git.1767202894884.gitgitgadget@gmail.com>
810 -
811 -
812 -* pt/t7527-flake-workaround (2025-12-31) 1 commit
813 - - t7527: fix flaky fsmonitor event tests with retry logic
814 -
815 - Test fixup.
816 -
817 - Comments?
818 - source: <pull.2150.v2.git.git.1767226763360.gitgitgadget@gmail.com>
819 -
820 -
962 * cc/lop-filter-auto (2026-02-16) 9 commits
963 (merged to 'next' on 2026-02-17 at f10e546e7b)
964 + fetch-pack: wire up and enable auto filter logic
@@ -836,23 +977,15 @@ Release tarballs are available at:
977 source: <20260216132317.15894-1-christian.couder@gmail.com>
978
979
839 -* tt/receive-pack-oo-namespace-symref-fix (2025-12-27) 1 commit
840 - - receive-pack: fix crash on out-of-namespace symref
841 -
842 - "git receive-pack", when namespace is involved, segfaulted when a
843 - symbolic ref cross the namespace boundary.
844 -
845 - Comments?
846 - source: <pull.2144.git.git.1766850014289.gitgitgadget@gmail.com>
847 -
848 -
980 * lo/repo-info-keys (2026-02-13) 2 commits
850 - - repo: add new flag --keys to git-repo-info
851 - - repo: rename the output format "keyvalue" to "lines"
981 + (merged to 'next' on 2026-02-19 at 3a9b510b86)
982 + + repo: add new flag --keys to git-repo-info
983 + + repo: rename the output format "keyvalue" to "lines"
984 + (this branch is used by lo/repo-leftover-bits.)
985
986 "git repo info" learns "--keys" action to list known keys.
987
855 - Will merge to 'next'.
988 + Will merge to 'master'.
989 source: <20260214005818.37349-1-lucasseikioshiro@gmail.com>
990
991