What's cooking (2025/11 #03)

Junio C Hamano committed Nov 7, 2025 at 09:53 UTC 6925194772aa47207fd5d5dc6e40567bb86af00c
1 file changed +112 -175
whats-cooking.txt
+112 -175
@@ -1,11 +1,11 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Nov 2025, #02; Thu, 6)
3 -X-master-at: 77b7284ccab768981a2cd08b6b2f164d91201e18
4 -X-next-at: 9fd864c43e7dcfed42e2da05363d2eb4888719f4
2 +Subject: What's cooking in git.git (Nov 2025, #03; Fri, 7)
3 +X-master-at: 4badef0c3503dc29059d678abba7fac0f042bc84
4 +X-next-at: 30608eb744ed5714313f016f8dabdd2811e7cf7c
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Nov 2025, #02; Thu, 6)
8 --------------------------------------------------
7 +What's cooking in git.git (Nov 2025, #03; Fri, 7)
8 +--------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
11 prefixed with '+' are in 'next' (being in 'next' is a sign that a
@@ -53,126 +53,89 @@ Release tarballs are available at:
53 --------------------------------------------------
54 [Graduated to 'master']
55
56 -* cc/doc-submitting-patches-with-ai (2025-10-01) 1 commit
57 - (merged to 'next' on 2025-10-28 at 9b5e0701fa)
58 - + SubmittingPatches: add section about AI
59 -
60 - AI guidelines.
61 - cf. <xmqqv7ki1xf1.fsf@gitster.g>
62 - source: <20251001140310.527097-1-christian.couder@gmail.com>
63 -
64 -
65 -* eb/t1016-hash-transition-fix (2025-10-28) 1 commit
66 - (merged to 'next' on 2025-10-30 at b743410ab6)
67 - + t1016-compatObjectFormat: really freeze time for reproduciblity
68 -
69 - Test fix.
70 - source: <87frb310d2.fsf_-_@email.froward.int.ebiederm.org>
71 -
72 -
73 -* jc/ci-use-macos-14 (2025-11-04) 1 commit
74 - (merged to 'next' on 2025-11-05 at 5fe2c4be6a)
75 - + GitHub CI: macos-13 images are no more
76 -
77 - The version of macos image used in GitHub CI has been updated to
78 - macos-14, as the macos-13 that we have been using got deprecated.
79 - source: <xmqqh5v9o0hb.fsf@gitster.g>
80 -
81 -
82 -* jk/doc-backslash-in-exclude (2025-10-29) 1 commit
83 - (merged to 'next' on 2025-10-30 at 29790121d5)
84 - + doc: document backslash in gitignore patterns
85 -
86 - The patterns used in the .gitignore files use backslash in the way
87 - documented for fnmatch(3); document as such to reduce confusion.
88 - source: <20251029153237.GA1133542@coredump.intra.peff.net>
89 -
90 -
91 -* jk/test-delete-gpgsig-leakfix (2025-10-29) 1 commit
92 - (merged to 'next' on 2025-10-30 at 097810cb65)
93 - + test-tool: fix leak in delete-gpgsig command
56 +* cc/fast-import-export-i18n-cleanup (2025-10-30) 5 commits
57 + (merged to 'next' on 2025-11-03 at 41a35c3e52)
58 + + gpg-interface: mark a string for translation
59 + + fast-import: mark strings for translation
60 + + fast-export: mark strings for translation
61 + + gpg-interface: use left shift to define GPG_VERIFY_*
62 + + gpg-interface: simplify ssh fingerprint parsing
63
95 - Leakfix.
96 - source: <20251029191031.GA1257596@coredump.intra.peff.net>
64 + Messages from fast-import/export are now marked for i18n.
65 + source: <20251030123332.3337684-1-christian.couder@gmail.com>
66
67
99 -* jt/repo-structure (2025-10-21) 7 commits
100 - (merged to 'next' on 2025-10-28 at c4d81a2da9)
101 - + builtin/repo: add progress meter for structure stats
102 - + builtin/repo: add keyvalue and nul format for structure stats
103 - + builtin/repo: add object counts in structure output
104 - + builtin/repo: introduce structure subcommand
105 - + ref-filter: export ref_kind_from_refname()
106 - + ref-filter: allow NULL filter pattern
107 - + builtin/repo: rename repo_info() to cmd_repo_info()
108 - (this branch is used by kn/refs-optim-cleanup and ps/ref-peeled-tags.)
68 +* dk/parseopt-optional-filename-fixes (2025-11-04) 6 commits
69 + (merged to 'next' on 2025-11-04 at 1cb7573414)
70 + + parseopt: remove unreachable code
71 + + parseopt: restore const qualifier to parsed filename
72 + + config: use boolean type for a simple flag
73 + + parseopt: use boolean type for a simple flag
74 + + doc: clarify command equivalence comment
75 + + parseopt: fix :(optional) at command line to only ignore missing files
76
110 - "git repo structure", a new command.
111 - cf. <eesy5qhqzi56qrzv7wlpenxag23l2zykakvpmr6p5rnak6cril@ap3rugp44bcz>
112 - cf. <aPsLS6lbzG27W-C8@pks.im>
113 - source: <20251021182601.2687284-1-jltobler@gmail.com>
77 + A recently added configuration variable and command line option
78 + syntax ":(optional)" for values that are of filename type
79 + inconsistently behaved on an empty file (configuration took it
80 + happily, while the command line option pretended as if it did not
81 + exist), which has been corrected.
82 + source: <cover.1762100242.git.ben.knoble+github@gmail.com>
83 + source: <xmqq1pmdr9qu.fsf@gitster.g>
84
85
116 -* kh/doc-checkout-markup-fix (2025-10-28) 1 commit
117 - (merged to 'next' on 2025-10-29 at f106c77f74)
118 - + doc: git-checkout: fix placeholder markup
86 +* js/ci-github-actions-update (2025-11-06) 1 commit
87 + (merged to 'next' on 2025-11-06 at 68957de207)
88 + + ci: update {download,upload}-artifact Action versions
89
120 - Doc mark-up fix.
121 - source: <v2-cb38c701537.1761675472.git.code@khaugsbakk.name>
90 + CI updates.
91 + source: <pull.1996.git.1762437576488.gitgitgadget@gmail.com>
92
93
124 -* qj/doc-my1stcontrib-email-verify (2025-10-27) 1 commit
125 - (merged to 'next' on 2025-10-29 at 33f961f37a)
126 - + MyFirstContribution: add note on confirming patches
94 +* pk/reflog-migrate-message-fix (2025-11-05) 1 commit
95 + (merged to 'next' on 2025-11-06 at c9c574a496)
96 + + refs: add missing space in messages
97
128 - The "MyFirstContribution" tutorial tells the reader how to send out
129 - their patches; the section gained a hint to verify the message
130 - reached the mailing list.
131 - source: <20251027111600.1481-1-qjessa662@gmail.com>
98 + Message fix.
99 + source: <a8220721-3260-15cb-6960-ca8b6433d7b5@softwolves.pp.se>
100
101 +--------------------------------------------------
102 +[New Topics]
103
134 -* rz/t0450-bisect-doc-update (2025-10-28) 1 commit
135 - (merged to 'next' on 2025-10-31 at f563b543eb)
136 - + bisect: update usage and docs to match each other
104 +* lc/rebase-trailer (2025-11-05) 4 commits
105 + - rebase: support --trailer
106 + - trailer: append trailers in-process and drop the fork to `interpret-trailers`
107 + - trailer: move process_trailers to trailer.h
108 + - interpret-trailers: factor out buffer-based processing to process_trailers()
109
138 - The help text and manual page of "git bisect" command have been
139 - made consistent with each other.
140 - source: <pull.2084.git.git.1761690461697.gitgitgadget@gmail.com>
110 + Refactor code paths to run "interpret-trailers" from "git
111 + commit/tag" and use it in "git rebase".
112
113 + Comments?
114 + source: <20251105142944.73061-1-me@linux.beauty>
115
143 -* tu/credential-install (2025-10-25) 1 commit
144 - (merged to 'next' on 2025-10-28 at 43589c4832)
145 - + contrib/credential: add install target
116
147 - Contributed credential helpers (obviously in contrib/) now have "cd
148 - $there && make install" target.
149 - source: <f67b3cbd-a117-a863-37ba-fbba7a2ca17a@mailbox.tu-dresden.de>
117 +* ps/ref-peeled-tags-fixes (2025-11-06) 2 commits
118 + - object: fix performance regression when peeling tags
119 + - Merge branch 'ps/ref-peeled-tags' into ps/ref-peeled-tags-fixes
120 + (this branch uses ps/ref-peeled-tags.)
121
122 + Another fix-up to "peeled-tags" topic.
123
152 -* tz/test-prepare-gnupghome (2024-07-03) 2 commits
153 - (merged to 'next' on 2025-10-28 at f612107bf9)
154 - + t/lib-gpg: call prepare_gnupghome() in GPG2 prereq
155 - + t/lib-gpg: add prepare_gnupghome() to create GNUPGHOME dir
124 + Will merge to 'next'.
125 + source: <20251106-b4-pks-peel-object-performance-regression-v1-1-a386147750b0@pks.im>
126
157 - Tests did not set up GNUPGHOME correctly, which is fixed but some
158 - flaky tests are exposed in t1016, which needs to be addressed
159 - before this topic can move forward.
160 - cf. <ZoV8b2RvYxLOotSJ@teonanacatl.net>
161 - cf. <xmqqbjlump3m.fsf@gitster.g>
162 - cf. <87frb310d2.fsf_-_@email.froward.int.ebiederm.org>
163 - source: <20240703153738.916469-1-tmz@pobox.com>
127
128 +* tu/credential-wincred-makefile-update (2025-11-05) 1 commit
129 + (merged to 'next' on 2025-11-07 at ed74befe91)
130 + + wincred: align Makefile with other Makefiles in contrib
131
166 -* xr/ref-debug-remove-on-disk (2025-10-24) 1 commit
167 - (merged to 'next' on 2025-10-29 at 316e4afdbf)
168 - + refs: add missing remove_on_disk implementation for debug backend
132 + Build procedure for Wincred credential helper has been updated.
133
170 - The "debug" ref-backend was missing a method implementation, which
171 - has been corrected.
172 - source: <pull.2082.git.git.1761295094982.gitgitgadget@gmail.com>
134 + Will cook in 'next'.
135 + source: <3869ec21-e20d-cf9b-5913-6389c372a5f0@mailbox.tu-dresden.de>
136
137 --------------------------------------------------
175 -[New Topics]
138 +[Cooking]
139
140 * en/ort-rename-another-fix (2025-11-03) 3 commits
141 - merge-ort: fix failing merges in special corner case
@@ -186,47 +149,29 @@ Release tarballs are available at:
149 source: <pull.1992.git.1762192908.gitgitgadget@gmail.com>
150
151
189 -* dk/parseopt-optional-filename-fixes (2025-11-04) 6 commits
190 - (merged to 'next' on 2025-11-04 at 1cb7573414)
191 - + parseopt: remove unreachable code
192 - + parseopt: restore const qualifier to parsed filename
193 - + config: use boolean type for a simple flag
194 - + parseopt: use boolean type for a simple flag
195 - + doc: clarify command equivalence comment
196 - + parseopt: fix :(optional) at command line to only ignore missing files
197 -
198 - A recently added configuration variable and command line option
199 - syntax ":(optional)" for values that are of filename type
200 - inconsistently behaved on an empty file (configuration took it
201 - happily, while the command line option pretended as if it did not
202 - exist), which has been corrected.
203 -
204 - Will merge to 'master'.
205 - source: <cover.1762100242.git.ben.knoble+github@gmail.com>
206 - source: <xmqq1pmdr9qu.fsf@gitster.g>
207 -
208 -
152 * dk/make-git-contacts-executable (2025-11-04) 1 commit
210 - - perl: also mark git-contacts executable
153 + (merged to 'next' on 2025-11-07 at 30608eb744)
154 + + perl: also mark git-contacts executable
155
156 Building "git contacts" script (in contrib/) leaves the resulting
157 file unexecutable, which has been corrected.
158
215 - Will merge to 'next'?
159 + Will cook in 'next'.
160 source: <7fbb341e8f05fcde3a1543e3bb4e5a3ec1101692.1762280097.git.ben.knoble+github@gmail.com>
161
162
163 * dk/meson-html-dir (2025-11-04) 1 commit
220 - - meson: make GIT_HTML_PATH configurable
164 + (merged to 'next' on 2025-11-07 at b30cf1f060)
165 + + meson: make GIT_HTML_PATH configurable
166
167 The build procedure based on meson learned to allow builders to
168 specify the directory to install HTML documents.
169
225 - Will merge to 'next'?
170 + Will cook in 'next'.
171 source: <385992f6020703558f0ba75a1be6c4f9dae08b83.1762264709.git.ben.knoble+github@gmail.com>
172
173
229 -* kn/maintenance-is-needed (2025-11-04) 7 commits
174 +* kn/maintenance-is-needed (2025-11-06) 7 commits
175 - maintenance: add 'is-needed' subcommand
176 - maintenance: add checking logic in `pack_refs_condition()`
177 - refs: add a `optimize_required` field to `struct ref_storage_be`
@@ -239,17 +184,17 @@ Release tarballs are available at:
184 "git maintenance" command learned "is-needed" subcommand to tell if
185 it is necessary to perform various maintenance tasks.
186
242 - Comments?
243 - source: <20251104-562-add-sub-command-to-check-if-maintenance-is-needed-v2-0-303462a9e4ed@gmail.com>
187 + Will merge to 'next'?
188 + source: <20251106-562-add-sub-command-to-check-if-maintenance-is-needed-v3-0-d611a2a95cf5@gmail.com>
189
190
246 -* qj/doc-http-bad-want-response (2025-11-04) 1 commit
191 +* qj/doc-http-bad-want-response (2025-11-05) 1 commit
192 - doc: clarify server behavior for invalid 'want' lines in HTTP protocol
193
194 Doc update.
195
251 - Comments?
252 - source: <20251104100653.2152-1-qjessa662@gmail.com>
196 + Will merge to 'next'?
197 + source: <20251105143849.1192-1-qjessa662@gmail.com>
198
199
200 * jc/exclude-with-gitignore (2025-11-04) 1 commit
@@ -268,6 +213,10 @@ Release tarballs are available at:
213 - commit: refactor verify_commit_buffer()
214 - fast-import: refactor finalize_commit_buffer()
215
216 + "git fast-import" learns "--strip-if-invalid" option to drop
217 + invalid cryptographic signature from objects.
218 +
219 + Comments?
220 source: <20251105061918.3688870-1-christian.couder@gmail.com>
221
222
@@ -285,10 +234,12 @@ Release tarballs are available at:
234 - diff: emit_line_ws_markup() if/else style fix
235 - whitespace: correct bit assignment comments
236
237 + Both "git apply" and "git diff" learn a new whitespace error class,
238 + "incomplete-line".
239 +
240 + Comments?
241 source: <20251105213052.1499224-1-gitster@pobox.com>
242
290 ---------------------------------------------------
291 -[Cooking]
243
244 * tc/last-modified-active-paths-optimization (2025-10-23) 1 commit
245 (merged to 'next' on 2025-11-03 at 9ab444edfb)
@@ -347,28 +298,14 @@ Release tarballs are available at:
298 source: <20251027004404.2152927-1-sandals@crustytoothpaste.net>
299
300
350 -* ad/blame-diff-algorithm (2025-11-01) 2 commits
301 +* ad/blame-diff-algorithm (2025-11-06) 2 commits
302 - blame: make diff algorithm configurable
303 - xdiff: add 'minimal' to XDF_DIFF_ALGORITHM_MASK
304
305 "git blame" learns "--diff-algorithm=<algo>" option.
306
356 - Ready?
357 - source: <pull.2075.v4.git.git.1762034252.gitgitgadget@gmail.com>
358 -
359 -
360 -* cc/fast-import-export-i18n-cleanup (2025-10-30) 5 commits
361 - (merged to 'next' on 2025-11-03 at 41a35c3e52)
362 - + gpg-interface: mark a string for translation
363 - + fast-import: mark strings for translation
364 - + fast-export: mark strings for translation
365 - + gpg-interface: use left shift to define GPG_VERIFY_*
366 - + gpg-interface: simplify ssh fingerprint parsing
367 -
368 - Messages from fast-import/export are now marked for i18n.
369 -
370 - Will merge to 'master'.
371 - source: <20251030123332.3337684-1-christian.couder@gmail.com>
307 + Will merge to 'next'?
308 + source: <pull.2075.v5.git.git.1762468914.gitgitgadget@gmail.com>
309
310
311 * ps/packed-git-in-object-store (2025-10-30) 9 commits
@@ -390,22 +327,6 @@ Release tarballs are available at:
327 source: <20251030-pks-packfiles-store-drop-list-v2-0-84654f080cc0@pks.im>
328
329
393 -* ps/rust-cbindgen (2025-10-24) 6 commits
394 - . rust: generate bindings via cbindgen
395 - . meson: rename Rust library target
396 - . ci: use Debian instead of deprecated i386/ubuntu
397 - . gitlab-ci: backfill missing Linux jobs
398 - . gitlab-ci: reorder Linux job matrix to match GitHub's order
399 - . Merge branch 'ps/ci-rust' into ps/rust-cbindgen
400 -
401 - Introduce cbindgen in the build framework to help interfacing with
402 - Rust.
403 -
404 - More discussion?
405 - cf. <20251024-b4-pks-rust-cbindgen-v2-0-4b4bd4f18490@pks.im>
406 - source: <20251024-b4-pks-rust-cbindgen-v2-0-4b4bd4f18490@pks.im>
407 -
408 -
330 * kn/refs-optim-cleanup (2025-10-20) 4 commits
331 (merged to 'next' on 2025-11-04 at dbab18969a)
332 + t/pack-refs-tests: move the 'test_done' to callees
@@ -501,7 +422,7 @@ Release tarballs are available at:
422 + refs: introduce wrapper struct for `each_ref_fn`
423 + Merge branch 'jt/repo-structure' into ps/ref-peeled-tags
424 + Merge branch 'tb/incremental-midx-part-3.1' into ps/ref-peeled-tags
504 - (this branch is used by kn/maintenance-is-needed and kn/refs-optim-cleanup.)
425 + (this branch is used by kn/maintenance-is-needed, kn/refs-optim-cleanup and ps/ref-peeled-tags-fixes.)
426
427 Some ref backend storage can hold not just the object name of an
428 annotated tag, but the object name of the object the tag points at.
@@ -569,17 +490,33 @@ Release tarballs are available at:
490 source: <20251105191650.89975-1-siddharthasthana31@gmail.com>
491
492
572 -* ar/submodule-gitdir-tweak (2025-10-06) 5 commits
573 - - submodule: error out if gitdir name is too long
574 - - submodule: encode gitdir paths to avoid conflicts
575 - - strbuf: bring back is_rfc3986_unreserved
576 - - submodule: add gitdir path config override
493 +* ar/submodule-gitdir-tweak (2025-11-07) 4 commits
494 + - submodule: fix case-folding gitdir filesystem colisions
495 + - submodule: add extension to encode gitdir paths
496 + - builtin/credential-store: move is_rfc3986_unreserved to url.[ch]
497 - submodule--helper: use submodule_name_to_gitdir in add_submodule
498
499 Avoid local submodule repository directory paths overlapping with
500 each other by encoding submodule names before using them as path
501 components.
502
583 - Expecting v4.
584 - cf. <878qh4qxsl.fsf@gentoo.mail-host-address-is-not-set>
585 - source: <20251006112518.3764240-1-adrian.ratiu@collabora.com>
503 + Comments?
504 + source: <20251107150547.3272180-1-adrian.ratiu@collabora.com>
505 +
506 +--------------------------------------------------
507 +[Discarded]
508 +
509 +* ps/rust-cbindgen (2025-10-24) 6 commits
510 + . rust: generate bindings via cbindgen
511 + . meson: rename Rust library target
512 + . ci: use Debian instead of deprecated i386/ubuntu
513 + . gitlab-ci: backfill missing Linux jobs
514 + . gitlab-ci: reorder Linux job matrix to match GitHub's order
515 + . Merge branch 'ps/ci-rust' into ps/rust-cbindgen
516 +
517 + Introduce cbindgen in the build framework to help interfacing with
518 + Rust.
519 +
520 + Retracted.
521 + cf. <aQ3XOTX0AT_eFc5P@pks.im>
522 + source: <20251024-b4-pks-rust-cbindgen-v2-0-4b4bd4f18490@pks.im>