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