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