What's cooking (2025/09 #04)
Junio C Hamano committed
Sep 10, 2025 at 12:59 UTC
23d2baf7eb4bfb9b39af426f0250d701a9e2a605
1 file changed
+118
-150
whats-cooking.txt
+118
-150
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
-Subject: What's cooking in git.git (Sep 2025, #03; Mon, 8)
2
+Subject: What's cooking in git.git (Sep 2025, #04; Wed, 10)
3
X-master-at: 4975ec3473b4bc61bc8a3df1ef29d0b7e7959e87
4
-X-next-at: 87641ccf932d9ff14ba9770a85800514f51c415d
4
+X-next-at: afdaf0ed07e9cf343775fe4d542e679c90adf6f0
5
Bcc: lwn@lwn.net, gitster@pobox.com
6
7
-What's cooking in git.git (Sep 2025, #03; Mon, 8)
7
+What's cooking in git.git (Sep 2025, #04; Wed, 10)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking in my tree. Commits
@@ -51,66 +51,121 @@ Release tarballs are available at:
51
https://www.kernel.org/pub/software/scm/git/
52
53
--------------------------------------------------
54
-[Graduated to 'master']
54
+[New Topics]
55
56
-* am/xdiff-hash-tweak (2025-07-28) 2 commits
57
- (merged to 'next' on 2025-08-29 at 43590f0b38)
58
- + xdiff: optimize xdl_hash_record_verbatim
59
- + xdiff: refactor xdl_hash_record()
56
+* jt/odb-transaction (2025-09-09) 7 commits
57
+ - odb: add transaction interface
58
+ - object-file: update naming from bulk-checkin
59
+ - object-file: relocate ODB transaction code
60
+ - bulk-checkin: drop flush_odb_transaction()
61
+ - builtin/update-index: end ODB transaction when --verbose is specified
62
+ - bulk-checkin: remove ODB transaction nesting
63
+ - Merge branch 'jt/de-global-bulk-checkin' into jt/odb-transaction
64
+ (this branch uses jt/de-global-bulk-checkin.)
65
61
- Inspired by Ezekiel's recent effort to showcase Rust interface, the
62
- hash function implementation used to hash lines have been updated
63
- to the one used for ELF symbol lookup by Glibc.
64
- cf. <xmqqecsvqal6.fsf@gitster.g>
65
- source: <20250728190520.10962-1-amonakov@ispras.ru>
66
+ Continue the work to build on the bulk-checkin infrastructure to
67
+ create many objects at once in a transaction and abstract it into
68
+ the generic object layer.
69
70
+ Comments?
71
+ source: <20250909191134.555689-1-jltobler@gmail.com>
72
68
-* da/cargo-serialize (2025-08-26) 1 commit
69
- (merged to 'next' on 2025-08-29 at 5a193b1525)
70
- + Makefile: build libgit-rs and libgit-sys serially
73
72
- Makefile tried to run multiple "cargo build" which would not work
73
- very well; serialize their execution to work it around.
74
-
75
- source: <20250826233525.2635432-1-davvid@gmail.com>
74
+* cc/fast-import-strip-signed-commits (2025-09-10) 2 commits
75
+ - fast-import: add '--signed-commits=<mode>' option
76
+ - gpg-interface: refactor 'enum sign_mode' parsing
77
78
+ "git fast-import" learned that "--signed-commits=<how>" option that
79
+ corresponds to that of "git fast-export".
80
78
-* ds/ls-files-lazy-unsparse (2025-08-15) 1 commit
79
- (merged to 'next' on 2025-08-29 at a48fee2dde)
80
- + ls-files: conditionally leave index sparse
81
+ Comments?
82
+ source: <20250910080839.2142651-1-christian.couder@gmail.com>
83
82
- "git ls-files <pathspec>..." should not necessarily have to expand
83
- the index fully if a sparsified directory is excluded by the
84
- pathspec; the code is taught to expand the index on demand to avoid
85
- this.
86
-
87
- source: <pull.1955.git.1755274373717.gitgitgadget@gmail.com>
84
+--------------------------------------------------
85
+[Stalled]
86
87
+These topics have been expecting updates for quite some time. I'll
88
+eject any of them when they start to conflict with other topics in
89
+'seen' and may drop them from my tree when they are dormant for too
90
+long (let's say 8 weeks is way too long, for now). After that, they
91
+can be proposed again by rerolling them in a shape that would work
92
+well with other topics in 'seen' (and of course 'next' and
93
+"master').
94
90
-* ds/path-walk-repack-fix (2025-08-25) 2 commits
91
- (merged to 'next' on 2025-08-29 at 13028ffb8e)
92
- + path-walk: create initializer for path lists
93
- + path-walk: fix setup of pending objects
95
+* lc/rebase-trailer (2025-08-03) 2 commits
96
+ - rebase: support --trailer
97
+ - trailer: append trailers in-process and drop the fork to `interpret-trailers`
98
95
- "git repack --path-walk" lost objects in some corner cases, which
96
- has been corrected.
97
- cf. <CABPp-BHFxxGrqKc0m==TjQNjDGdO=H5Rf6EFsf2nfE1=TuraOQ@mail.gmail.com>
98
- source: <pull.1956.v2.git.1756126197.gitgitgadget@gmail.com>
99
+ Expecting a reroll.
100
+ cf. <198826af571.62b85cb31711042.2415806544948206668@linux.beauty>
101
+ cf. <xmqqiki7qasu.fsf@gitster.g>
102
+ source: <20250803150059.402017-1-me@linux.beauty>
103
104
101
-* tc/last-modified (2025-08-05) 3 commits
102
- (merged to 'next' on 2025-08-29 at 3f3e111189)
103
- + last-modified: use Bloom filters when available
104
- + t/perf: add last-modified perf script
105
- + last-modified: new subcommand to show when files were last modified
105
+* ac/deglobal-sparse-variables (2025-07-18) 3 commits
106
+ . environment: remove the global variable 'sparse_expect_files_outside_of_patterns'
107
+ . environment: move access to "core.sparsecheckoutcone" into repo_settings
108
+ . environment: move access to "core.sparsecheckout" into repo_settings
109
107
- A new command "git last-modified" has been added to show the closest
108
- ancestor commit that touched each path.
109
-
110
- source: <20250730175510.987383-1-toon@iotcl.com>
110
+ Two global variables related to sparse checkout have been moved to
111
+ the repository settings structure.
112
+
113
+ Expecting a reroll.
114
+ cf. <CAE7as+bnG6KgA8X_n36pqP15bmyM6re+xEb1MOXKvZSUdJ8Arg@mail.gmail.com>
115
+ Ejected out of 'seen' for now.
116
+ source: <cover.1752882401.git.ayu.chandekar@gmail.com>
117
+
118
+
119
+* tb/prepare-midx-pack-cleanup (2025-05-28) 5 commits
120
+ . midx: return a `packed_git` pointer from `prepare_midx_pack()`
121
+ . midx-write.c: extract inner loop from fill_packs_from_midx()
122
+ . midx-write.c: guard against incremental MIDXs in want_included_pack()
123
+ . midx: access pack names through `nth_midxed_pack_name()`
124
+ . Merge branch 'ps/midx-negative-packfile-cache' into tb/prepare-midx-pack-cleanup
125
+
126
+ Improvement on Multi-pack-index API.
127
+
128
+ Expecting a reroll.
129
+ cf. <20250530065034.GC1321283@coredump.intra.peff.net>
130
+ source: <cover.1748473122.git.me@ttaylorr.com>
131
+
132
+
133
+* cc/promisor-remote-capability (2025-09-07) 7 commits
134
+ - promisor-remote: use string_list_split() in mark_remotes_as_accepted()
135
+ - promisor-remote: allow a client to check fields
136
+ - promisor-remote: use string_list_split() in filter_promisor_remote()
137
+ - promisor-remote: refactor how we parse advertised fields
138
+ - promisor-remote: use string constants for 'name' and 'url' too
139
+ - promisor-remote: allow a server to advertise more fields
140
+ - promisor-remote: refactor to get rid of 'struct strvec'
141
+
142
+ The "promisor-remote" capability mechanism has been updated to
143
+ allow the "partialCloneFilter" settings and the "token" value to be
144
+ communicated from the server side.
145
+
146
+ Will merge to 'next'?
147
+ source: <20250908053056.956907-1-christian.couder@gmail.com>
148
+
149
+
150
+* ar/submodule-gitdir-tweak (2025-09-08) 10 commits
151
+ - t7425: add gitdir encoding tests
152
+ - t7450: move nested gitdir tests to t7425
153
+ - submodule: remove validate_submodule_git_dir()
154
+ - submodule: error out if gitdir name is too long
155
+ - submodule: encode gitdir paths to avoid conflicts
156
+ - strbuf: bring back is_rfc3986_unreserved
157
+ - t7425: add basic mixed submodule gitdir path tests
158
+ - submodule: add gitdir path config override
159
+ - submodule: create new gitdirs under submodules path
160
+ - submodule--helper: use submodule_name_to_gitdir in add_submodule
161
+
162
+ Avoid local submodule repository directory paths overlapping with
163
+ each other by encoding submodule names before using them as path
164
+ components.
165
+ source: <20250908140117.262205-1-adrian.ratiu@collabora.com>
166
167
--------------------------------------------------
113
-[New Topics]
168
+[Cooking]
169
170
* pw/3.0-default-initial-branch-to-main (2025-09-04) 4 commits
171
- t0613: stop setting default initial branch
@@ -149,18 +204,19 @@ Release tarballs are available at:
204
source: <20250904-b4-pks-commit-graph-via-source-v1-0-d932c2481e1a@pks.im>
205
206
152
-* ps/rust-balloon (2025-09-05) 7 commits
207
+* ps/rust-balloon (2025-09-08) 8 commits
208
- ci: enable Rust for breaking-changes jobs
209
- ci: convert "pedantic" job into full build with breaking changes
210
- BreakingChanges: announce Rust becoming mandatory
211
- rust: implement a test balloon via the "varint" subsystem
212
- help: report on whether or not Rust is enabled
213
- Makefile: introduce infrastructure to build internal Rust library
214
+ - Makefile: reorder sources after includes
215
- meson: add infrastructure to build internal Rust library
216
217
Dip our toes a bit to (optionally) use Rust implemented helper
218
called from our C code.
163
- source: <20250905-b4-pks-rust-breaking-change-v2-0-6939cbf4a0b8@pks.im>
219
+ source: <20250908-b4-pks-rust-breaking-change-v3-0-1cd7189fed3b@pks.im>
220
221
222
* kh/doc-fast-import-markup-fix (2025-09-08) 1 commit
@@ -200,97 +256,6 @@ Release tarballs are available at:
256
Expecting a reroll.
257
source: <aL21kDwK-zGZyJ9q@ArchLinux>
258
203
---------------------------------------------------
204
-[Stalled]
205
-
206
-These topics have been expecting updates for quite some time. I'll
207
-eject any of them when they start to conflict with other topics in
208
-'seen' and may drop them from my tree when they are dormant for too
209
-long (let's say 8 weeks is way too long, for now). After that, they
210
-can be proposed again by rerolling them in a shape that would work
211
-well with other topics in 'seen' (and of course 'next' and
212
-"master').
213
-
214
-* lc/rebase-trailer (2025-08-03) 2 commits
215
- - rebase: support --trailer
216
- - trailer: append trailers in-process and drop the fork to `interpret-trailers`
217
-
218
- Expecting a reroll.
219
- cf. <198826af571.62b85cb31711042.2415806544948206668@linux.beauty>
220
- cf. <xmqqiki7qasu.fsf@gitster.g>
221
- source: <20250803150059.402017-1-me@linux.beauty>
222
-
223
-
224
-* ac/deglobal-sparse-variables (2025-07-18) 3 commits
225
- . environment: remove the global variable 'sparse_expect_files_outside_of_patterns'
226
- . environment: move access to "core.sparsecheckoutcone" into repo_settings
227
- . environment: move access to "core.sparsecheckout" into repo_settings
228
-
229
- Two global variables related to sparse checkout have been moved to
230
- the repository settings structure.
231
-
232
- Expecting a reroll.
233
- cf. <CAE7as+bnG6KgA8X_n36pqP15bmyM6re+xEb1MOXKvZSUdJ8Arg@mail.gmail.com>
234
- Ejected out of 'seen' for now.
235
- source: <cover.1752882401.git.ayu.chandekar@gmail.com>
236
-
237
-
238
-* tb/prepare-midx-pack-cleanup (2025-05-28) 5 commits
239
- . midx: return a `packed_git` pointer from `prepare_midx_pack()`
240
- . midx-write.c: extract inner loop from fill_packs_from_midx()
241
- . midx-write.c: guard against incremental MIDXs in want_included_pack()
242
- . midx: access pack names through `nth_midxed_pack_name()`
243
- . Merge branch 'ps/midx-negative-packfile-cache' into tb/prepare-midx-pack-cleanup
244
-
245
- Improvement on Multi-pack-index API.
246
-
247
- Expecting a reroll.
248
- cf. <20250530065034.GC1321283@coredump.intra.peff.net>
249
- source: <cover.1748473122.git.me@ttaylorr.com>
250
-
251
-
252
-* cc/promisor-remote-capability (2025-09-07) 7 commits
253
- - promisor-remote: use string_list_split() in mark_remotes_as_accepted()
254
- - promisor-remote: allow a client to check fields
255
- - promisor-remote: use string_list_split() in filter_promisor_remote()
256
- - promisor-remote: refactor how we parse advertised fields
257
- - promisor-remote: use string constants for 'name' and 'url' too
258
- - promisor-remote: allow a server to advertise more fields
259
- - promisor-remote: refactor to get rid of 'struct strvec'
260
-
261
- The "promisor-remote" capability mechanism has been updated to
262
- allow the "partialCloneFilter" settings and the "token" value to be
263
- communicated from the server side.
264
-
265
- Will merge to 'next'?
266
- source: <20250908053056.956907-1-christian.couder@gmail.com>
267
-
268
-
269
-* ar/submodule-gitdir-tweak (2025-09-02) 11 commits
270
- . fixup! t: submodules: add basic mixed gitdir path tests
271
- . fixup! t: add gitdir encoding tests
272
- . t: add gitdir encoding tests
273
- . t: move nested gitdir tests to proper location
274
- . submodule: remove validate_submodule_git_dir()
275
- . submodule: encode gitdir paths to avoid conflicts
276
- . strbuf: bring back is_rfc3986_unreserved
277
- . t: submodules: add basic mixed gitdir path tests
278
- . submodule: add gitdir path config override
279
- . submodule: create new gitdirs under submodules path
280
- . submodule--helper: use submodule_name_to_gitdir in add_submodule
281
-
282
- Avoid local submodule repository directory paths overlapping with
283
- each other by encoding submodule names before using them as path
284
- components.
285
-
286
- Need to pick up a reroll.
287
- cf.<20250908140117.262205-1-adrian.ratiu@collabora.com>
288
- Breaks builds.
289
- cf. https://github.com/git/git/actions/runs/17447961977/job/49546783809
290
- source: <20250816213642.3517822-1-adrian.ratiu@collabora.com>
291
-
292
---------------------------------------------------
293
-[Cooking]
259
260
* ds/midx-write-fixes (2025-09-05) 6 commits
261
(merged to 'next' on 2025-09-08 at 74b87ce5ba)
@@ -344,7 +309,7 @@ well with other topics in 'seen' (and of course 'next' and
309
source: <20250902-b4-pks-gitlab-ci-windows-defender-v1-1-fcb1f19321aa@pks.im>
310
311
347
-* ps/packfile-store (2025-09-02) 16 commits
312
+* ps/packfile-store (2025-09-09) 16 commits
313
- packfile: refactor `get_packed_git_mru()` to work on packfile store
314
- packfile: refactor `get_all_packs()` to work on packfile store
315
- packfile: remove `get_packed_git()`
@@ -367,7 +332,7 @@ well with other topics in 'seen' (and of course 'next' and
332
object database(s).
333
334
Comments?
370
- source: <20250902-b4-pks-packfiles-store-v3-0-6925278efeda@pks.im>
335
+ source: <20250909-b4-pks-packfiles-store-v4-0-151c4ba3619f@pks.im>
336
337
338
* kh/doc-markup-fixes (2025-09-02) 2 commits
@@ -391,16 +356,18 @@ well with other topics in 'seen' (and of course 'next' and
356
backend is used for ref storage, by failing only the ones that are
357
involved in the conflict while allowing others.
358
394
- Comments?
359
+ Expecting a reroll.
360
+ cf. <aL_SwghVaAXL-yeX@pks.im>
361
source: <20250908-587-git-fetch-1-fails-fetches-on-case-insensitive-repositories-v2-0-b2eb2459befb@gmail.com>
362
363
364
* mm/worktree-doc-typofix (2025-09-03) 1 commit
399
- - docs: fix typo in worktree.adoc 'extension'
365
+ (merged to 'next' on 2025-09-09 at afdaf0ed07)
366
+ + docs: fix typo in worktree.adoc 'extension'
367
368
Docfix.
369
403
- Will merge to 'next'.
370
+ Will merge to 'master'.
371
source: <pull.1967.git.1756911040439.gitgitgadget@gmail.com>
372
373
@@ -492,21 +459,20 @@ well with other topics in 'seen' (and of course 'next' and
459
source: <20250827080702.GA3572995@coredump.intra.peff.net>
460
461
495
-* kh/you-still-use-whatchanged-fix (2025-09-08) 8 commits
462
+* kh/you-still-use-whatchanged-fix (2025-09-09) 7 commits
463
- BreakingChanges: remove claim about whatchanged reports
464
- whatchanged: remove not-even-shorter clause
465
- whatchanged: tell users the git-log(1) equivalent
466
- you-still-use-that??: help the user help themselves
467
- t0014: test shadowing of aliases for a sample of builtins
468
- git: allow alias-shadowing deprecated builtins
502
- - git: make the two loops look more symmetric
469
- git: add `deprecated` category to --list-cmds
470
471
Update "do you still use it?" message given by a command that is
472
deeply deprecated and allow us to suggest alternatives.
473
474
Will merge to 'next'?
509
- source: <cover.1757345711.git.code@khaugsbakk.name>
475
+ source: <cover.1757446619.git.code@khaugsbakk.name>
476
477
478
* pc/range-diff-memory-limit (2025-08-29) 1 commit
@@ -586,6 +552,7 @@ well with other topics in 'seen' (and of course 'next' and
552
+ bulk-checkin: require transaction for index_blob_bulk_checkin()
553
+ bulk-checkin: remove global transaction state
554
+ bulk-checkin: introduce object database transaction structure
555
+ (this branch is used by jt/odb-transaction.)
556
557
The bulk-checkin code used to depend on a file-scope static
558
singleton variable, which has been updated to pass an instance
@@ -677,8 +644,9 @@ well with other topics in 'seen' (and of course 'next' and
644
prune otherwise unused working-tree files that are outside the
645
areas of interest.
646
680
- Rebased not to depend on ac/deglobal-sparse-variables
681
- Will merge to 'next'?
647
+ Waiting for review responses?
648
+ cf. <c3c0fbef-f395-4972-8352-dd89af6799d5@gmail.com>
649
+ (Rebased not to depend on ac/deglobal-sparse-variables)
650
source: <pull.1941.v2.git.1752716054.gitgitgadget@gmail.com>
651
652