What's cooking (2025/11 #10)
Junio C Hamano committed
Nov 30, 2025 at 18:45 UTC
72582ff044e3488ea6f6004517c0e70c114d151f
1 file changed
+128
-161
whats-cooking.txt
+128
-161
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
-Subject: What's cooking in git.git (Nov 2025, #09; Fri, 28)
3
-X-master-at: b31ab939fe8e3cbe8be48dddd1c6ac0265991f45
4
-X-next-at: f5cc29aaa48b979583a3fbe972e9795efbe8d134
2
+Subject: What's cooking in git.git (Nov 2025, #10; Sun, 30)
3
+X-master-at: f0ef5b6d9bcc258e4cbef93839d1b7465d5212b9
4
+X-next-at: d5f0c6e74e9a802622dcc0000e49faff0f38e160
5
Bcc: lwn@lwn.net, gitster@pobox.com
6
7
-What's cooking in git.git (Nov 2025, #09; Fri, 28)
7
+What's cooking in git.git (Nov 2025, #10; Sun, 30)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking in my tree. Commits
@@ -17,6 +17,9 @@ 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
+The maintainer will only be online for a few days during the first
21
+week of December, so please expect things to be slower in my tree.
22
+
23
Copies of the source code to Git live in many repositories, and the
24
following is a list of the ones I push into or their mirrors. Some
25
repositories have only a subset of branches.
@@ -48,119 +51,157 @@ Release tarballs are available at:
51
--------------------------------------------------
52
[Graduated to 'master']
53
51
-* ad/blame-diff-algorithm (2025-11-17) 2 commits
52
- (merged to 'next' on 2025-11-19 at e1e456469f)
53
- + blame: make diff algorithm configurable
54
- + xdiff: add 'minimal' to XDF_DIFF_ALGORITHM_MASK
54
+* ja/doc-synopsis-style (2025-11-24) 4 commits
55
+ (merged to 'next' on 2025-11-24 at 10610d9a57)
56
+ + doc: pull-fetch-param typofix
57
+ (merged to 'next' on 2025-11-21 at eb9c1703c0)
58
+ + doc: convert git push to synopsis style
59
+ + doc: convert git pull to synopsis style
60
+ + doc: convert git fetch to synopsis style
61
56
- "git blame" learns "--diff-algorithm=<algo>" option.
57
- cf. <fd03f2a5-bf9e-453f-97d1-d5a66bc87470@gmail.com>
58
- source: <pull.2075.v6.git.git.1763366672.gitgitgadget@gmail.com>
62
+ Doc mark-up updates.
63
+
64
+ source: <pull.2002.git.1763588404.gitgitgadget@gmail.com>
65
66
61
-* en/ort-rename-another-fix (2025-11-03) 3 commits
62
- (merged to 'next' on 2025-11-19 at 53d94af6b4)
63
- + merge-ort: fix failing merges in special corner case
64
- + merge-ort: remove debugging crud
65
- + t6429: update comment to mention correct tool
67
+* jc/whitespace-incomplete-line (2025-11-12) 12 commits
68
+ (merged to 'next' on 2025-11-24 at 9682c7f652)
69
+ + attr: enable incomplete-line whitespace error for this project
70
+ + diff: highlight and error out on incomplete lines
71
+ + apply: check and fix incomplete lines
72
+ + whitespace: allocate a few more bits and define WS_INCOMPLETE_LINE
73
+ + apply: revamp the parsing of incomplete lines
74
+ + diff: update the way rewrite diff handles incomplete lines
75
+ + diff: call emit_callback ecbdata everywhere
76
+ + diff: refactor output of incomplete line
77
+ + diff: keep track of the type of the last line seen
78
+ + diff: correct suppress_blank_empty hack
79
+ + diff: emit_line_ws_markup() if/else style fix
80
+ + whitespace: correct bit assignment comments
81
67
- Yet another corner case fix around renames in the "ort" merge
68
- strategy.
69
- source: <pull.1992.git.1762192908.gitgitgadget@gmail.com>
82
+ Both "git apply" and "git diff" learn a new whitespace error class,
83
+ "incomplete-line".
84
+
85
+ source: <20251112220258.1009253-1-gitster@pobox.com>
86
87
72
-* gf/win32-pthread-cond-wait-err (2025-11-18) 1 commit
73
- (merged to 'next' on 2025-11-21 at 89d9e04f91)
74
- + win32: return error if SleepConditionVariableCS fails
88
+* je/doc-data-model (2025-11-12) 1 commit
89
+ (merged to 'next' on 2025-11-24 at 50e59df383)
90
+ + doc: add an explanation of Git's data model
91
76
- Emulation code clean-up.
77
- source: <pull.2104.v2.git.git.1763480514065.gitgitgadget@gmail.com>
92
+ Add a new manual that describes the data model.
93
+
94
+ source: <pull.1981.v7.git.1762977200244.gitgitgadget@gmail.com>
95
96
80
-* jk/ci-windows-meson-test-fix (2025-11-18) 2 commits
81
- (merged to 'next' on 2025-11-20 at a0afd4fd5b)
82
- + ci(windows-meson-test): handle options and output like other test jobs
83
- + unit-test: ignore --no-chain-lint
97
+* jk/asan-bonanza (2025-11-18) 9 commits
98
+ (merged to 'next' on 2025-11-24 at 066fc38a19)
99
+ + t: enable ASan's strict_string_checks option
100
+ + fsck: avoid parse_timestamp() on buffer that isn't NUL-terminated
101
+ + fsck: remove redundant date timestamp check
102
+ + fsck: avoid strcspn() in fsck_ident()
103
+ + fsck: assert newline presence in fsck_ident()
104
+ + cache-tree: avoid strtol() on non-string buffer
105
+ + Makefile: turn on NO_MMAP when building with ASan
106
+ + pack-bitmap: handle name-hash lookups in incremental bitmaps
107
+ + compat/mmap: mark unused argument in git_munmap()
108
85
- "Windows+meson" job at the GitHub Actions CI was hard to debug, as
86
- it did not show and save failed test artifacts, which has been
87
- corrected.
88
- source: <20251118093221.GA530337@coredump.intra.peff.net>
109
+ Various issues detected by Asan have been corrected.
110
+
111
+ source: <20251118091127.GA4175601@coredump.intra.peff.net>
112
113
91
-* jk/test-mktemp-leakfix (2025-11-18) 1 commit
92
- (merged to 'next' on 2025-11-19 at 1da34f8b26)
93
- + test-mktemp: plug memory and descriptor leaks
114
+* lo/repo-info-all (2025-11-18) 2 commits
115
+ (merged to 'next' on 2025-11-21 at bb6bddcfc7)
116
+ + repo: add --all to git-repo-info
117
+ + repo: factor out field printing to dedicated function
118
95
- Test leakfix.
96
- source: <20251118122124.GA1117960@coredump.intra.peff.net>
119
+ "git repo info" learned "--all" option.
120
+
121
+ source: <20251118204929.43597-1-lucasseikioshiro@gmail.com>
122
123
+--------------------------------------------------
124
+[New Topics]
125
99
-* js/ci-github-setup-go-update (2025-11-17) 1 commit
100
- (merged to 'next' on 2025-11-19 at 9922384c2b)
101
- + ci: bump actions/setup-go from 5 to 6
126
+* tc/last-modified-active-paths-optimization (2025-11-28) 1 commit
127
+ - last-modified: fix use of uninitialized memory
128
103
- Update a version of action used at the GitHub Actrions CI.
104
- source: <ebc68ec5b2abbc4702b94f833b9b3bf1adb79f1a.1763450087.git.zhiyou.jx@alibaba-inc.com>
129
+ Recent optimization to "last-modified" command introduced use of
130
+ uninitialized block of memory, which has been corrected.
131
132
+ Will merge to 'next'.
133
+ source: <20251128-toon-big-endian-ci-v1-1-80da0f629c1e@iotcl.com>
134
107
-* js/cmake-libgit-fix (2025-11-17) 1 commit
108
- (merged to 'next' on 2025-11-19 at 1593640ab0)
109
- + cmake: stop trying to build the reftable and xdiff libraries
135
111
- Makefile based build have recently been updated to build a
112
- libgit.a that also has reftable and xdiff objects; CMake based
113
- build procedure has been updated to match.
114
- source: <pull.2006.git.1763412008722.gitgitgadget@gmail.com>
136
+* en/replay-doc-revision-range (2025-11-28) 1 commit
137
+ (merged to 'next' on 2025-11-30 at 37ba09bea2)
138
+ + Documentation/git-replay.adoc: fix errors around revision range
139
140
+ The use of "revision" (a connected set of commits) has been
141
+ clarified in the "git replay" documentation.
142
117
-* js/mingw-assign-comma-fix (2025-11-17) 1 commit
118
- (merged to 'next' on 2025-11-19 at d1a5807e11)
119
- + mingw: avoid the comma operator
143
+ Will merge to 'master'.
144
+ source: <pull.2012.git.1764391464952.gitgitgadget@gmail.com>
145
121
- The "return errno = EFOO, -1" construct, which is heavily used in
122
- compat/mingw.c and triggers warnings under "-Wcomma", has been
123
- rewritten to avoid the warnings.
124
- source: <pull.2007.git.1763412374866.gitgitgadget@gmail.com>
146
147
+* jk/parse-int (2025-11-30) 5 commits
148
+ - fsck: use parse_unsigned_from_buf() for parsing timestamp
149
+ - cache-tree: use parse_int_from_buf()
150
+ - parse: add functions for parsing from non-string buffers
151
+ - parse: prefer bool to int for boolean returns
152
+ - Merge branch 'jk/asan-bonanza' into jk/parse-int
153
127
-* js/wincred-get-credential-alloc-fix (2025-11-17) 1 commit
128
- (merged to 'next' on 2025-11-19 at 4c43c53c49)
129
- + wincred: avoid memory corruption
154
+ Introduce a more robust way to parse a decimal integer stored in a
155
+ piece of memory that is not necessarily terminated with NUL (which
156
+ Asan strict-string-check complains even when use of strtol() is
157
+ safe due to varified existence of whitespace after the digits).
158
+
159
+ Will merge to 'next'?
160
+ source: <20251130131351.GA198697@coredump.intra.peff.net>
161
131
- Under-allocation fix.
132
- source: <pull.2005.git.1763411984773.gitgitgadget@gmail.com>
162
163
+* js/test-symlink-windows (2025-11-29) 10 commits
164
+ - t7800: work around the MSYS path conversion on Windows
165
+ - t6423: introduce Windows-specific handling for symlinking to /dev/null
166
+ - t1305: skip symlink tests that do not apply to Windows
167
+ - t1006: accommodate for symlink support in MSYS2
168
+ - t0600: fix incomplete prerequisite for a test case
169
+ - t0301: another fix for Windows compatibility
170
+ - t0001: handle `diff --no-index` gracefully
171
+ - mingw: special-case `open(symlink, O_CREAT | O_EXCL)`
172
+ - apply: symbolic links lack a "trustable executable bit"
173
+ - t9700: accommodate for Windows paths
174
135
-* pw/worktree-list-display-width-fix (2025-11-18) 2 commits
136
- (merged to 'next' on 2025-11-20 at 3a341524cb)
137
- + worktree list: quote paths
138
- + worktree list: fix column spacing
175
+ Prepare test suite
176
140
- "git worktree list" attempts to show paths to worktrees while
141
- aligning them, but miscounted display columns for the paths when
142
- non-ASCII characters were involved, which has been corrected.
143
- source: <cover.1763482051.git.phillip.wood@dunelm.org.uk>
177
+ Comments?
178
+ cf. <xmqqms44cb7p.fsf@gitster.g>
179
+ cf. <xmqqecpgc8wd.fsf@gitster.g>
180
+ source: <pull.2009.git.1764440906.gitgitgadget@gmail.com>
181
182
146
-* rs/xmkstemp-simplify (2025-11-17) 1 commit
147
- (merged to 'next' on 2025-11-19 at 228e9f54ab)
148
- + wrapper: simplify xmkstemp()
183
+* rs/diff-index-find-copies-harder-optim (2025-11-30) 1 commit
184
+ - diff-index: don't queue unchanged filepairs with diff_change()
185
150
- Code simplification.
151
- source: <058c5722-30f5-4bc5-90f5-24e4c6f3ff8f@web.de>
186
+ Halve the memory consumed by artificial filepairs created during
187
+ "git diff --find-copioes-harder", also making the operation run
188
+ faster.
189
+
190
+ Will merge to 'next'.
191
+ source: <aa28974b-ec73-4562-bfc8-4745ad58b55a@web.de>
192
193
--------------------------------------------------
154
-[New Topics]
194
+[Cooking]
195
196
* pw/replay-exclude-gpgsig-fix (2025-11-26) 1 commit
157
- - replay: do not copy "gpgsign-sha256" header
197
+ (merged to 'next' on 2025-11-30 at 3dda1242db)
198
+ + replay: do not copy "gpgsign-sha256" header
199
200
"git replay" forgot to omit the "gpgsig-sha256" extended header
201
from the resulting commit the same way it omits "gpgsig", which has
202
been corrected.
203
163
- Will merge to 'next'.
204
+ Will merge to 'master'.
205
source: <4f04af5790353b074cf122c450c1cd3f8d1cecf3.1764167611.git.phillip.wood@dunelm.org.uk>
206
207
@@ -178,22 +219,24 @@ Release tarballs are available at:
219
220
221
* yc/xdiff-patience-optim (2025-11-26) 1 commit
181
- - xdiff: optimize patience diff's LCS search
222
+ (merged to 'next' on 2025-11-30 at db62d67599)
223
+ + xdiff: optimize patience diff's LCS search
224
225
The way patience diff finds LCS has been optimized.
226
185
- Will merge to 'next'.
186
- source: <pull.2109.git.git.1764152756908.gitgitgadget@gmail.com>
227
+ Will merge to 'master'.
228
+ source: <pull.2109.v2.git.git.1764209766305.gitgitgadget@gmail.com>
229
230
231
* bc/zsh-testsuite (2025-11-27) 2 commits
190
- - t5564: fix test hang under zsh's sh mode
191
- - t0614: use numerical comparison with test_line_count
232
+ (merged to 'next' on 2025-11-30 at b4a3081f6f)
233
+ + t5564: fix test hang under zsh's sh mode
234
+ + t0614: use numerical comparison with test_line_count
235
236
A few tests have been updated to work under the shell compatible
237
mode of zsh.
238
196
- Will merge to 'next'.
239
+ Will merge to 'master'.
240
source: <20251128012107.101431-1-sandals@crustytoothpaste.net>
241
242
@@ -206,7 +249,8 @@ Release tarballs are available at:
249
250
Documentation updates.
251
209
- Comments?
252
+ Expecting a reroll.
253
+ cf. <089c3225-82cb-4039-83df-f97ea9fd49b2@gmail.com>
254
source: <pull.2010.git.1764195516.gitgitgadget@gmail.com>
255
256
@@ -221,8 +265,6 @@ Release tarballs are available at:
265
On hold, until the base topic stabilizes.
266
source: <8a2a1215306452147cc7b803530ab2429bf57f15.1764260150.git.phillip.wood@dunelm.org.uk>
267
224
---------------------------------------------------
225
-[Cooking]
268
269
* sp/shallow-time-boundary (2025-11-23) 1 commit
270
- shallow: set borders which are all reachable after clone shallow since
@@ -270,20 +312,6 @@ Release tarballs are available at:
312
source: <pull.2100.v2.git.git.1764174391776.gitgitgadget@gmail.com>
313
314
273
-* ja/doc-synopsis-style (2025-11-24) 4 commits
274
- (merged to 'next' on 2025-11-24 at 10610d9a57)
275
- + doc: pull-fetch-param typofix
276
- (merged to 'next' on 2025-11-21 at eb9c1703c0)
277
- + doc: convert git push to synopsis style
278
- + doc: convert git pull to synopsis style
279
- + doc: convert git fetch to synopsis style
280
-
281
- Doc mark-up updates.
282
-
283
- Will merge to 'master'.
284
- source: <pull.2002.git.1763588404.gitgitgadget@gmail.com>
285
-
286
-
315
* jc/optional-path (2025-11-20) 3 commits
316
(merged to 'next' on 2025-11-25 at 5e75404281)
317
+ config: really treat missing optional path as not configured
@@ -448,24 +476,6 @@ Release tarballs are available at:
476
source: <20251121-fix-tags-not-fetching-v8-0-23b53a8a8334@gmail.com>
477
478
451
-* jk/asan-bonanza (2025-11-18) 9 commits
452
- (merged to 'next' on 2025-11-24 at 066fc38a19)
453
- + t: enable ASan's strict_string_checks option
454
- + fsck: avoid parse_timestamp() on buffer that isn't NUL-terminated
455
- + fsck: remove redundant date timestamp check
456
- + fsck: avoid strcspn() in fsck_ident()
457
- + fsck: assert newline presence in fsck_ident()
458
- + cache-tree: avoid strtol() on non-string buffer
459
- + Makefile: turn on NO_MMAP when building with ASan
460
- + pack-bitmap: handle name-hash lookups in incremental bitmaps
461
- + compat/mmap: mark unused argument in git_munmap()
462
-
463
- Various issues detected by Asan have been corrected.
464
-
465
- Will merge to 'master'.
466
- source: <20251118091127.GA4175601@coredump.intra.peff.net>
467
-
468
-
479
* lc/rebase-trailer (2025-11-05) 4 commits
480
- rebase: support --trailer
481
- trailer: append trailers in-process and drop the fork to `interpret-trailers`
@@ -504,28 +514,6 @@ Release tarballs are available at:
514
source: <20251117043450.322644-1-christian.couder@gmail.com>
515
516
507
-* jc/whitespace-incomplete-line (2025-11-12) 12 commits
508
- (merged to 'next' on 2025-11-24 at 9682c7f652)
509
- + attr: enable incomplete-line whitespace error for this project
510
- + diff: highlight and error out on incomplete lines
511
- + apply: check and fix incomplete lines
512
- + whitespace: allocate a few more bits and define WS_INCOMPLETE_LINE
513
- + apply: revamp the parsing of incomplete lines
514
- + diff: update the way rewrite diff handles incomplete lines
515
- + diff: call emit_callback ecbdata everywhere
516
- + diff: refactor output of incomplete line
517
- + diff: keep track of the type of the last line seen
518
- + diff: correct suppress_blank_empty hack
519
- + diff: emit_line_ws_markup() if/else style fix
520
- + whitespace: correct bit assignment comments
521
-
522
- Both "git apply" and "git diff" learn a new whitespace error class,
523
- "incomplete-line".
524
-
525
- Will merge to 'master'.
526
- source: <20251112220258.1009253-1-gitster@pobox.com>
527
-
528
-
517
* bc/sha1-256-interop-02 (2025-11-17) 15 commits
518
- object-file-convert: always make sure object ID algo is valid
519
- rust: add a small wrapper around the hashfile code
@@ -548,17 +536,6 @@ Release tarballs are available at:
536
source: <20251117221621.2863243-1-sandals@crustytoothpaste.net>
537
538
551
-* lo/repo-info-all (2025-11-18) 2 commits
552
- (merged to 'next' on 2025-11-21 at bb6bddcfc7)
553
- + repo: add --all to git-repo-info
554
- + repo: factor out field printing to dedicated function
555
-
556
- "git repo info" learned "--all" option.
557
-
558
- Will merge to 'master'.
559
- source: <20251118204929.43597-1-lucasseikioshiro@gmail.com>
560
-
561
-
539
* en/xdiff-cleanup-2 (2025-11-18) 10 commits
540
(merged to 'next' on 2025-11-25 at 452b7107da)
541
+ xdiff: rename rindex -> reference_index
@@ -610,16 +587,6 @@ Release tarballs are available at:
587
source: <pull.1991.git.1760731558.gitgitgadget@gmail.com>
588
589
613
-* je/doc-data-model (2025-11-12) 1 commit
614
- (merged to 'next' on 2025-11-24 at 50e59df383)
615
- + doc: add an explanation of Git's data model
616
-
617
- Add a new manual that describes the data model.
618
-
619
- Will merge to 'master'.
620
- source: <pull.1981.v7.git.1762977200244.gitgitgadget@gmail.com>
621
-
622
-
590
* ps/history (2025-10-27) 12 commits
591
- builtin/history: implement "split" subcommand
592
- cache-tree: allow writing in-memory index as tree