What's cooking (2025/11 #07)

Junio C Hamano committed Nov 23, 2025 at 16:48 UTC 773e2595c21b1b676c5299c1b91db5e8277f5263
1 file changed +131 -166
whats-cooking.txt
+131 -166
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Nov 2025, #06; Wed, 19)
3 -X-master-at: 5e6e4854e086ba0025bc7dc11e6b475c92a2f556
4 -X-next-at: 4c43c53c49517f9a5002d3e8f38395bde77dd998
2 +Subject: What's cooking in git.git (Nov 2025, #07; Sun, 23)
3 +X-master-at: debbc87557487aa9a8ed8a35367d17f8b4081c76
4 +X-next-at: 89d9e04f91292258263fb94060e466f84fbfc9d4
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Nov 2025, #06; Wed, 19)
7 +What's cooking in git.git (Nov 2025, #07; Sun, 23)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -17,9 +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 -The 'master' branch now has the first batch of topics for the new
21 -cycle. The tip of 'next' branch has been rewound.
22 -
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.
@@ -51,84 +48,124 @@ Release tarballs are available at:
48 --------------------------------------------------
49 [Graduated to 'master']
50
54 -* kn/refs-optim-cleanup (2025-10-20) 4 commits
55 - (merged to 'next' on 2025-11-04 at dbab18969a)
56 - + t/pack-refs-tests: move the 'test_done' to callees
57 - + refs: rename 'pack_refs_opts' to 'refs_optimize_opts'
58 - + refs: move to using the '.optimize' functions
59 - + Merge branch 'ps/ref-peeled-tags' into kn/refs-optim-cleanup
60 - (this branch is used by kn/maintenance-is-needed; uses ps/ref-peeled-tags.)
51 +* jc/gitattributes-whitespace-no-indent-fix (2025-11-11) 1 commit
52 + (merged to 'next' on 2025-11-19 at cd849a23a1)
53 + + .gitattributes: remove misspelled no-op whitespace attribute
54
62 - Code clean-up.
63 - source: <20251020-refs-code-cleanup-v2-0-f5349ed0f6a5@gmail.com>
64 -
65 -
66 -* ps/packed-git-in-object-store (2025-10-30) 9 commits
67 - (merged to 'next' on 2025-11-03 at 1eb3440abd)
68 - + packfile: track packs via the MRU list exclusively
69 - + packfile: always add packfiles to MRU when adding a pack
70 - + packfile: move list of packs into the packfile store
71 - + builtin/pack-objects: simplify logic to find kept or nonlocal objects
72 - + packfile: fix approximation of object counts
73 - + http: refactor subsystem to use `packfile_list`s
74 - + packfile: move the MRU list into the packfile store
75 - + packfile: use a `strmap` to store packs by name
76 - + Merge branch 'ps/remove-packfile-store-get-packs' into ps/packed-git-in-object-store
77 -
78 - The list of packfiles used in a running Git process is moved from
79 - the packed_git structure into the packfile store.
80 - source: <20251030-pks-packfiles-store-drop-list-v2-0-84654f080cc0@pks.im>
81 -
82 -
83 -* ps/ref-peeled-tags (2025-11-04) 18 commits
84 - (merged to 'next' on 2025-11-04 at 3818774c94)
85 - + t7004: do not chdir around in the main process
86 - + ref-filter: fix stale parsed objects
87 - + ref-filter: parse objects on demand
88 - + ref-filter: detect broken tags when dereferencing them
89 - + refs: don't store peeled object IDs for invalid tags
90 - + object: add flag to `peel_object()` to verify object type
91 - + refs: drop infrastructure to peel via iterators
92 - + refs: drop `current_ref_iter` hack
93 - + builtin/show-ref: convert to use `reference_get_peeled_oid()`
94 - + ref-filter: propagate peeled object ID
95 - + upload-pack: convert to use `reference_get_peeled_oid()`
96 - + refs: expose peeled object ID via the iterator
97 - + refs: refactor reference status flags
98 - + refs: fully reset `struct ref_iterator::ref` on iteration
99 - + refs: introduce `.ref` field for the base iterator
100 - + refs: introduce wrapper struct for `each_ref_fn`
101 - + Merge branch 'jt/repo-structure' into ps/ref-peeled-tags
102 - + Merge branch 'tb/incremental-midx-part-3.1' into ps/ref-peeled-tags
103 - (this branch is used by kn/maintenance-is-needed, kn/refs-optim-cleanup and ps/ref-peeled-tags-fixes.)
104 -
105 - Some ref backend storage can hold not just the object name of an
106 - annotated tag, but the object name of the object the tag points at.
107 - The code to handle this information has been streamlined.
108 - source: <20251023-b4-pks-ref-filter-skip-parsing-objects-v4-0-2be68ce82c9a@pks.im>
109 -
110 -
111 -* ps/ref-peeled-tags-fixes (2025-11-06) 2 commits
112 - (merged to 'next' on 2025-11-11 at 3549877a16)
113 - + object: fix performance regression when peeling tags
114 - + Merge branch 'ps/ref-peeled-tags' into ps/ref-peeled-tags-fixes
115 - (this branch uses ps/ref-peeled-tags.)
116 -
117 - Another fix-up to "peeled-tags" topic.
118 - source: <20251106-b4-pks-peel-object-performance-regression-v1-1-a386147750b0@pks.im>
55 + Originally merged to 'next' on 2025-11-14
56 +
57 + Ever since we added whitespace rules for this project, we misspelt
58 + an entry, which has been corrected.
59 + source: <xmqqv7jgwgxb.fsf@gitster.g>
60 +
61 +
62 +* kn/maintenance-is-needed (2025-11-08) 7 commits
63 + (merged to 'next' on 2025-11-19 at faaa24f412)
64 + + maintenance: add 'is-needed' subcommand
65 + + maintenance: add checking logic in `pack_refs_condition()`
66 + + refs: add a `optimize_required` field to `struct ref_storage_be`
67 + + reftable/stack: add function to check if optimization is required
68 + + reftable/stack: return stack segments directly
69 + + Merge branch 'kn/refs-optim-cleanup' into kn/maintenance-is-needed
70 + + Merge branch 'ps/ref-peeled-tags' into kn/maintenance-is-needed
71 +
72 + Originally merged to 'next' on 2025-11-14
73 +
74 + "git maintenance" command learned "is-needed" subcommand to tell if
75 + it is necessary to perform various maintenance tasks.
76 + source: <20251108-562-add-sub-command-to-check-if-maintenance-is-needed-v4-0-a90f229b6023@gmail.com>
77 +
78 +
79 +* rs/diff-quiet-no-rename (2025-11-09) 1 commit
80 + (merged to 'next' on 2025-11-19 at dc0b078446)
81 + + diff: disable rename detection with --quiet
82 +
83 + Originally merged to 'next' on 2025-11-14
84 +
85 + As "git diff --quiet" only cares about the existence of any
86 + changes, disable rename/copy detection to skip more expensive
87 + processing whose result will be discarded anyway.
88 + source: <8796cd59-2335-4674-823d-d682ce7b7f8e@web.de>
89
90 --------------------------------------------------
91 [New Topics]
92
93 +* ja/doc-synopsis-style (2025-11-19) 3 commits
94 + (merged to 'next' on 2025-11-21 at eb9c1703c0)
95 + + doc: convert git push to synopsis style
96 + + doc: convert git pull to synopsis style
97 + + doc: convert git fetch to synopsis style
98 +
99 + Doc mark-up updates.
100 +
101 + Will merge to 'master'.
102 + source: <pull.2002.git.1763588404.gitgitgadget@gmail.com>
103 +
104 +
105 +* jc/optional-path (2025-11-20) 3 commits
106 + - config: really treat missing optional path as not configured
107 + - config: really pretend missing :(optional) value is not there
108 + - config: mark otherwise unused function as file-scope static
109 +
110 + "git config get --path" segfaulted on an ":(optional)path" that
111 + does not exist, which has been corrected.
112 +
113 + Will merge to 'next'?
114 + source: <xmqqikf47ajk.fsf@gitster.g>
115 +
116 +
117 +* kh/doc-committer-date-is-author-date (2025-11-20) 1 commit
118 + - doc: warn against --committer-date-is-author-date
119 +
120 + The "--committer-date-is-author-date" option of "git am/rebase" is
121 + a misguided one. The documentation is updated to discourage its
122 + use.
123 +
124 + Will merge to 'next'?
125 + source: <V2_committer-date-is-author-date.1@msgid.xyz>
126 +
127 +
128 +* gf/win32-pthread-cond-init (2025-11-20) 1 commit
129 + - win32: pthread_cond_init should return a value
130 +
131 + Emulation code clean-up.
132 +
133 + Will merge to 'next'?
134 + source: <pull.2103.v3.git.git.1763675016637.gitgitgadget@gmail.com>
135 +
136 +
137 +* gf/win32-pthread-cond-wait-err (2025-11-18) 1 commit
138 + (merged to 'next' on 2025-11-21 at 89d9e04f91)
139 + + win32: return error if SleepConditionVariableCS fails
140 +
141 + Emulation code clean-up.
142 +
143 + Will merge to 'master'.
144 + source: <pull.2104.v2.git.git.1763480514065.gitgitgadget@gmail.com>
145 +
146 +
147 +* kn/ref-location (2025-11-19) 2 commits
148 + - refs: add GIT_REF_URI to specify reference backend and directory
149 + - refs: support obtaining ref_store for given dir
150 +
151 + A mechanism to specify what reference backend to use and store
152 + references in which directory is introduced, which would likely to
153 + be useful during ref migration.
154 + source: <20251119-kn-alternate-ref-dir-v1-0-4cf4a94c8bed@gmail.com>
155 +
156 +--------------------------------------------------
157 +[Cooking]
158 +
159 * jk/ci-windows-meson-test-fix (2025-11-18) 2 commits
124 - - ci(windows-meson-test): handle options and output like other test jobs
125 - - unit-test: ignore --no-chain-lint
160 + (merged to 'next' on 2025-11-20 at a0afd4fd5b)
161 + + ci(windows-meson-test): handle options and output like other test jobs
162 + + unit-test: ignore --no-chain-lint
163
164 "Windows+meson" job at the GitHub Actions CI was hard to debug, as
165 it did not show and save failed test artifacts, which has been
166 corrected.
167
131 - Will merge to 'next'.
168 + Will merge to 'master'.
169 source: <20251118093221.GA530337@coredump.intra.peff.net>
170
171
@@ -158,7 +195,7 @@ Release tarballs are available at:
195 Dockerised jobs at the GitHub Actions CI have been taught to show
196 more details of failed tests.
197
161 - Will merge to 'next'?
198 + Will merge to 'next' after amending?
199 cf. <xmqqpl9gike6.fsf@gitster.g>
200 source: <pull.2003.git.1763399064983.gitgitgadget@gmail.com>
201
@@ -208,14 +245,15 @@ Release tarballs are available at:
245
246
247 * pw/worktree-list-display-width-fix (2025-11-18) 2 commits
211 - - worktree list: quote paths
212 - - worktree list: fix column spacing
248 + (merged to 'next' on 2025-11-20 at 3a341524cb)
249 + + worktree list: quote paths
250 + + worktree list: fix column spacing
251
252 "git worktree list" attempts to show paths to worktrees while
253 aligning them, but miscounted display columns for the paths when
254 non-ASCII characters were involved, which has been corrected.
255
218 - Will merge to 'next'.
256 + Will merge to 'master'.
257 source: <cover.1763482051.git.phillip.wood@dunelm.org.uk>
258
259
@@ -244,7 +282,8 @@ Release tarballs are available at:
282 source: <pull.1938.git.1760058849.gitgitgadget@gmail.com>
283
284
247 -* ps/object-read-stream (2025-11-18) 19 commits
285 +* ps/object-read-stream (2025-11-23) 20 commits
286 + - streaming: drop redundant type and size pointers
287 - streaming: move into object database subsystem
288 - streaming: refactor interface to be object-database-centric
289 - streaming: move logic to read packed objects streams into backend
@@ -263,14 +302,14 @@ Release tarballs are available at:
302 - streaming: propagate final object type via the stream
303 - streaming: drop the `open()` callback function
304 - streaming: rename `git_istream` into `odb_read_stream`
266 - - Merge branch 'ps/object-source-loose' into HEAD
305 + - Merge branch 'ps/object-source-loose' into ps/object-read-stream
306 (this branch uses ps/object-source-loose.)
307
308 The "git_istream" abstraction has been revamped to make it easier
309 to interface with pluggable object database design.
310
272 - Comments?
273 - source: <20251119-b4-pks-odb-read-stream-v1-0-adacf03c2ccf@pks.im>
311 + Will merge to 'next'?
312 + source: <20251123-b4-pks-odb-read-stream-v3-0-1a129182822b@pks.im>
313
314
315 * ps/object-source-management (2025-11-18) 14 commits
@@ -287,7 +326,7 @@ Release tarballs are available at:
326 - odb: adopt logic to close object databases
327 - setup: convert `set_git_dir()` to have file scope
328 - path: move `enter_repo()` into "setup.c"
290 - - Merge branch 'ps/object-source-loose' into HEAD
329 + - Merge branch 'ps/object-source-loose' into ps/object-source-management
330 (this branch uses ps/object-source-loose.)
331
332 Code refactoring around object database sources.
@@ -295,8 +334,6 @@ Release tarballs are available at:
334 Comments?
335 source: <20251119-b4-pks-odb-creation-v1-0-2b2ed2612cb6@pks.im>
336
298 ---------------------------------------------------
299 -[Cooking]
337
338 * jc/submodule-add (2025-11-15) 1 commit
339 - submodule add: sanity check existing .gitmodules
@@ -310,34 +347,7 @@ Release tarballs are available at:
347 source: <xmqqv7jacvdq.fsf@gitster.g>
348
349
313 -* rs/diff-quiet-no-rename (2025-11-09) 1 commit
314 - (merged to 'next' on 2025-11-19 at dc0b078446)
315 - + diff: disable rename detection with --quiet
316 -
317 - Originally merged to 'next' on 2025-11-14
318 -
319 - As "git diff --quiet" only cares about the existence of any
320 - changes, disable rename/copy detection to skip more expensive
321 - processing whose result will be discarded anyway.
322 -
323 - Will merge to 'master'.
324 - source: <8796cd59-2335-4674-823d-d682ce7b7f8e@web.de>
325 -
326 -
327 -* jc/gitattributes-whitespace-no-indent-fix (2025-11-11) 1 commit
328 - (merged to 'next' on 2025-11-19 at cd849a23a1)
329 - + .gitattributes: remove misspelled no-op whitespace attribute
330 -
331 - Originally merged to 'next' on 2025-11-14
332 -
333 - Ever since we added whitespace rules for this project, we misspelt
334 - an entry, which has been corrected.
335 -
336 - Will merge to 'master'.
337 - source: <xmqqv7jgwgxb.fsf@gitster.g>
338 -
339 -
340 -* kn/fix-fetch-backfill-tag-with-batched-ref-updates (2025-11-18) 3 commits
350 +* kn/fix-fetch-backfill-tag-with-batched-ref-updates (2025-11-21) 3 commits
351 - fetch: fix failed batched updates skipping operations
352 - fetch: fix non-conflicting tags not being committed
353 - fetch: extract out reference committing logic
@@ -347,7 +357,7 @@ Release tarballs are available at:
357 has been corrected.
358
359 Will merge to 'next'?
350 - source: <20251118-fix-tags-not-fetching-v6-0-2a2f15fc137e@gmail.com>
360 + source: <20251121-fix-tags-not-fetching-v8-0-23b53a8a8334@gmail.com>
361
362
363 * jk/asan-bonanza (2025-11-18) 9 commits
@@ -363,7 +373,7 @@ Release tarballs are available at:
373
374 Various issues detected by Asan have been corrected.
375
366 - Will merge to 'next'?
376 + Will merge to 'next'.
377 source: <20251118091127.GA4175601@coredump.intra.peff.net>
378
379
@@ -464,25 +474,6 @@ Release tarballs are available at:
474 source: <pull.1992.git.1762192908.gitgitgadget@gmail.com>
475
476
467 -* kn/maintenance-is-needed (2025-11-08) 7 commits
468 - (merged to 'next' on 2025-11-19 at faaa24f412)
469 - + maintenance: add 'is-needed' subcommand
470 - + maintenance: add checking logic in `pack_refs_condition()`
471 - + refs: add a `optimize_required` field to `struct ref_storage_be`
472 - + reftable/stack: add function to check if optimization is required
473 - + reftable/stack: return stack segments directly
474 - + Merge branch 'kn/refs-optim-cleanup' into kn/maintenance-is-needed
475 - + Merge branch 'ps/ref-peeled-tags' into kn/maintenance-is-needed
476 -
477 - Originally merged to 'next' on 2025-11-14
478 -
479 - "git maintenance" command learned "is-needed" subcommand to tell if
480 - it is necessary to perform various maintenance tasks.
481 -
482 - Will merge to 'master'.
483 - source: <20251108-562-add-sub-command-to-check-if-maintenance-is-needed-v4-0-a90f229b6023@gmail.com>
484 -
485 -
477 * qj/doc-http-bad-want-response (2025-11-05) 1 commit
478 (merged to 'next' on 2025-11-19 at a602cd96eb)
479 + doc: clarify server behavior for invalid 'want' lines in HTTP protocol
@@ -535,7 +526,7 @@ Release tarballs are available at:
526 Both "git apply" and "git diff" learn a new whitespace error class,
527 "incomplete-line".
528
538 - Will merge to 'next'?
529 + Will merge to 'next'.
530 source: <20251112220258.1009253-1-gitster@pobox.com>
531
532
@@ -600,12 +591,13 @@ Release tarballs are available at:
591
592
593 * lo/repo-info-all (2025-11-18) 2 commits
603 - - repo: add --all to git-repo-info
604 - - repo: factor out field printing to dedicated function
594 + (merged to 'next' on 2025-11-21 at bb6bddcfc7)
595 + + repo: add --all to git-repo-info
596 + + repo: factor out field printing to dedicated function
597
598 "git repo info" learned "--all" option.
599
608 - Will merge to 'next'.
600 + Will merge to 'master'.
601 source: <20251118204929.43597-1-lucasseikioshiro@gmail.com>
602
603
@@ -665,7 +657,7 @@ Release tarballs are available at:
657
658 Add a new manual that describes the data model.
659
668 - Will merge to 'next'?
660 + Will merge to 'next'.
661 source: <pull.1981.v7.git.1762977200244.gitgitgadget@gmail.com>
662
663
@@ -734,30 +726,3 @@ Release tarballs are available at:
726 each other by encoding submodule names before using them as path
727 components.
728 source: <20251119211030.2008441-1-adrian.ratiu@collabora.com>
737 -
738 ---------------------------------------------------
739 -[Discarded]
740 -
741 -* ps/rust-cbindgen (2025-10-24) 6 commits
742 - . rust: generate bindings via cbindgen
743 - . meson: rename Rust library target
744 - . ci: use Debian instead of deprecated i386/ubuntu
745 - . gitlab-ci: backfill missing Linux jobs
746 - . gitlab-ci: reorder Linux job matrix to match GitHub's order
747 - . Merge branch 'ps/ci-rust' into ps/rust-cbindgen
748 -
749 - Introduce cbindgen in the build framework to help interfacing with
750 - Rust.
751 -
752 - Retracted.
753 - cf. <aQ3XOTX0AT_eFc5P@pks.im>
754 - source: <20251024-b4-pks-rust-cbindgen-v2-0-4b4bd4f18490@pks.im>
755 -
756 -
757 -* jc/ci-drop-p4-macosx (2025-11-14) 1 commit
758 - . CI: drop Perforce tests from macOSX jobs
759 -
760 - Drop P4 tests on macOSX platform on GitHub Actions CI.
761 -
762 - Retracted. Superseded by jc/ci-use-arm64-p4-on-macos topic.
763 - source: <xmqqqzu0gxq2.fsf_-_@gitster.g>