What's cooking (2025/12 #04)

Junio C Hamano committed Dec 15, 2025 at 18:12 UTC 58c7ddb663ca7951d3db7bc6de7ed86fff590fb8
1 file changed +211 -143
whats-cooking.txt
+211 -143
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Dec 2025, #03)
3 -X-master-at: e85ae279b0d58edc2f4c3fd5ac391b51e1223985
4 -X-next-at: 1dd061c0dc5afb29e4658344357c7edeef2ab3b0
2 +Subject: What's cooking in git.git (Dec 2025, #04)
3 +X-master-at: d8af7cadaa79d5837d73ec949e10b57dedb43e9b
4 +X-next-at: be84eed79ebb4e77ce9add3476f309913f2d8cba
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Dec 2025, #03)
7 +What's cooking in git.git (Dec 2025, #04)
8 -----------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -45,61 +45,219 @@ Release tarballs are available at:
45
46 https://www.kernel.org/pub/software/scm/git/
47
48 +--------------------------------------------------
49 +[Graduated to 'master']
50 +
51 +* je/doc-data-model (2025-12-02) 1 commit
52 + (merged to 'next' on 2025-12-06 at 3f4935d65f)
53 + + doc: remove stray text in Git data model
54 +
55 + Docfix.
56 + source: <pull.2014.git.1764699084703.gitgitgadget@gmail.com>
57 +
58 +
59 +* je/doc-pull (2025-12-03) 1 commit
60 + (merged to 'next' on 2025-12-05 at 601711e5f2)
61 + + doc: git-pull: fix 'git --rebase abort' typo
62 +
63 + Doc fixup.
64 + source: <pull.2015.git.1764776095597.gitgitgadget@gmail.com>
65 +
66 +
67 +* js/last-modified-with-sparse-checkouts (2025-11-29) 1 commit
68 + (merged to 'next' on 2025-12-05 at f1d5abdd14)
69 + + last-modified: support sparse checkouts
70 +
71 + "git last-modified" used to mishandle "--" to mark the beginning of
72 + pathspec, which has been corrected.
73 + source: <pull.2013.git.1764423826908.gitgitgadget@gmail.com>
74 +
75 +
76 +* kh/advise-w-git-help-in-branch (2025-12-02) 1 commit
77 + (merged to 'next' on 2025-12-05 at 3b7b03150e)
78 + + branch: advice using git-help(1) instead of man(1)
79 +
80 + A help message from "git branch" now mentions "git help" instead of
81 + "man" when suggesting to read some documentation.
82 + source: <V2_advice_git-help.53@msgid.xyz>
83 +
84 +
85 +* lo/repo-struct-z (2025-12-04) 3 commits
86 + (merged to 'next' on 2025-12-06 at 4f602e14d8)
87 + + repo: add -z as an alias for --format=nul to git-repo-structure
88 + + repo: use [--format=... | -z] instead of [-z] in git-repo-info synopsis
89 + + repo: remove blank line from Documentation/git-repo.adoc
90 + (this branch is used by lo/repo-info-keys.)
91 +
92 + "git repo struct" learned to take "-z" as a synonym to "--format=nul".
93 + cf. <aTK9X6ptrqs_9agD@pks.im>
94 + source: <20251204210843.79411-1-lucasseikioshiro@gmail.com>
95 +
96 +
97 +* rs/diff-index-find-copies-harder-optim (2025-11-30) 1 commit
98 + (merged to 'next' on 2025-12-05 at 539b086bfc)
99 + + diff-index: don't queue unchanged filepairs with diff_change()
100 +
101 + Halve the memory consumed by artificial filepairs created during
102 + "git diff --find-copioes-harder", also making the operation run
103 + faster.
104 + source: <aa28974b-ec73-4562-bfc8-4745ad58b55a@web.de>
105 +
106 +
107 +* tc/last-modified-active-paths-optimization (2025-11-28) 1 commit
108 + (merged to 'next' on 2025-12-05 at 42c18b607f)
109 + + last-modified: fix use of uninitialized memory
110 + (this branch is used by jc/memzero-array and tc/memzero-array.)
111 +
112 + Recent optimization to "last-modified" command introduced use of
113 + uninitialized block of memory, which has been corrected.
114 + source: <20251128-toon-big-endian-ci-v1-1-80da0f629c1e@iotcl.com>
115 +
116 +
117 +* tc/meson-cross-compile-fix (2025-12-03) 3 commits
118 + (merged to 'next' on 2025-12-05 at c45b57ca74)
119 + + meson: use is_cross_build() where possible
120 + + meson: only detect ICONV_OMITS_BOM if possible
121 + + meson: ignore subprojects/.wraplock
122 +
123 + Build fix.
124 + source: <20251202-toon-cross-compile-v1-0-cabc8bce529f@iotcl.com>
125 +
126 --------------------------------------------------
127 [New Topics]
128
51 -* jt/repo-struct-more-objinfo (2025-12-09) 6 commits
129 +* kj/pull-options-decl-cleanup (2025-12-11) 1 commit
130 + (merged to 'next' on 2025-12-14 at f59cad1d37)
131 + + pull: move options[] array into function scope
132 +
133 + Code clean-up.
134 +
135 + Will merge to 'master'.
136 + source: <20251212074433.38027-1-jayatheerthkulkarni2005@gmail.com>
137 +
138 +
139 +* jc/memzero-array (2025-12-12) 3 commits
140 + - cocci: use MEMZERO_ARRAY() a bit more
141 + - coccicheck: emit the contents of cocci patch
142 + - Merge branch 'tc/memzero-array' into jc/memzero-array
143 + (this branch uses tc/memzero-array.)
144 +
145 + Further application of MEMZERO_ARRAY() macro to the rest of the
146 + code base.
147 +
148 + Will merge to 'next' together with the base topic?
149 + source: <20251213014628.3380826-1-gitster@pobox.com>
150 +
151 +
152 +* rs/t4014-git-version-string-fix (2025-12-13) 1 commit
153 + (merged to 'next' on 2025-12-14 at eef802176c)
154 + + t4014: support Git version strings with spaces
155 +
156 + Test fix.
157 +
158 + Will merge to 'master'.
159 + source: <b79cba1d-f32b-4034-979e-fb9528d05f18@web.de>
160 +
161 +
162 +* jc/doc-commit-signoff-config (2025-12-14) 1 commit
163 + - commit: document that $command.signoff will not be added
164 +
165 + Documentation update.
166 +
167 + Will merge to 'next'?
168 + source: <xmqqldj48pyl.fsf@gitster.g>
169 +
170 +
171 +* ps/packfile-store-in-odb-source (2025-12-14) 12 commits
172 + - packfile: move MIDX into packfile store
173 + - packfile: refactor `find_pack_entry()` to work on the packfile store
174 + - packfile: inline `find_kept_pack_entry()`
175 + - packfile: only prepare owning store in `packfile_store_prepare()`
176 + - packfile: only prepare owning store in `packfile_store_get_packs()`
177 + - packfile: move packfile store into object source
178 + - packfile: refactor misleading code when unusing pack windows
179 + - packfile: refactor kept-pack cache to work with packfile stores
180 + - packfile: pass source to `prepare_pack()`
181 + - packfile: create store via its owning source
182 + - Merge branch 'ps/odb-misc-fixes' into ps/packfile-store-in-odb-source
183 + - Merge branch 'ps/object-read-stream' into ps/packfile-store-in-odb-source
184 + (this branch uses ps/object-read-stream and ps/odb-misc-fixes.)
185 +
186 + The packfile_store data structure is moved from object store to odb
187 + source.
188 +
189 + Comments?
190 + source: <20251215-b4-pks-pack-store-via-source-v1-0-433aac465295@pks.im>
191 +
192 +
193 +* rs/diff-files-r-find-copies-fix (2025-12-14) 1 commit
194 + - diff-files: fix copy detection
195 +
196 + "git diff-files -R --find-copies-harder" has been taught to use
197 + the potential copy sources from the index correctly.
198 +
199 + Will merge to 'next'?
200 + source: <4b06a448-0935-4f2a-9061-238c7cc800c3@web.de>
201 +
202 +--------------------------------------------------
203 +[Cooking]
204 +
205 +* jt/repo-struct-more-objinfo (2025-12-12) 7 commits
206 - builtin/repo: add object disk size info to structure table
207 - builtin/repo: add disk size info to keyvalue stucture output
208 - builtin/repo: add inflated object info to structure table
209 - builtin/repo: add inflated object info to keyvalue structure output
210 - builtin/repo: humanise count values in structure output
211 + - strbuf: split out logic to humanise byte values
212 - builtin/repo: group per-type object values into struct
213
214 More object database related information are shown in "git repo
215 structure" output.
216
217 Comments?
63 - source: <20251209225820.2861276-1-jltobler@gmail.com>
218 + source: <20251212223644.3090879-1-jltobler@gmail.com>
219
220
66 -* jc/c99-fam (2025-12-11) 1 commit
67 - - 3.0: require C99 flexible-array member syntax
221 +* jc/c99-fam (2025-12-12) 1 commit
222 + - FLEX_ARRAY: require platforms to support the C99 syntax
223
69 - Require C99 style flexible array member support after Git 3.0
70 - boundary.
224 + Require C99 style flexible array member support from all platforms.
225
72 - Comments?
73 - source: <xmqqbjk5e32q.fsf@gitster.g>
226 + Will merge to 'next'?
227 + source: <xmqqqzszc13d.fsf@gitster.g>
228
229
230 * jc/macports-darwinports (2025-12-10) 1 commit
77 - - Makefile: help macOS novices by mentioning MacPorts
231 + (merged to 'next' on 2025-12-14 at 5c608e07fe)
232 + + Makefile: help macOS novices by mentioning MacPorts
233
234 Makefile in-comment doc update.
235
81 - Will merge to 'next'.
236 + Will merge to 'master'.
237 source: <xmqq7buthgq4.fsf@gitster.g>
238
239
85 -* rs/macos-iconv-workaround (2025-12-09) 1 commit
240 +* rs/macos-iconv-workaround (2025-12-13) 2 commits
241 - config.mak.uname: use iconv from Homebrew on macOS
242 + - Makefile: add NO_HOMEBREW
243
244 Workaround that "iconv" shipped as part of macOS, which is broken
89 - handling ISO-2022 encoded strings.
245 + handling stateful ISO-2022 encoded strings.
246
91 - Will merge to 'next'?
92 - source: <16efc726-34be-44f5-aa92-4e82b663ab3d@web.de>
247 + Comments?
248 + cf. <435e4190-6c46-4404-b769-234f704f608a@web.de>
249 + source: <53690064-1c98-40e9-8b9a-7ba6bee63703@web.de>
250
251
252 * rs/replay-wrong-onto-fix (2025-12-11) 2 commits
96 - - replay: move onto NULL check before first use
97 - - Merge branch 'sa/replay-atomic-ref-updates' into rs/replay-wrong-onto-fix
253 + (merged to 'next' on 2025-12-14 at d34966465f)
254 + + replay: move onto NULL check before first use
255 + + Merge branch 'sa/replay-atomic-ref-updates' into rs/replay-wrong-onto-fix
256
257 "git replay --onto=<commit> ...", when <commit> is mistyped,
258 started to segfault with recent change, which has been corrected.
259
102 - Will merge to 'next'.
260 + Will merge to 'master'.
261 source: <9db2b913-b5d6-4617-b079-b4612eaa2b97@web.de>
262
263
@@ -107,7 +265,7 @@ Release tarballs are available at:
265 - contrib/coccinelle: pass include paths to spatch(1)
266 - git-compat-util: introduce MEMZERO_ARRAY() macro
267 - Merge branch 'tc/last-modified-active-paths-optimization' into tc/memzero-array
110 - (this branch uses tc/last-modified-active-paths-optimization.)
268 + (this branch is used by jc/memzero-array.)
269
270 MEMZERO_ARRAY() helper is introduced to avoid clearing only the
271 first N bytes of an N-element array whose elements are larger than
@@ -117,8 +275,6 @@ Release tarballs are available at:
275 cf. <aTpieqFoMmZiSzWS@pks.im>
276 source: <20251210-toon-cocci-memzero-v1-0-ae916a79065b@iotcl.com>
277
120 ---------------------------------------------------
121 -[Cooking]
278
279 * jc/capability-leak (2025-12-06) 1 commit
280 (merged to 'next' on 2025-12-10 at cfe8ce92b1)
@@ -130,23 +286,22 @@ Release tarballs are available at:
286 source: <xmqqfr9mnbu9.fsf@gitster.g>
287
288
133 -* kh/doc-replay-updates (2025-12-07) 3 commits
134 - - doc: replay: link section using markup
135 - - doc: replay: document --contained
136 - - doc: replay: mention no output on conflicts
289 +* kh/doc-replay-updates (2025-12-13) 3 commits
290 + (merged to 'next' on 2025-12-14 at 71a8f83876)
291 + + doc: replay: link section using markup
292 + + replay: improve --contained and add to doc
293 + + doc: replay: mention no output on conflicts
294
295 "git replay" documentation updates.
296
140 - Expecting a (hopefully small and final) reroll.
141 - cf. <39b57721-ab9e-489d-a382-16d9fe94c300@app.fastmail.com>
142 - source: <CV_replay_conflict.101@msgid.xyz>
297 + Will merge to 'master'.
298 + source: <V2_CV_replay_conflict.12f@msgid.xyz>
299
300
301 * lo/repo-info-keys (2025-12-09) 3 commits
302 - repo: add new flag --keys to git-repo-info
303 - repo: add a default output format to enum output_format
304 - Merge branch 'lo/repo-struct-z' into lo/repo-info-keys
149 - (this branch uses lo/repo-struct-z.)
305
306 "git repo info" learns "--keys" action to list known keys.
307
@@ -234,78 +389,11 @@ Release tarballs are available at:
389 source: <20251209014900.402637-1-aplattner@nvidia.com>
390
391
237 -* je/doc-pull (2025-12-03) 1 commit
238 - (merged to 'next' on 2025-12-05 at 601711e5f2)
239 - + doc: git-pull: fix 'git --rebase abort' typo
240 -
241 - Doc fixup.
242 -
243 - Will merge to 'master'.
244 - source: <pull.2015.git.1764776095597.gitgitgadget@gmail.com>
245 -
246 -
247 -* js/last-modified-with-sparse-checkouts (2025-11-29) 1 commit
248 - (merged to 'next' on 2025-12-05 at f1d5abdd14)
249 - + last-modified: support sparse checkouts
250 -
251 - "git last-modified" used to mishandle "--" to mark the beginning of
252 - pathspec, which has been corrected.
253 -
254 - Will merge to 'master'.
255 - source: <pull.2013.git.1764423826908.gitgitgadget@gmail.com>
256 -
257 -
258 -* kh/advise-w-git-help-in-branch (2025-12-02) 1 commit
259 - (merged to 'next' on 2025-12-05 at 3b7b03150e)
260 - + branch: advice using git-help(1) instead of man(1)
261 -
262 - A help message from "git branch" now mentions "git help" instead of
263 - "man" when suggesting to read some documentation.
264 -
265 - Will merge to 'master'.
266 - source: <V2_advice_git-help.53@msgid.xyz>
267 -
268 -
269 -* lo/repo-struct-z (2025-12-04) 3 commits
270 - (merged to 'next' on 2025-12-06 at 4f602e14d8)
271 - + repo: add -z as an alias for --format=nul to git-repo-structure
272 - + repo: use [--format=... | -z] instead of [-z] in git-repo-info synopsis
273 - + repo: remove blank line from Documentation/git-repo.adoc
274 - (this branch is used by lo/repo-info-keys.)
275 -
276 - "git repo struct" learned to take "-z" as a synonym to "--format=nul".
277 -
278 - Will merge to 'master'.
279 - cf. <aTK9X6ptrqs_9agD@pks.im>
280 - source: <20251204210843.79411-1-lucasseikioshiro@gmail.com>
281 -
282 -
283 -* tc/meson-cross-compile-fix (2025-12-03) 3 commits
284 - (merged to 'next' on 2025-12-05 at c45b57ca74)
285 - + meson: use is_cross_build() where possible
286 - + meson: only detect ICONV_OMITS_BOM if possible
287 - + meson: ignore subprojects/.wraplock
288 -
289 - Build fix.
290 -
291 - Will merge to 'master'.
292 - source: <20251202-toon-cross-compile-v1-0-cabc8bce529f@iotcl.com>
293 -
294 -
295 -* je/doc-data-model (2025-12-02) 1 commit
296 - (merged to 'next' on 2025-12-06 at 3f4935d65f)
297 - + doc: remove stray text in Git data model
298 -
299 - Docfix.
300 -
301 - Will merge to 'master'.
302 - source: <pull.2014.git.1764699084703.gitgitgadget@gmail.com>
303 -
304 -
392 * ps/odb-misc-fixes (2025-12-10) 3 commits
393 - odb: properly close sources before freeing them
394 - builtin/gc: fix condition for whether to write commit graphs
395 - Merge branch 'ps/object-source-management' into ps/odb-misc-fixes
396 + (this branch is used by ps/packfile-store-in-odb-source.)
397
398 Miscellaneous fixes on object database layer.
399
@@ -381,22 +469,10 @@ Release tarballs are available at:
469 In-code comment update to clarify that single-letter options are
470 outside of the scope of command line completion script.
471
384 - Comments?
472 + Will merge to 'next'?
473 source: <xmqqzf7vm7b7.fsf@gitster.g>
474
475
388 -* tc/last-modified-active-paths-optimization (2025-11-28) 1 commit
389 - (merged to 'next' on 2025-12-05 at 42c18b607f)
390 - + last-modified: fix use of uninitialized memory
391 - (this branch is used by tc/memzero-array.)
392 -
393 - Recent optimization to "last-modified" command introduced use of
394 - uninitialized block of memory, which has been corrected.
395 -
396 - Will merge to 'master'.
397 - source: <20251128-toon-big-endian-ci-v1-1-80da0f629c1e@iotcl.com>
398 -
399 -
476 * jk/parse-int (2025-11-30) 5 commits
477 - fsck: use parse_unsigned_from_buf() for parsing timestamp
478 - cache-tree: use parse_int_from_buf()
@@ -436,18 +512,6 @@ Release tarballs are available at:
512 source: <pull.2009.v2.git.1764946945.gitgitgadget@gmail.com>
513
514
439 -* rs/diff-index-find-copies-harder-optim (2025-11-30) 1 commit
440 - (merged to 'next' on 2025-12-05 at 539b086bfc)
441 - + diff-index: don't queue unchanged filepairs with diff_change()
442 -
443 - Halve the memory consumed by artificial filepairs created during
444 - "git diff --find-copioes-harder", also making the operation run
445 - faster.
446 -
447 - Will merge to 'master'.
448 - source: <aa28974b-ec73-4562-bfc8-4745ad58b55a@web.de>
449 -
450 -
515 * tc/last-modified-options-cleanup (2025-11-26) 4 commits
516 - fixup! last-modified: document option --max-depth
517 - last-modified: document how depth is handled better
@@ -461,18 +525,18 @@ Release tarballs are available at:
525 source: <20251126-toon-last-modified-zzzz-v1-0-608350df0caa@iotcl.com>
526
527
464 -* ds/doc-scalar-config (2025-12-01) 5 commits
465 - - scalar: document config settings
466 - - scalar: alphabetize and simplify config
467 - - scalar: remove stale config values
468 - - scalar: use index.skipHash=true for performance
469 - - scalar: annotate config file with "set by scalar"
528 +* ds/doc-scalar-config (2025-12-12) 5 commits
529 + (merged to 'next' on 2025-12-14 at 2a7406f512)
530 + + scalar: document config settings
531 + + scalar: alphabetize and simplify config
532 + + scalar: remove stale config values
533 + + scalar: use index.skipHash=true for performance
534 + + scalar: annotate config file with "set by scalar"
535
536 Documentation updates.
537
473 - Expecting a reroll.
474 - cf. <aS88bnmZXMZCV5oS@pks.im>
475 - source: <pull.2010.v2.git.1764607847.gitgitgadget@gmail.com>
538 + Will merge to 'master'.
539 + source: <pull.2010.v3.git.1765552528.gitgitgadget@gmail.com>
540
541
542 * pw/replay-drop-empty (2025-11-27) 2 commits
@@ -558,6 +622,7 @@ Release tarballs are available at:
622 + streaming: drop the `open()` callback function
623 + streaming: rename `git_istream` into `odb_read_stream`
624 + Merge branch 'ps/object-source-loose' into ps/object-read-stream
625 + (this branch is used by ps/packfile-store-in-odb-source.)
626
627 The "git_istream" abstraction has been revamped to make it easier
628 to interface with pluggable object database design.
@@ -574,7 +639,7 @@ Release tarballs are available at:
639 without defining where its submodule.<name>.path is, which has been
640 corrected.
641
577 - Comments?
642 + Will merge to 'next'?
643 source: <xmqqv7jacvdq.fsf@gitster.g>
644
645
@@ -706,21 +771,24 @@ Release tarballs are available at:
771 source: <a203b35538847f3c9358a5ae26fb4ebea5734cfc.1759420102.git.msuchanek@suse.de>
772
773
709 -* ar/submodule-gitdir-tweak (2025-11-19) 7 commits
710 - - meson/Makefile: allow setting submodule encoding at build time
711 - - submodule: use hashed name for gitdir
712 - - submodule: fix case-folding gitdir filesystem colisions
713 - - submodule: add extension to encode gitdir paths
714 - - submodule: always validate gitdirs inside submodule_name_to_gitdir
774 +* ar/submodule-gitdir-tweak (2025-12-13) 10 commits
775 + - submodule: hash the submodule name for the gitdir path
776 + - submodule: fix case-folding gitdir filesystem collisions
777 + - submodule--helper: fix filesystem collisions by encoding gitdir paths
778 - builtin/credential-store: move is_rfc3986_unreserved to url.[ch]
779 + - submodule--helper: add gitdir migration command
780 + - submodule: allow runtime enabling extensions.submodulePathConfig
781 + - submodule: introduce extensions.submodulePathConfig
782 + - builtin/submodule--helper: add gitdir command
783 + - submodule: always validate gitdirs inside submodule_name_to_gitdir
784 - submodule--helper: use submodule_name_to_gitdir in add_submodule
785
786 Avoid local submodule repository directory paths overlapping with
787 each other by encoding submodule names before using them as path
788 components.
789
722 - Expecting a reroll.
723 - source: <20251119211030.2008441-1-adrian.ratiu@collabora.com>
790 + Comments?
791 + source: <20251213080817.347922-1-adrian.ratiu@collabora.com>
792
793 --------------------------------------------------
794 [Discarded]