What's cooking (2025/11 #04)

Junio C Hamano committed Nov 14, 2025 at 13:43 UTC 650eea4f39c130c381f80d17811a32052f8ca73c
1 file changed +177 -117
whats-cooking.txt
+177 -117
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Nov 2025, #03; Fri, 7)
3 -X-master-at: 4badef0c3503dc29059d678abba7fac0f042bc84
4 -X-next-at: 30608eb744ed5714313f016f8dabdd2811e7cf7c
2 +Subject: What's cooking in git.git (Nov 2025, #04; Fri, 14)
3 +X-master-at: fd372d9b1a69a01a676398882bbe3840bf51fe72
4 +X-next-at: 230fcf2819a6e6e5372cd128168db10ebbe23885
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Nov 2025, #03; Fri, 7)
7 +What's cooking in git.git (Nov 2025, #04; Fri, 14)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -17,11 +17,6 @@ topic without enough support may be discarded after a long period of
17 no activity (of course they can be resubmit when new interests
18 arise).
19
20 -Git 2.52-rc1 has been tagged. Hopefully we can have a reasonably
21 -solid Git 2.52 in the middle of this month. Until then let's
22 -concentrate on finding and fixing regressions introduced during this
23 -cycle, if any.
24 -
20 Copies of the source code to Git live in many repositories, and the
21 following is a list of the ones I push into or their mirrors. Some
22 repositories have only a subset of branches.
@@ -53,54 +48,162 @@ Release tarballs are available at:
48 --------------------------------------------------
49 [Graduated to 'master']
50
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
51 +* dk/make-git-contacts-executable (2025-11-04) 1 commit
52 + (merged to 'next' on 2025-11-07 at 30608eb744)
53 + + perl: also mark git-contacts executable
54
64 - Messages from fast-import/export are now marked for i18n.
65 - source: <20251030123332.3337684-1-christian.couder@gmail.com>
55 + Building "git contacts" script (in contrib/) left the resulting
56 + file unexecutable, which has been corrected.
57 + source: <7fbb341e8f05fcde3a1543e3bb4e5a3ec1101692.1762280097.git.ben.knoble+github@gmail.com>
58
59
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
60 +* dk/meson-html-dir (2025-11-04) 1 commit
61 + (merged to 'next' on 2025-11-07 at b30cf1f060)
62 + + meson: make GIT_HTML_PATH configurable
63
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>
64 + The build procedure based on meson learned to allow builders to
65 + specify the directory to install HTML documents.
66 + source: <385992f6020703558f0ba75a1be6c4f9dae08b83.1762264709.git.ben.knoble+github@gmail.com>
67
68
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
69 +* tc/last-modified-active-paths-optimization (2025-10-23) 1 commit
70 + (merged to 'next' on 2025-11-03 at 9ab444edfb)
71 + + last-modified: implement faster algorithm
72
90 - CI updates.
91 - source: <pull.1996.git.1762437576488.gitgitgadget@gmail.com>
73 + "git last-modified" was optimized by narrowing the set of paths to
74 + follow as it dug deeper in the history.
75 + source: <20251023-b4-toon-last-modified-faster-v3-1-40a4ddbbadec@iotcl.com>
76
77
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
78 +* tu/credential-wincred-makefile-update (2025-11-05) 1 commit
79 + (merged to 'next' on 2025-11-07 at ed74befe91)
80 + + wincred: align Makefile with other Makefiles in contrib
81
98 - Message fix.
99 - source: <a8220721-3260-15cb-6960-ca8b6433d7b5@softwolves.pp.se>
82 + Build procedure for Wincred credential helper has been updated.
83 + source: <3869ec21-e20d-cf9b-5913-6389c372a5f0@mailbox.tu-dresden.de>
84
85 --------------------------------------------------
86 [New Topics]
87
88 +* rs/diff-quiet-no-rename (2025-11-09) 1 commit
89 + (merged to 'next' on 2025-11-14 at 2d94808185)
90 + + diff: disable rename detection with --quiet
91 +
92 + As "git diff --quiet" only cares about the existence of any
93 + changes, disable rename/copy detection to skip more expensive
94 + processing whose result will be discarded anyway.
95 +
96 + Will cook in 'next'.
97 + source: <8796cd59-2335-4674-823d-d682ce7b7f8e@web.de>
98 +
99 +
100 +* jc/gitattributes-whitespace-no-indent-fix (2025-11-11) 1 commit
101 + (merged to 'next' on 2025-11-14 at 230fcf2819)
102 + + .gitattributes: remove misspelled no-op whitespace attribute
103 +
104 + Ever since we added whitespace rules for this project, we misspelt
105 + an entry, which has been corrected.
106 +
107 + Will cook in 'next'.
108 + source: <xmqqv7jgwgxb.fsf@gitster.g>
109 +
110 +
111 +* kn/fix-fetch-backfill-tag-with-batched-ref-updates (2025-11-13) 2 commits
112 + - fetch: fix non-conflicting tags not being committed
113 + - fetch: extract out reference committing logic
114 +
115 + "git fetch" that involves fetching tags, when a tag being fetched
116 + needs to overwrite existing one, failed to fetch other tags, which
117 + has been corrected.
118 +
119 + Will merge to 'next'?
120 + source: <20251113-fix-tags-not-fetching-v5-0-371ea7ec638d@gmail.com>
121 +
122 +
123 +* jk/asan-bonanza (2025-11-12) 10 commits
124 + - amend! Makefile: turn on NO_MMAP when building with ASan
125 + - t: enable ASan's strict_string_checks option
126 + - fsck: avoid parse_timestamp() on buffer that isn't NUL-terminated
127 + - fsck: remove redundant date timestamp check
128 + - fsck: avoid strcspn() in fsck_ident()
129 + - fsck: assert newline presence in fsck_ident()
130 + - cache-tree: avoid strtol() on non-string buffer
131 + - Makefile: turn on NO_MMAP when building with ASan
132 + - pack-bitmap: handle name-hash lookups in incremental bitmaps
133 + - compat/mmap: mark unused argument in git_munmap()
134 +
135 + Various issues detected by Asan have been corrected.
136 +
137 + Expecting a reroll?
138 + cf. <aRbToFLhzewwBaSv@pks.im>
139 + source: <20251112075522.GA978866@coredump.intra.peff.net>
140 +
141 +
142 +* jk/attr-macroexpand-wo-recursion (2025-11-11) 1 commit
143 + - attr: avoid recursion when expanding attribute macros
144 +
145 + The code to expand attribute macros has been rewritten to avoid
146 + recursion to avoid running out of stack space in an uncontrolled
147 + way.
148 +
149 + Will merge to 'next'?
150 + source: <20251111223647.GA4055973@coredump.intra.peff.net>
151 +
152 +
153 +* bc/submodule-force-same-hash (2025-11-12) 1 commit
154 + - object-file: disallow adding submodules of different hash algo
155 +
156 + Adding a repository that uses a different hash function is a no-no,
157 + but "git submodule add" did nt prevent it, which has been corrected.
158 +
159 + Will merge to 'next'?
160 + source: <20251112235434.1499699-1-sandals@crustytoothpaste.net>
161 +
162 +
163 +* jc/ci-drop-p4-macosx (2025-11-14) 1 commit
164 + - CI: drop Perforce tests from macOSX jobs
165 +
166 + Drop P4 tests on macOSX platform on GitHub Actions CI.
167 +
168 + Comments?
169 + source: <xmqqqzu0gxq2.fsf_-_@gitster.g>
170 +
171 +
172 +* jx/repo-struct-utf8width-fix (2025-11-13) 2 commits
173 + - builtin/repo: fix table alignment for UTF-8 characters
174 + - t/unit-tests: add UTF-8 width tests for CJK chars
175 +
176 + The "git repo structure" subcommand tried to align its output but
177 + mixed up byte count and display column width, which has been
178 + corrected.
179 +
180 + Comments?
181 + source: <cover.1763098804.git.worldhello.net@gmail.com>
182 +
183 +
184 +* kh/doc-commit-extra-references (2025-11-14) 1 commit
185 + - doc: commit: link to git-status(1) on all format options
186 +
187 + Doc update.
188 +
189 + Will merge to 'next'?
190 + source: <c4349a03724.1763129061.git.code@khaugsbakk.name>
191 +
192 +
193 +* kn/osxkeychain-idempotent-store-fix (2025-11-13) 1 commit
194 + - osxkeychain: avoid incorrectly skipping store operation
195 +
196 + An earlier check added to osx keychain credential helper to avoid
197 + storing the credential itself supplied was overeager and rejected
198 + credential material supplied by other helper backends that it would
199 + have wanted to store, which has been corrected.
200 +
201 + Will merge to 'next'?
202 + source: <pull.1999.v2.git.1763100270949.gitgitgadget@gmail.com>
203 +
204 +--------------------------------------------------
205 +[Cooking]
206 +
207 * lc/rebase-trailer (2025-11-05) 4 commits
208 - rebase: support --trailer
209 - trailer: append trailers in-process and drop the fork to `interpret-trailers`
@@ -115,27 +218,16 @@ Release tarballs are available at:
218
219
220 * 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
221 + (merged to 'next' on 2025-11-11 at 3549877a16)
222 + + object: fix performance regression when peeling tags
223 + + Merge branch 'ps/ref-peeled-tags' into ps/ref-peeled-tags-fixes
224 (this branch uses ps/ref-peeled-tags.)
225
226 Another fix-up to "peeled-tags" topic.
227
124 - Will merge to 'next'.
125 - source: <20251106-b4-pks-peel-object-performance-regression-v1-1-a386147750b0@pks.im>
126 -
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 -
132 - Build procedure for Wincred credential helper has been updated.
133 -
228 Will cook in 'next'.
135 - source: <3869ec21-e20d-cf9b-5913-6389c372a5f0@mailbox.tu-dresden.de>
229 + source: <20251106-b4-pks-peel-object-performance-regression-v1-1-a386147750b0@pks.im>
230
137 ---------------------------------------------------
138 -[Cooking]
231
232 * en/ort-rename-another-fix (2025-11-03) 3 commits
233 - merge-ort: fix failing merges in special corner case
@@ -149,43 +241,22 @@ Release tarballs are available at:
241 source: <pull.1992.git.1762192908.gitgitgadget@gmail.com>
242
243
152 -* dk/make-git-contacts-executable (2025-11-04) 1 commit
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 -
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
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 -
170 - Will cook in 'next'.
171 - source: <385992f6020703558f0ba75a1be6c4f9dae08b83.1762264709.git.ben.knoble+github@gmail.com>
172 -
173 -
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`
178 - - reftable/stack: add function to check if optimization is required
179 - - reftable/stack: return stack segments directly
180 - - Merge branch 'kn/refs-optim-cleanup' into kn/maintenance-is-needed
181 - - Merge branch 'ps/ref-peeled-tags' into kn/maintenance-is-needed
244 +* kn/maintenance-is-needed (2025-11-08) 7 commits
245 + (merged to 'next' on 2025-11-14 at ed70525e16)
246 + + maintenance: add 'is-needed' subcommand
247 + + maintenance: add checking logic in `pack_refs_condition()`
248 + + refs: add a `optimize_required` field to `struct ref_storage_be`
249 + + reftable/stack: add function to check if optimization is required
250 + + reftable/stack: return stack segments directly
251 + + Merge branch 'kn/refs-optim-cleanup' into kn/maintenance-is-needed
252 + + Merge branch 'ps/ref-peeled-tags' into kn/maintenance-is-needed
253 (this branch uses kn/refs-optim-cleanup and ps/ref-peeled-tags.)
254
255 "git maintenance" command learned "is-needed" subcommand to tell if
256 it is necessary to perform various maintenance tasks.
257
187 - Will merge to 'next'?
188 - source: <20251106-562-add-sub-command-to-check-if-maintenance-is-needed-v3-0-d611a2a95cf5@gmail.com>
258 + Will cook in 'next'.
259 + source: <20251108-562-add-sub-command-to-check-if-maintenance-is-needed-v4-0-a90f229b6023@gmail.com>
260
261
262 * qj/doc-http-bad-want-response (2025-11-05) 1 commit
@@ -209,18 +280,19 @@ Release tarballs are available at:
280
281
282 * cc/fast-import-strip-if-invalid (2025-11-04) 3 commits
212 - - fast-import: add 'strip-if-invalid' mode to --signed-commits=<mode>
213 - - commit: refactor verify_commit_buffer()
214 - - fast-import: refactor finalize_commit_buffer()
283 + . fast-import: add 'strip-if-invalid' mode to --signed-commits=<mode>
284 + . commit: refactor verify_commit_buffer()
285 + . fast-import: refactor finalize_commit_buffer()
286
287 "git fast-import" learns "--strip-if-invalid" option to drop
288 invalid cryptographic signature from objects.
289
219 - Comments?
290 + Expecting a reroll. Its test does not work well with existing tests
291 + cf. <xmqqjz00e5ns.fsf@gitster.g>
292 source: <20251105061918.3688870-1-christian.couder@gmail.com>
293
294
223 -* jc/whitespace-incomplete-line (2025-11-05) 12 commits
295 +* jc/whitespace-incomplete-line (2025-11-12) 12 commits
296 - attr: enable incomplete-line whitespace error for this project
297 - diff: highlight and error out on incomplete lines
298 - apply: check and fix incomplete lines
@@ -229,7 +301,7 @@ Release tarballs are available at:
301 - diff: update the way rewrite diff handles incomplete lines
302 - diff: call emit_callback ecbdata everywhere
303 - diff: refactor output of incomplete line
232 - - diff: fix incorrect counting of line numbers
304 + - diff: keep track of the type of the last line seen
305 - diff: correct suppress_blank_empty hack
306 - diff: emit_line_ws_markup() if/else style fix
307 - whitespace: correct bit assignment comments
@@ -238,18 +310,7 @@ Release tarballs are available at:
310 "incomplete-line".
311
312 Comments?
241 - source: <20251105213052.1499224-1-gitster@pobox.com>
242 -
243 -
244 -* tc/last-modified-active-paths-optimization (2025-10-23) 1 commit
245 - (merged to 'next' on 2025-11-03 at 9ab444edfb)
246 - + last-modified: implement faster algorithm
247 -
248 - "git last-modified" was optimized by narrowing the set of paths to
249 - follow as it dug deeper in the history.
250 -
251 - Will cook in 'next'.
252 - source: <20251023-b4-toon-last-modified-faster-v3-1-40a4ddbbadec@iotcl.com>
313 + source: <20251112220258.1009253-1-gitster@pobox.com>
314
315
316 * ps/object-source-loose (2025-11-02) 13 commits
@@ -274,7 +335,8 @@ Release tarballs are available at:
335 source: <20251103-b4-pks-odb-loose-backend-v3-0-6a61ea977393@pks.im>
336
337
277 -* bc/sha1-256-interop-02 (2025-10-29) 15 commits
338 +* bc/sha1-256-interop-02 (2025-11-14) 16 commits
339 + - SQUASH??? cargo clippy
340 - SQUASH??? downgrade build.rs syntax
341 - object-file-convert: always make sure object ID algo is valid
342 - rust: add a small wrapper around the hashfile code
@@ -352,7 +414,7 @@ Release tarballs are available at:
414 source: <20251026225409.46647-1-lucasseikioshiro@gmail.com>
415
416
355 -* en/xdiff-cleanup-2 (2025-10-29) 10 commits
417 +* en/xdiff-cleanup-2 (2025-11-11) 10 commits
418 - xdiff: rename rindex -> reference_index
419 - xdiff: change rindex from long to size_t in xdfile_t
420 - xdiff: make xdfile_t.nreff a size_t instead of long
@@ -361,13 +423,13 @@ Release tarballs are available at:
423 - xdiff: use unambiguous types in xdl_hash_record()
424 - xdiff: use size_t for xrecord_t.size
425 - xdiff: make xrecord_t.ptr a uint8_t instead of char
364 - - xdiff: use ssize_t for dstart/dend, make them last in xdfile_t
426 + - xdiff: use ptrdiff_t for dstart/dend
427 - doc: define unambiguous type mappings across C and Rust
428
429 Code clean-up.
430
431 Comments?
370 - source: <pull.2070.v2.git.git.1761776388.gitgitgadget@gmail.com>
432 + source: <pull.2070.v3.git.git.1762890152.gitgitgadget@gmail.com>
433
434
435 * ar/run-command-hook (2025-10-17) 10 commits
@@ -432,15 +494,13 @@ Release tarballs are available at:
494 source: <20251023-b4-pks-ref-filter-skip-parsing-objects-v4-0-2be68ce82c9a@pks.im>
495
496
435 -* je/doc-data-model (2025-10-31) 2 commits
436 - - SQUASH??? fix xml that does not validate
497 +* je/doc-data-model (2025-11-12) 1 commit
498 - doc: add an explanation of Git's data model
499
500 Add a new manual that describes the data model.
501
441 - Expecting a (hopefully small and final) reroll?
442 - cf. <aQhcZwv0PdwNc6RW@pks.im>
443 - source: <pull.1981.v5.git.1761856336360.gitgitgadget@gmail.com>
502 + Will merge to 'next'?
503 + source: <pull.1981.v7.git.1762977200244.gitgitgadget@gmail.com>
504
505
506 * ps/history (2025-10-27) 12 commits