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>