What's cooking (2026/02 #11)

Junio C Hamano committed Feb 27, 2026 at 15:51 UTC fa21dda678fb30ac9845fa760b4805a32d774cb2
1 file changed +260 -233
whats-cooking.txt
+260 -233
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Feb 2026, #10)
3 -X-master-at: 7b2bccb0d58d4f24705bf985de1f4612e4cf06e5
4 -X-next-at: ebd1da8b75f3d8cd1e180ccfadac32d7cbcb64b5
2 +Subject: What's cooking in git.git (Feb 2026, #11)
3 +X-master-at: 2cc71917514657b93014134350864f4849edfc83
4 +X-next-at: 625c4fb2daac9879b299dd1cae2e793d2821dec0
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Feb 2026, #10)
7 +What's cooking in git.git (Feb 2026, #11)
8 -----------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -47,6 +47,192 @@ Release tarballs are available at:
47
48 https://www.kernel.org/pub/software/scm/git/
49
50 +--------------------------------------------------
51 +[Graduated to 'master']
52 +
53 +* ap/use-test-seq-f-more (2026-02-18) 1 commit
54 + (merged to 'next' on 2026-02-20 at d847fcad1e)
55 + + t: use test_seq -f and pipes in a few more places
56 +
57 + Test clean-up.
58 + source: <20260218181019.1705160-1-aplattner@nvidia.com>
59 +
60 +
61 +* db/doc-fetch-jobs-auto (2026-02-18) 1 commit
62 + (merged to 'next' on 2026-02-20 at 4e20a85963)
63 + + doc: fetch: document `--jobs=0` behavior
64 +
65 + Doc update.
66 + source: <pull.2047.git.1771443159369.gitgitgadget@gmail.com>
67 +
68 +
69 +* jc/checkout-switch-restore (2026-01-29) 2 commits
70 + (merged to 'next' on 2026-02-20 at a386d47625)
71 + + checkout: tell "parse_remote_branch" which command is calling it
72 + + checkout: pass program-readable token to unified "main"
73 +
74 + "git switch <name>", in an attempt to create a local branch <name>
75 + after a remote tracking branch of the same name gave an advise
76 + message to disambiguate using "git checkout", which has been
77 + updated to use "git switch".
78 + source: <20260129190616.645471-1-gitster@pobox.com>
79 +
80 +
81 +* jc/whitespace-incomplete-line (2026-02-04) 1 commit
82 + (merged to 'next' on 2026-02-20 at 1d5f62e778)
83 + + whitespace: symbolic links usually lack LF at the end
84 +
85 + It does not make much sense to apply the "incomplete-line"
86 + whitespace rule to symbolic links, whose contents almost always
87 + lack the final newline. "git apply" and "git diff" are now taught
88 + to exclude them for a change to symbolic links.
89 + source: <xmqqpl6hhm96.fsf@gitster.g>
90 +
91 +
92 +* jh/alias-i18n (2026-02-18) 4 commits
93 + (merged to 'next' on 2026-02-20 at b9a5c15c4f)
94 + + completion: fix zsh alias listing for subsection aliases
95 + + alias: support non-alphanumeric names via subsection syntax
96 + + alias: prepare for subsection aliases
97 + + help: use list_aliases() for alias listing
98 + (this branch is used by jh/alias-i18n-fixes and kh/alias-i18n-docfix.)
99 +
100 + Extend the alias configuration syntax to allow aliases using
101 + characters outside ASCII alphanumeric (plus '-').
102 + source: <20260218215737.1181147-1-jonatan@jontes.page>
103 +
104 +
105 +* jk/ref-filter-lrstrip-optim (2026-02-19) 5 commits
106 + (merged to 'next' on 2026-02-20 at 88c2fb76b8)
107 + + ref-filter: clarify lstrip/rstrip component counting
108 + (merged to 'next' on 2026-02-19 at 6efc8a2023)
109 + + ref-filter: avoid strrchr() in rstrip_ref_components()
110 + + ref-filter: simplify rstrip_ref_components() memory handling
111 + + ref-filter: simplify lstrip_ref_components() memory handling
112 + + ref-filter: factor out refname component counting
113 +
114 + Code clean-up.
115 + source: <20260215085755.GA86262@coredump.intra.peff.net>
116 + source: <20260220060003.GA26256@coredump.intra.peff.net>
117 +
118 +
119 +* lo/repo-info-keys (2026-02-13) 2 commits
120 + (merged to 'next' on 2026-02-19 at 3a9b510b86)
121 + + repo: add new flag --keys to git-repo-info
122 + + repo: rename the output format "keyvalue" to "lines"
123 + (this branch is used by lo/repo-leftover-bits.)
124 +
125 + "git repo info" learns "--keys" action to list known keys.
126 + source: <20260214005818.37349-1-lucasseikioshiro@gmail.com>
127 +
128 +
129 +* mf/format-patch-honor-from-for-cover-letter (2026-02-17) 1 commit
130 + (merged to 'next' on 2026-02-20 at d3efdd79b2)
131 + + format-patch: fix From header in cover letter
132 +
133 + "git format-patch --from=<me>" did not honor the command line
134 + option when writing out the cover letter, which has been corrected.
135 + source: <20260217232519.24898-1-mroik@delayed.space>
136 +
137 +
138 +* ps/ci-gitlab-msvc-updates (2026-02-18) 7 commits
139 + (merged to 'next' on 2026-02-20 at b2a8b7bf93)
140 + + gitlab-ci: handle failed tests on MSVC+Meson job
141 + + gitlab-ci: use "run-test-slice-meson.sh"
142 + + ci: make test slicing consistent across Meson/Make
143 + + github: fix Meson tests not executing at all
144 + + meson: fix MERGE_TOOL_DIR with "--no-bin-wrappers"
145 + + ci: don't skip smallest test slice in GitLab
146 + + ci: handle failures of test-slice helper
147 +
148 + CI update.
149 + source: <20260219-b4-pks-ci-meson-improvements-v2-0-6047b8307ab2@pks.im>
150 +
151 +
152 +* ps/for-each-ref-in-fixes (2026-02-18) 4 commits
153 + (merged to 'next' on 2026-02-19 at 5397753d41)
154 + + bisect: simplify string_list memory handling
155 + + bisect: fix misuse of `refs_for_each_ref_in()`
156 + + pack-bitmap: fix bug with exact ref match in "pack.preferBitmapTips"
157 + + pack-bitmap: deduplicate logic to iterate over preferred bitmap tips
158 + (this branch is used by ps/refs-for-each.)
159 +
160 + A handful of places used refs_for_each_ref_in() API incorrectly,
161 + which has been corrected.
162 + source: <20260219-b4-pks-fix-for-each-ref-in-misuse-v4-0-57ac30172fae@pks.im>
163 +
164 +
165 +* ps/history-ergonomics-updates (2026-02-15) 5 commits
166 + (merged to 'next' on 2026-02-19 at 9d5bc4efc5)
167 + + Documentation/git-history: document default for "--update-refs="
168 + + builtin/history: rename "--ref-action=" to "--update-refs="
169 + + builtin/history: replace "--ref-action=print" with "--dry-run"
170 + + builtin/history: check for merges before asking for user input
171 + + builtin/history: perform revwalk checks before asking for user input
172 +
173 + UI improvements for "git history reword".
174 + source: <20260216-b4-pks-history-dry-run-v3-0-c4db58a651fc@pks.im>
175 +
176 +
177 +* ps/tests-wo-iconv-fixes (2026-02-20) 5 commits
178 + (merged to 'next' on 2026-02-20 at 277b2c99aa)
179 + + t6006: don't use iconv(1) without ICONV prereq
180 + + t5550: add ICONV prereq to tests that use "$HTTPD_URL/error"
181 + + t4205: improve handling of ICONV prerequisite
182 + + t40xx: don't use iconv(1) without ICONV prereq
183 + + t: don't set ICONV prereq when iconv(1) is missing
184 +
185 + Some tests assumed "iconv" is available without honoring ICONV
186 + prerequisite, which has been corrected.
187 + source: <20260220-b4-pks-ci-msvc-iconv-fixes-v4-0-e0e6bbcaeb5b@pks.im>
188 +
189 +--------------------------------------------------
190 +[New Topics]
191 +
192 +* jk/repo-structure-cleanup (2026-02-23) 1 commit
193 + - repo: remove unnecessary variable shadow
194 +
195 + Code clean-up.
196 +
197 + Will merge to 'next'.
198 + source: <20260223135248.127935-1-jayatheerthkulkarni2005@gmail.com>
199 +
200 +
201 +* lp/diff-stat-utf8-display-width-fix (2026-02-27) 2 commits
202 + - t4052: test for diffstat width when prefix contains ANSI escape codes
203 + - diff: handle ANSI escape codes in prefix when calculating diffstat width
204 +
205 + "git log --graph --stat" did not count the display width of colored
206 + graph part of its own output correctly, which has been corrected.
207 +
208 + Will merge to 'next'.
209 + source: <cover.1772226209.git.lorenzo.pegorari2002@gmail.com>
210 +
211 +
212 +* ps/upload-pack-buffer-more-writes (2026-02-27) 2 commits
213 + - upload-pack: reduce lock contention when writing packfile data
214 + - upload-pack: fix debug statement when flushing packfile data
215 +
216 + Reduce system overhead "git upload-pack" spends relaying "git
217 + pack-objects" output to the "git fetch" running on the other end of
218 + the connection.
219 +
220 + Under discussion.
221 + cf. <20260227193758.GA2931515@coredump.intra.peff.net>
222 + source: <20260227-pks-upload-pack-write-contention-v1-0-7166fe255704@pks.im>
223 +
224 +
225 +* rs/parse-options-duplicated-long-options (2026-02-27) 2 commits
226 + - parseopt: check for duplicate long names and numerical options
227 + - pack-objects: remove duplicate --stdin-packs definition
228 +
229 + The parse-options API learned to notice an options[] array with
230 + duplicated long options.
231 +
232 + Expecting a review response.
233 + cf. <20260227230822.GA2965111@coredump.intra.peff.net>
234 + source: <xmqq5x7jujqb.fsf@gitster.g>
235 +
236 --------------------------------------------------
237 [Cooking]
238
@@ -65,16 +251,17 @@ Release tarballs are available at:
251
252
253 * ps/fsck-stream-from-the-right-object-instance (2026-02-23) 4 commits
68 - - pack-check: fix verification of large objects
69 - - packfile: expose function to read object stream for an offset
70 - - object-file: adapt `stream_object_signature()` to take a stream
71 - - t/helper: improve "genrandom" test helper
254 + (merged to 'next' on 2026-02-27 at b378558c1a)
255 + + pack-check: fix verification of large objects
256 + + packfile: expose function to read object stream for an offset
257 + + object-file: adapt `stream_object_signature()` to take a stream
258 + + t/helper: improve "genrandom" test helper
259
260 "fsck" iterates over packfiles and its access to pack data caused
261 the list to be permuted, which caused it to loop forever; the code
262 to access pack data by "fsck" has been updated to avoid this.
263
77 - Will merge to 'next'.
264 + Will merge to 'master'.
265 source: <20260223-pks-fsck-fix-v2-0-99a0714ea3bd@pks.im>
266
267
@@ -119,18 +306,16 @@ Release tarballs are available at:
306 source: <pull.2056.v2.git.1771968924.gitgitgadget@gmail.com>
307
308
122 -* jh/alias-i18n-fixes (2026-02-24) 4 commits
123 - - SQUASH??? leakfix
309 +* jh/alias-i18n-fixes (2026-02-26) 4 commits
310 + - git, help: fix memory leaks in alias listing
311 - alias: treat empty subsection [alias ""] as plain [alias]
312 - doc: fix list continuation in alias subsection example
313 - Merge branch 'jh/alias-i18n' into jh/alias-i18n-fixes
127 - (this branch uses jh/alias-i18n.)
314
315 Further update to the i18n alias support to avoid regressions.
316
131 - Expecting a (hopefully small and final) reroll?
132 - cf. <xmqq8qcga6ya.fsf@gitster.g>
133 - source: <20260224171245.458377-1-jonatan@jontes.page>
317 + Will merge to 'next'.
318 + source: <20260226205339.1535482-1-jonatan@jontes.page>
319
320
321 * lc/rebase-trailer (2026-02-23) 5 commits
@@ -149,19 +334,20 @@ Release tarballs are available at:
334 source: <20260224070552.148591-1-me@linux.beauty>
335
336
152 -* mf/format-patch-cover-letter-format (2026-02-24) 3 commits
153 - - SQUASH???
337 +* mf/format-patch-cover-letter-format (2026-02-27) 5 commits
338 + - docs: add usage for the cover-letter fmt feature
339 - format-patch: add commitListFormat config
340 - format-patch: add ability to use alt cover format
341 + - format-patch: move cover letter summary generation
342 + - pretty.c: add %(count) and %(total) placeholders
343
344 "git format-patch --cover-letter" learns to use a simpler format
345 instead of the traditional shortlog format to list its commits with
346 a new --cover-letter-format option and format.commitListFormat
347 configuration variable.
348
162 - Expecting a (hopefully small and final) reroll?
163 - cf. <aZ4-_jmFS8yS4g49@exploit>
164 - source: <cover.1771925291.git.mroik@delayed.space>
349 + Will merge to 'next'?
350 + source: <cover.1772232373.git.mroik@delayed.space>
351
352
353 * sp/send-email-validate-charset (2026-02-26) 1 commit
@@ -205,11 +391,12 @@ Release tarballs are available at:
391
392
393 * pt/t7527-flake-workaround (2025-12-31) 1 commit
208 - - t7527: fix flaky fsmonitor event tests with retry logic
394 + (merged to 'next' on 2026-02-27 at d6ebc97cb1)
395 + + t7527: fix flaky fsmonitor event tests with retry logic
396
397 Test fixup.
398
212 - Will merge to 'next'.
399 + Will merge to 'master'.
400 source: <pull.2150.v2.git.git.1767226763360.gitgitgadget@gmail.com>
401
402
@@ -256,7 +443,7 @@ Release tarballs are available at:
443
444
445 * ty/setup-error-tightening (2026-02-22) 1 commit
259 - - setup: improve error diagnosis for invalid .git files
446 + . setup: improve error diagnosis for invalid .git files
447
448 While discovering a ".git" directory, the code treats any stat()
449 failure as a sign that a filesystem entity .git does not exist
@@ -264,30 +451,11 @@ Release tarballs are available at:
451 directory. The code has been tightened to notice and report
452 filesystem corruption better.
453
267 - Will merge to 'next'.
454 + Kicked out of the tree for now, due to CI breakage.
455 + cf. <xmqqpl5rumy0.fsf@gitster.g>
456 source: <20260223074410.917523-1-a3205153416@gmail.com>
457
458
271 -* bc/do-not-reorder-packs-during-fsck (2026-02-22) 1 commit
272 - . fsck: do not loop infinitely when processing packs
273 -
274 - Access to packfiles during fsck would reorder the mru list of
275 - packs, which causes the fsck to loop forever going over the list.
276 -
277 - Supersided by ps/fsck-stream-from-the-right-object-instance?
278 - source: <20260222183710.2963424-1-sandals@crustytoothpaste.net>
279 -
280 -
281 -* ap/use-test-seq-f-more (2026-02-18) 1 commit
282 - (merged to 'next' on 2026-02-20 at d847fcad1e)
283 - + t: use test_seq -f and pipes in a few more places
284 -
285 - Test clean-up.
286 -
287 - Will merge to 'master'.
288 - source: <20260218181019.1705160-1-aplattner@nvidia.com>
289 -
290 -
459 * bk/mailmap-wo-the-repository (2026-02-19) 2 commits
460 (merged to 'next' on 2026-02-26 at f7e3afc1ff)
461 + mailmap: drop global config variables
@@ -299,16 +467,6 @@ Release tarballs are available at:
467 source: <20260220060442.29469-1-bkkaracay@gmail.com>
468
469
302 -* db/doc-fetch-jobs-auto (2026-02-18) 1 commit
303 - (merged to 'next' on 2026-02-20 at 4e20a85963)
304 - + doc: fetch: document `--jobs=0` behavior
305 -
306 - Doc update.
307 -
308 - Will merge to 'master'.
309 - source: <pull.2047.git.1771443159369.gitgitgadget@gmail.com>
310 -
311 -
470 * jt/object-file-use-container-of (2026-02-22) 2 commits
471 (merged to 'next' on 2026-02-22 at 309c995771)
472 + object-file.c: avoid container_of() of a NULL container
@@ -334,17 +492,6 @@ Release tarballs are available at:
492 source: <V2_CV_format.noprefix_boolean.421@msgid.xyz>
493
494
337 -* mf/format-patch-honor-from-for-cover-letter (2026-02-17) 1 commit
338 - (merged to 'next' on 2026-02-20 at d3efdd79b2)
339 - + format-patch: fix From header in cover letter
340 -
341 - "git format-patch --from=<me>" did not honor the command line
342 - option when writing out the cover letter, which has been corrected.
343 -
344 - Will merge to 'master'.
345 - source: <20260217232519.24898-1-mroik@delayed.space>
346 -
347 -
495 * pw/no-more-NULL-means-current-worktree (2026-02-19) 2 commits
496 (merged to 'next' on 2026-02-26 at 281f28b140)
497 + path: remove repository argument from worktree_git_path()
@@ -420,7 +567,6 @@ Release tarballs are available at:
567 + repo: rename repo_info_fields to repo_info_field
568 + CodingGuidelines: instruct to name arrays in singular
569 + Merge branch 'lo/repo-info-keys' into lo/repo-leftover-bits
423 - (this branch uses lo/repo-info-keys.)
570
571 Clean-up the code around "git repo info" command.
572
@@ -446,29 +592,29 @@ Release tarballs are available at:
592
593
594 * ps/refs-for-each (2026-02-23) 18 commits
449 - - refs: replace `refs_for_each_fullref_in()`
450 - - refs: replace `refs_for_each_namespaced_ref()`
451 - - refs: replace `refs_for_each_glob_ref()`
452 - - refs: replace `refs_for_each_glob_ref_in()`
453 - - refs: replace `refs_for_each_rawref_in()`
454 - - refs: replace `refs_for_each_rawref()`
455 - - refs: replace `refs_for_each_ref_in()`
456 - - refs: improve verification for-each-ref options
457 - - refs: generalize `refs_for_each_fullref_in_prefixes()`
458 - - refs: generalize `refs_for_each_namespaced_ref()`
459 - - refs: speed up `refs_for_each_glob_ref_in()`
460 - - refs: introduce `refs_for_each_ref_ext`
461 - - refs: rename `each_ref_fn`
462 - - refs: rename `do_for_each_ref_flags`
463 - - refs: move `do_for_each_ref_flags` further up
464 - - refs: move `refs_head_ref_namespaced()`
465 - - refs: remove unused `refs_for_each_include_root_ref()`
466 - - Merge branch 'ps/for-each-ref-in-fixes' into ps/refs-for-each
467 - (this branch uses ps/for-each-ref-in-fixes.)
595 + (merged to 'next' on 2026-02-27 at ec9e0a36ff)
596 + + refs: replace `refs_for_each_fullref_in()`
597 + + refs: replace `refs_for_each_namespaced_ref()`
598 + + refs: replace `refs_for_each_glob_ref()`
599 + + refs: replace `refs_for_each_glob_ref_in()`
600 + + refs: replace `refs_for_each_rawref_in()`
601 + + refs: replace `refs_for_each_rawref()`
602 + + refs: replace `refs_for_each_ref_in()`
603 + + refs: improve verification for-each-ref options
604 + + refs: generalize `refs_for_each_fullref_in_prefixes()`
605 + + refs: generalize `refs_for_each_namespaced_ref()`
606 + + refs: speed up `refs_for_each_glob_ref_in()`
607 + + refs: introduce `refs_for_each_ref_ext`
608 + + refs: rename `each_ref_fn`
609 + + refs: rename `do_for_each_ref_flags`
610 + + refs: move `do_for_each_ref_flags` further up
611 + + refs: move `refs_head_ref_namespaced()`
612 + + refs: remove unused `refs_for_each_include_root_ref()`
613 + + Merge branch 'ps/for-each-ref-in-fixes' into ps/refs-for-each
614
615 Code refactoring around refs-for-each-* API functions.
616
471 - Will merge to 'next'.
617 + Will merge to 'master'.
618 cf. <CAOLa=ZTz-9JKHC3H8tSwP=bDvX2mNA-erjr5Ni6Tiq4cm4WmLg@mail.gmail.com>
619 source: <20260223-pks-refs-for-each-unification-v2-0-515d48c8087b@pks.im>
620
@@ -509,22 +655,6 @@ Release tarballs are available at:
655 source: <4ef96c6bbf698a08df1df87b7cb053b6d0d00822.1771943954.git.ben.knoble+github@gmail.com>
656
657
512 -* jk/ref-filter-lrstrip-optim (2026-02-19) 5 commits
513 - (merged to 'next' on 2026-02-20 at 88c2fb76b8)
514 - + ref-filter: clarify lstrip/rstrip component counting
515 - (merged to 'next' on 2026-02-19 at 6efc8a2023)
516 - + ref-filter: avoid strrchr() in rstrip_ref_components()
517 - + ref-filter: simplify rstrip_ref_components() memory handling
518 - + ref-filter: simplify lstrip_ref_components() memory handling
519 - + ref-filter: factor out refname component counting
520 -
521 - Code clean-up.
522 -
523 - Will merge to 'master'.
524 - source: <20260215085755.GA86262@coredump.intra.peff.net>
525 - source: <20260220060003.GA26256@coredump.intra.peff.net>
526 -
527 -
658 * ps/receive-pack-shallow-optim (2026-02-16) 3 commits
659 (merged to 'next' on 2026-02-22 at ad6abc1ef8)
660 + commit: use commit graph in `lookup_commit_reference_gently()`
@@ -562,21 +692,6 @@ Release tarballs are available at:
692 source: <pull.2008.v5.git.1771856405.gitgitgadget@gmail.com>
693
694
565 -* jh/alias-i18n (2026-02-18) 4 commits
566 - (merged to 'next' on 2026-02-20 at b9a5c15c4f)
567 - + completion: fix zsh alias listing for subsection aliases
568 - + alias: support non-alphanumeric names via subsection syntax
569 - + alias: prepare for subsection aliases
570 - + help: use list_aliases() for alias listing
571 - (this branch is used by jh/alias-i18n-fixes and kh/alias-i18n-docfix.)
572 -
573 - Extend the alias configuration syntax to allow aliases using
574 - characters outside ASCII alphanumeric (plus '-').
575 -
576 - Will merge to 'master'.
577 - source: <20260218215737.1181147-1-jonatan@jontes.page>
578 -
579 -
695 * hy/diff-lazy-fetch-with-break-fix (2026-02-23) 1 commit
696 (merged to 'next' on 2026-02-25 at afe07ad86c)
697 + diffcore-break: avoid segfault with freed entries
@@ -590,20 +705,6 @@ Release tarballs are available at:
705 source: <20260224061329.60364-2-hanyang.tony@bytedance.com>
706
707
593 -* ps/history-ergonomics-updates (2026-02-15) 5 commits
594 - (merged to 'next' on 2026-02-19 at 9d5bc4efc5)
595 - + Documentation/git-history: document default for "--update-refs="
596 - + builtin/history: rename "--ref-action=" to "--update-refs="
597 - + builtin/history: replace "--ref-action=print" with "--dry-run"
598 - + builtin/history: check for merges before asking for user input
599 - + builtin/history: perform revwalk checks before asking for user input
600 -
601 - UI improvements for "git history reword".
602 -
603 - Will merge to 'master'.
604 - source: <20260216-b4-pks-history-dry-run-v3-0-c4db58a651fc@pks.im>
605 -
606 -
708 * kh/doc-patch-id-4 (2026-02-14) 3 commits
709 (merged to 'next' on 2026-02-22 at bfae23ac5e)
710 + doc: patch-id: see also git-cherry(1)
@@ -629,37 +730,6 @@ Release tarballs are available at:
730 source: <doc_am_gitlinks_and_am.messageId.321@msgid.xyz>
731
732
632 -* ps/ci-gitlab-msvc-updates (2026-02-18) 7 commits
633 - (merged to 'next' on 2026-02-20 at b2a8b7bf93)
634 - + gitlab-ci: handle failed tests on MSVC+Meson job
635 - + gitlab-ci: use "run-test-slice-meson.sh"
636 - + ci: make test slicing consistent across Meson/Make
637 - + github: fix Meson tests not executing at all
638 - + meson: fix MERGE_TOOL_DIR with "--no-bin-wrappers"
639 - + ci: don't skip smallest test slice in GitLab
640 - + ci: handle failures of test-slice helper
641 -
642 - CI update.
643 -
644 - Will merge to 'master'.
645 - source: <20260219-b4-pks-ci-meson-improvements-v2-0-6047b8307ab2@pks.im>
646 -
647 -
648 -* ps/tests-wo-iconv-fixes (2026-02-20) 5 commits
649 - (merged to 'next' on 2026-02-20 at 277b2c99aa)
650 - + t6006: don't use iconv(1) without ICONV prereq
651 - + t5550: add ICONV prereq to tests that use "$HTTPD_URL/error"
652 - + t4205: improve handling of ICONV prerequisite
653 - + t40xx: don't use iconv(1) without ICONV prereq
654 - + t: don't set ICONV prereq when iconv(1) is missing
655 -
656 - Some tests assumed "iconv" is available without honoring ICONV
657 - prerequisite, which has been corrected.
658 -
659 - Will merge to 'master'.
660 - source: <20260220-b4-pks-ci-msvc-iconv-fixes-v4-0-e0e6bbcaeb5b@pks.im>
661 -
662 -
733 * pw/meson-doc-mergetool (2026-02-09) 1 commit
734 (merged to 'next' on 2026-02-22 at dfdfff02f8)
735 + meson: fix building mergetool docs
@@ -748,36 +818,24 @@ Release tarballs are available at:
818
819
820 * ar/config-hooks (2026-02-18) 9 commits
751 - - hook: add -z option to "git hook list"
752 - - hook: allow out-of-repo 'git hook' invocations
753 - - hook: allow event = "" to overwrite previous values
754 - - hook: allow disabling config hooks
755 - - hook: include hooks from the config
756 - - hook: add "git hook list" command
757 - - hook: run a list of hooks to prepare for multihook support
758 - - hook: add internal state alloc/free callbacks
759 - - Merge branch 'ar/run-command-hook-take-2' into ar/config-hooks
821 + (merged to 'next' on 2026-02-27 at 6a04cca28e)
822 + + hook: add -z option to "git hook list"
823 + + hook: allow out-of-repo 'git hook' invocations
824 + + hook: allow event = "" to overwrite previous values
825 + + hook: allow disabling config hooks
826 + + hook: include hooks from the config
827 + + hook: add "git hook list" command
828 + + hook: run a list of hooks to prepare for multihook support
829 + + hook: add internal state alloc/free callbacks
830 + + Merge branch 'ar/run-command-hook-take-2' into ar/config-hooks
831 (this branch is used by ar/parallel-hooks; uses ar/run-command-hook-take-2.)
832
833 Allow hook commands to be defined (possibly centrally) in the
834 configuration files, and run multiple of them for the same hook
835 event.
836
766 - Will merge to 'next'.
767 - source: <20260218222352.55393-1-adrian.ratiu@collabora.com>
768 -
769 -
770 -* jc/whitespace-incomplete-line (2026-02-04) 1 commit
771 - (merged to 'next' on 2026-02-20 at 1d5f62e778)
772 - + whitespace: symbolic links usually lack LF at the end
773 -
774 - It does not make much sense to apply the "incomplete-line"
775 - whitespace rule to symbolic links, whose contents almost always
776 - lack the final newline. "git apply" and "git diff" are now taught
777 - to exclude them for a change to symbolic links.
778 -
837 Will merge to 'master'.
780 - source: <xmqqpl6hhm96.fsf@gitster.g>
838 + source: <20260218222352.55393-1-adrian.ratiu@collabora.com>
839
840
841 * ps/meson-gitk-git-gui (2026-02-04) 1 commit
@@ -821,35 +879,6 @@ Release tarballs are available at:
879 source: <20260222002904.1879356-1-adrian.ratiu@collabora.com>
880
881
824 -* jc/checkout-switch-restore (2026-01-29) 2 commits
825 - (merged to 'next' on 2026-02-20 at a386d47625)
826 - + checkout: tell "parse_remote_branch" which command is calling it
827 - + checkout: pass program-readable token to unified "main"
828 -
829 - "git switch <name>", in an attempt to create a local branch <name>
830 - after a remote tracking branch of the same name gave an advise
831 - message to disambiguate using "git checkout", which has been
832 - updated to use "git switch".
833 -
834 - Will merge to 'master'.
835 - source: <20260129190616.645471-1-gitster@pobox.com>
836 -
837 -
838 -* ps/for-each-ref-in-fixes (2026-02-18) 4 commits
839 - (merged to 'next' on 2026-02-19 at 5397753d41)
840 - + bisect: simplify string_list memory handling
841 - + bisect: fix misuse of `refs_for_each_ref_in()`
842 - + pack-bitmap: fix bug with exact ref match in "pack.preferBitmapTips"
843 - + pack-bitmap: deduplicate logic to iterate over preferred bitmap tips
844 - (this branch is used by ps/refs-for-each.)
845 -
846 - A handful of places used refs_for_each_ref_in() API incorrectly,
847 - which has been corrected.
848 -
849 - Will merge to 'master'.
850 - source: <20260219-b4-pks-fix-for-each-ref-in-misuse-v4-0-57ac30172fae@pks.im>
851 -
852 -
882 * ps/object-info-bits-cleanup (2026-02-11) 5 commits
883 (merged to 'next' on 2026-02-22 at 4d702cbecc)
884 + odb: convert `odb_has_object()` flags into an enum
@@ -1037,31 +1066,20 @@ Release tarballs are available at:
1066
1067
1068 * ob/core-attributesfile-in-repository (2026-02-16) 3 commits
1040 - - environment: move "branch.autoSetupMerge" into `struct repo_config_values`
1041 - - environment: stop using core.sparseCheckout globally
1042 - - environment: stop storing `core.attributesFile` globally
1069 + (merged to 'next' on 2026-02-27 at 2b2e3a1fa9)
1070 + + environment: move "branch.autoSetupMerge" into `struct repo_config_values`
1071 + + environment: stop using core.sparseCheckout globally
1072 + + environment: stop storing `core.attributesFile` globally
1073
1074 The core.attributesfile is intended to be set per repository, but
1075 were kept track of by a single global variable in-core, which has
1076 been corrected by moving it to per-repository data structure.
1077
1048 - Will merge to 'next'.
1078 + Will merge to 'master'.
1079 cf. <CAP8UFD2Rz3NMrTayi9yjRk4-51tStaLWKeBVB9RaJMWmiBLqrQ@mail.gmail.com>
1080 source: <cover.1771258573.git.belkid98@gmail.com>
1081
1082
1053 -* lo/repo-info-keys (2026-02-13) 2 commits
1054 - (merged to 'next' on 2026-02-19 at 3a9b510b86)
1055 - + repo: add new flag --keys to git-repo-info
1056 - + repo: rename the output format "keyvalue" to "lines"
1057 - (this branch is used by lo/repo-leftover-bits.)
1058 -
1059 - "git repo info" learns "--keys" action to list known keys.
1060 -
1061 - Will merge to 'master'.
1062 - source: <20260214005818.37349-1-lucasseikioshiro@gmail.com>
1063 -
1064 -
1083 * tb/incremental-midx-part-3.2 (2026-02-24) 17 commits
1084 - midx: enable reachability bitmaps during MIDX compaction
1085 - midx: implement MIDX compaction
@@ -1142,9 +1160,18 @@ Release tarballs are available at:
1160
1161 * kh/alias-i18n-docfix (2026-02-23) 1 commit
1162 . doc: config: fix list continuation in alias section
1145 - (this branch uses jh/alias-i18n.)
1163
1164 Doc mark-up fix.
1165
1149 - Superseded by jh/alias-i18n-fixes?
1150 - source: <20260218215737.1181147-1-jonatan@jontes.page>
1166 + Superseded by jh/alias-i18n-fixes.
1167 + source: <followup-alias-i18n.3e0@msgid.xyz>
1168 +
1169 +
1170 +* bc/do-not-reorder-packs-during-fsck (2026-02-22) 1 commit
1171 + . fsck: do not loop infinitely when processing packs
1172 +
1173 + Access to packfiles during fsck would reorder the mru list of
1174 + packs, which causes the fsck to loop forever going over the list.
1175 +
1176 + Supersided by ps/fsck-stream-from-the-right-object-instance.
1177 + source: <20260222183710.2963424-1-sandals@crustytoothpaste.net>