What's cooking (2026/07 #11)
Junio C Hamano committed
Jul 24, 2026 at 15:09 UTC
2883c9d288e0423a524fc63c8dc75b2dc0f0fbc9
1 file changed
+207
-328
whats-cooking.txt
+207
-328
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
-Subject: What's cooking in git.git (Jul 2026, #10)
2
+Subject: What's cooking in git.git (Jul 2026, #11)
3
X-master-at: 9a0c4701dcd5725c4184599322b52933ff5005ca
4
-X-next-at: 3f0d50209424de9b2a3b57975503a767e485f62a
4
+X-next-at: e436a42272e5f75bb9ac8df1355c4593652372fe
5
Bcc: lwn@lwn.net, gitster@pobox.com
6
7
-What's cooking in git.git (Jul 2026, #10)
7
+What's cooking in git.git (Jul 2026, #11)
8
-----------------------------------------
9
10
Here are the topics that have been cooking in my tree. Commits
@@ -48,190 +48,160 @@ Release tarballs are available at:
48
https://www.kernel.org/pub/software/scm/git/
49
50
--------------------------------------------------
51
-[Graduated to 'master']
52
-
53
-* cc/doc-fast-export-synopsis-fix (2026-07-13) 1 commit
54
- (merged to 'next' on 2026-07-16 at b1dbc0cb3f)
55
- + fast-export: standardize usage string and SYNOPSIS
56
-
57
- The usage string and SYNOPSIS for 'git fast-export' have been
58
- standardized to make them consistent with each other and with other
59
- commands.
60
-
61
- Graduated to 'master'.
62
- cf. <alX5Nl8uX4ctVqo3@pks.im>
63
- cf. <xmqq4ii228dd.fsf@gitster.g>
64
- source: <20260713124153.245268-1-christian.couder@gmail.com>
65
-
66
-
67
-* cl/b4-cover-change-id (2026-07-10) 1 commit
68
- (merged to 'next' on 2026-07-13 at 15c7ad9a3f)
69
- + b4: include change-id in cover template
70
-
71
- The in-tree 'b4' cover letter template has been updated to include the
72
- 'change-id' trailer, ensuring that sent tags generated by 'b4' contain
73
- the required tracking information for subsequent runs.
74
-
75
- Graduated to 'master'.
76
- source: <20260710-add-change-id-to-b4-template-v1-1-1bd37a25064e@black-desk.cn>
77
-
78
-
79
-* cl/conditional-config-on-worktree-path (2026-07-09) 2 commits
80
- (merged to 'next' on 2026-07-15 at 86ca33c437)
81
- + config: add "worktree" and "worktree/i" includeIf conditions
82
- + config: refactor include_by_gitdir() into include_by_path()
83
-
84
- The '[includeIf "condition"]' conditional inclusion facility for
85
- configuration files has been taught to use the location of the
86
- worktree in its condition.
87
-
88
- Graduated to 'master'.
89
- cf. <alTJCTKR9jOWfgbk@pks.im>
90
- source: <20260710-includeif-worktree-v8-0-04686d8a616c@black-desk.cn>
91
-
51
+[New Topics]
52
93
-* dm/submodule-update-i-shorthand (2026-07-07) 1 commit
94
- (merged to 'next' on 2026-07-15 at 55ef0fb748)
95
- + submodule--helper: accept '-i' shorthand for update --init
53
+* af/clone-revision-v0-segfault-fix (2026-07-24) 1 commit
54
+ - builtin/clone: fix segfault when using --revision with protocol v0
55
97
- The '-i' shorthand for the '--init' option, which was accepted by the
98
- 'git submodule update' command until it was broken in a modernization
99
- of the option-parsing code, has been restored.
56
+ 'git clone --revision' talking to a server that does not support
57
+ protocol v2 (falling back to protocol v0) segfaulted, which has
58
+ been corrected.
59
101
- Graduated to 'master'.
102
- cf. <xmqq8q7ltf51.fsf@gitster.g>
103
- source: <20260708-submodule-init-v1-1-719456077262@atmark-techno.com>
60
+ Will merge to 'next'?
61
+ cf. <xmqqldb08jcd.fsf@gitster.g>
62
+ source: <20260724124138.666877-1-adrian.friedli@mt.com>
63
64
106
-* jt/receive-pack-use-odb-transactions (2026-07-10) 11 commits
107
- (merged to 'next' on 2026-07-15 at aba57e3365)
108
- + builtin/receive-pack: stage incoming objects via ODB transactions
109
- + builtin/receive-pack: drop redundant tmpdir env
110
- + odb/transaction: introduce ODB transaction flags
111
- + odb/transaction: add transaction env interface
112
- + odb/transaction: propagate commit errors
113
- + odb/transaction: propagate begin errors
114
- + object-file: propagate files transaction errors
115
- + object-file: drop check for inflight transactions
116
- + object-file: embed transaction flush logic in commit function
117
- + object-file: rename files transaction fsync function
118
- + object-file: rename files transaction prepare function
119
- (this branch is used by ps/odb-move-loose-object-writing.)
65
+* lo/mv-missing-dest-dir-check (2026-07-23) 2 commits
66
+ - mv: check for missing destination directory before renaming
67
+ - mv: name both source and destination when rename fails
68
121
- 'git receive-pack' has been refactored to use ODB transaction
122
- interfaces instead of directly managing 'tmp_objdir' for staging
123
- incoming objects, bringing it closer to being ODB backend agnostic.
69
+ 'git mv' has been updated to check for a missing destination
70
+ leading directory during the checking phase, allowing 'git mv -n'
71
+ to report the failure. The error message when the rename(2)
72
+ syscall fails has also been improved to name both the source and
73
+ the destination.
74
125
- Graduated to 'master'.
126
- cf. <alR1P-RGZNmjyiUE@pks.im>
127
- source: <20260710163722.2962278-1-jltobler@gmail.com>
75
+ Waiting for response.
76
+ cf. <xmqq8q71k3fy.fsf@gitster.g>
77
+ cf. <xmqqh5lpk3r3.fsf@gitster.g>
78
+ source: <pull.2356.v2.git.git.1784812390.gitgitgadget@gmail.com>
79
80
130
-* kk/no-walk-pathspec-fix (2026-07-16) 2 commits
131
- (merged to 'next' on 2026-07-16 at 4dd6fb0e7e)
132
- + revision: fix --no-walk path filtering regression
133
- + Merge branch 'kk/streaming-walk-pqueue' into kk/no-walk-pathspec-fix
81
+* ps/odb-make-creation-pluggable (2026-07-23) 5 commits
82
+ - odb: make creation of on-disk structures pluggable
83
+ - odb/source: introduce function to map source type to name
84
+ - setup: defer object database creation
85
+ - setup: detangle loading of loose object maps
86
+ - loose: load loose object map for the correct source
87
135
- The 'git rev-list --no-walk' command has been corrected to restore
136
- pathspec filtering, which was lost when the streaming walk was
137
- refactored.
88
+ The creation of the on-disk data structures for the object database
89
+ has been made pluggable, allowing future backends to customize their
90
+ setup. As part of this, the initialization of the object database
91
+ has been deferred, and the loading of the loose-object map has been
92
+ detangled from repository initialization.
93
139
- Graduated to 'master'.
140
- source: <pull.2181.git.1784198879711.gitgitgadget@gmail.com>
94
+ Needs review.
95
+ cf. <xmqq5x248fk9.fsf@gitster.g>
96
+ cf. <xmqqh5lo6xi2.fsf@gitster.g>
97
+ cf. <xmqq5x246x35.fsf@gitster.g>
98
+ source: <20260724-pks-odb-create-on-disk-v1-0-3b3d265d979b@pks.im>
99
100
+--------------------------------------------------
101
+[Stalled]
102
143
-* ml/t9811-replace-test-f (2026-07-11) 2 commits
144
- (merged to 'next' on 2026-07-15 at ffb7fcad15)
145
- + t9811: replace 'test -f' and '! test -f' with 'test_path_*'
146
- + t9811: break long && chains into multiple lines
103
+* tb/repack-geometric-cruft (2026-06-28) 11 commits
104
+ - SQUASH??? bare grep !???
105
+ - repack: support combining '--geometric' with '--cruft'
106
+ - pack-objects: support '--refs-snapshot' with 'follow-reachable'
107
+ - pack-objects: introduce '--stdin-packs=follow-reachable'
108
+ - pack-objects: extract `stdin_packs_add_all_pack_entries()`
109
+ - repack-geometry: drop unused redundant-pack removal
110
+ - repack: delete geometric packs via existing_packs
111
+ - repack: teach MIDX retention about geometric rollups
112
+ - repack: mark geometric progression of packs as retained
113
+ - repack: extract `locate_existing_pack()` helper
114
+ - repack: unconditionally exclude non-kept packs
115
148
- The test script 't/t9811-git-p4-label-import.sh' has been
149
- modernized to use 'test_path_is_file' and 'test_path_is_missing'
150
- instead of raw 'test -f' and '! test -f' calls.
116
+ 'git repack' has been taught to accept '--geometric' and '--cruft'
117
+ together. When both are given, non-cruft packs are rolled up by the
118
+ geometric repack as usual, while a separate cruft pack is written to
119
+ collect unreachable objects.
120
152
- Graduated to 'master'.
153
- cf. <alTHrUEh4_O5ROeu@pks.im>
154
- source: <20260711160447.99708-1-marcelomlage@usp.br>
121
+ Waiting for response for too long, stalled.
122
+ cf. <xmqqpl1d56dd.fsf@gitster.g>
123
+ cf. <xmqqwlvl56vh.fsf@gitster.g>
124
+ source: <cover.1782500507.git.me@ttaylorr.com>
125
126
157
-* ps/odb-for-each-object-filter (2026-07-14) 10 commits
158
- (merged to 'next' on 2026-07-16 at 8f30e80d33)
159
- + builtin/cat-file: filter objects via object database
160
- + odb: introduce object filters to `odb_for_each_object()`
161
- + pack-bitmap: introduce function to open bitmap for a single source
162
- + pack-bitmap: drop `_1` suffix from functions that open bitmaps
163
- + pack-bitmap: iterate object sources when opening bitmaps
164
- + pack-bitmap: allow aborting iteration of bitmapped objects
165
- + pack-objects: drop unused return value from add_object_entry()
166
- + pack-bitmap: mark object filter as `const`
167
- + odb/source-packed: improve lookup when enumerating objects
168
- + Merge branch 'ps/odb-drop-whence' into ps/odb-for-each-object-filter
127
+* hn/checkout-track-fetch (2026-06-24) 2 commits
128
+ - checkout: extend --track with a "fetch" mode to refresh start-point
129
+ - branch: expose helpers for finding the remote owning a tracking ref
130
170
- The object database enumeration interface odb_for_each_object() has
171
- been taught to accept object filters, allowing the underlying backends
172
- to optimize the traversal by using reachability bitmaps when
173
- available. 'git cat-file --batch-all-objects' has been updated to use
174
- this generic interface, simplifying its code and avoiding direct
175
- access to ODB backend internals.
131
+ The 'git checkout --track=...' command has been taught to optionally
132
+ fetch the branch from the remote that the new branch will work with.
133
177
- Graduated to 'master'.
178
- cf. <874ii0h2uf.fsf@emacs.iotcl.com>
179
- source: <20260715-pks-odb-for-each-object-filter-v4-0-616d7adf7fb7@pks.im>
134
+ Waiting for response for too long, stalled.
135
+ cf. <xmqq5x37h6fj.fsf@gitster.g>
136
+ cf. <CAL71e4MiijEiM26TKJcOYT7L4pfQeMM_F2oT3U3igP-wOZm2Ag@mail.gmail.com>
137
+ source: <pull.2281.v15.git.git.1782338098.gitgitgadget@gmail.com>
138
139
182
-* ps/odb-stream-double-close-fix (2026-07-10) 1 commit
183
- (merged to 'next' on 2026-07-13 at dd2c5795b7)
184
- + object-file: fix closing object stream twice
140
+* za/completion-hide-dotfiles (2026-06-20) 2 commits
141
+ - completion: hide dotfiles by default for path completion
142
+ - completion: hide dotfiles for selected path completion
143
186
- The stream-based object signature verification path has been
187
- corrected to avoid double-closing the stream on read errors.
144
+ Path completion for commands like 'git rm' and 'git mv' has been
145
+ updated to hide dotfiles by default unless the user explicitly starts
146
+ the path with a dot, matching standard shell-completion behavior.
147
189
- Graduated to 'master'.
190
- source: <20260710-pks-odb-stream-double-close-v1-1-d5fa233a37c7@pks.im>
148
+ Waiting for response, stalled.
149
+ cf. <xmqq1pe0g08t.fsf@gitster.g>
150
+ cf. <xmqqik71t3nr.fsf@gitster.g>
151
+ source: <pull.2311.v3.git.git.1781978156.gitgitgadget@gmail.com>
152
153
193
-* rs/strbuf-avoid-redundant-reset (2026-07-14) 1 commit
194
- (merged to 'next' on 2026-07-16 at f258ce38ba)
195
- + strbuf: avoid redundant reset in strbuf_getwholeline()
154
+* kh/doc-trailers (2026-06-10) 10 commits
155
+ - doc: interpret-trailers: document comment line treatment
156
+ - doc: interpret-trailers: commit to “trailer block” term
157
+ - doc: interpret-trailers: join new-trailers again
158
+ - doc: interpret-trailers: add key format example
159
+ - doc: interpret-trailers: explain key format
160
+ - doc: interpret-trailers: explain the format after the intro
161
+ - doc: interpret-trailers: not just for commit messages
162
+ - doc: interpret-trailers: use “metadata” in Name as well
163
+ - doc: interpret-trailers: replace “lines” with “metadata”
164
+ - doc: interpret-trailers: stop fixating on RFC 822
165
197
- A redundant strbuf_reset() call in the 'HAVE_GETDELIM' path of
198
- strbuf_getwholeline() has been removed, as getdelim() overwrites the
199
- buffer and the length is updated afterward.
166
+ Documentation for 'git interpret-trailers' has been updated to explain
167
+ the format of trailer keys (alphanumeric characters and hyphens),
168
+ replace outdated terminology, define key terms upfront, and document
169
+ how comment lines in the input are treated.
170
201
- Graduated to 'master'.
202
- cf. <xmqq8q7dv82b.fsf@gitster.g>
203
- cf. <20260714214941.GB4095533@coredump.intra.peff.net>
204
- source: <d4ffe7fb-f782-4f06-9e3b-f72729d1e225@web.de>
171
+ Expecting a reroll for too long, stalled.
172
+ cf. <xmqq1pedthkv.fsf@gitster.g>
173
+ source: <V3_CV_doc_int-tr_key_format.8a3@msgid.xyz>
174
175
207
-* sk/t1100-modernize (2026-07-14) 2 commits
208
- (merged to 'next' on 2026-07-16 at 621ca4ca5f)
209
- + t1100: move creation of expected output into setup test
210
- + t1100: modernize test style
176
+* kh/doc-replay-config (2026-06-05) 4 commits
177
+ - doc: replay: move “default” to the right-hand side
178
+ - doc: replay: use a nested description list
179
+ - doc: replay: improve config description
180
+ - doc: link to config for git-replay(1)
181
212
- The test script 't/t1100-commit-tree-options.sh' has been modernized
213
- by converting test cases to the modern style (using single quotes and
214
- tab indentation) and moving the creation of the expected file inside
215
- the setup test so it runs under the protection of the test harness.
182
+ Documentation for 'git replay' has been updated to refer to its
183
+ configuration variables.
184
217
- Graduated to 'master'.
218
- cf. <xmqq4ii1v7x0.fsf@gitster.g>
219
- source: <20260714122033.61947-1-diy2903@gmail.com>
185
+ Waiting for response for too long, stalled.
186
+ cf. <87cxwxofgv.fsf@emacs.iotcl.com>
187
+ source: <V3_CV_doc_replay_config.780@msgid.xyz>
188
189
+--------------------------------------------------
190
+[Cooking]
191
222
-* sk/t7614-do-not-hide-git-exit-status (2026-07-15) 1 commit
223
- (merged to 'next' on 2026-07-16 at 0d143986e7)
224
- + t7614: avoid hiding git's exit code in a pipe
192
+* jt/config-lock-timeout (2026-05-17) 1 commit
193
+ (merged to 'next' on 2026-07-24 at 3cb8da6b6a)
194
+ + config: retry acquiring config.lock, configurable via core.configLockTimeout
195
226
- The test script 't/t7614-merge-signoff.sh' has been updated to avoid
227
- suppressing the exit code of 'git' commands in a pipe.
196
+ Configuration file locking has been updated to retry for a short
197
+ period, avoiding failures when multiple processes attempt to update
198
+ the configuration simultaneously.
199
229
- Graduated to 'master'.
230
- cf. <xmqq1pd4m4ea.fsf@gitster.g>
231
- source: <20260715113344.3490-1-diy2903@gmail.com>
200
+ Will merge to 'master'.
201
+ cf. <agrIrGwSMFlKTx9x@pks.im>
202
+ cf. <xmqqzf1xbl4i.fsf@gitster.g>
203
+ source: <20260517132111.1014901-1-joerg@thalheim.io>
204
233
---------------------------------------------------
234
-[New Topics]
205
206
* hs/rebase-continue-edit (2026-07-21) 1 commit
207
- rebase: add --[no-]edit to --continue
@@ -241,13 +211,15 @@ Release tarballs are available at:
211
forcing it with '--edit'. A new configuration variable
212
'rebase.noEdit' can be used to set the default behavior.
213
244
- Needs review.
214
+ Waiting for a response.
215
+ cf. <xmqqldb4xlqa.fsf@gitster.g>
216
source: <20260721140443.1809379-2-hugo@hsal.es>
217
218
219
* tn/stash-avoid-sparse-index-expansion (2026-07-20) 2 commits
249
- - stash: avoid sparse-index expansion for in-cone paths
250
- - pathspec: use match for sparse-index expansion checks
220
+ (merged to 'next' on 2026-07-23 at 8ccf28493e)
221
+ + stash: avoid sparse-index expansion for in-cone paths
222
+ + pathspec: use match for sparse-index expansion checks
223
224
The 'git stash push' command has been optimized to avoid unnecessary
225
sparse index expansion when pathspecs are wholly inside the
@@ -255,21 +227,22 @@ Release tarballs are available at:
227
sparse-index expansion check helper pathspec_needs_expanded_index()
228
has been fixed by consistently using the parsed, prefixed path.
229
258
- Will merge to 'next'.
230
+ Will merge to 'master'.
231
cf. <al61UTM0aK9j9eiP@com-79390>
232
cf. <al61ERa3fS2MerHp@com-79390>
233
source: <20260720223118.62821-4-tnyman@openai.com>
234
235
264
-* en/submodule-insteadof-remote-match (2026-07-21) 1 commit
265
- - submodule: resolve insteadof-aliases when matching remote
236
+* en/submodule-insteadof-remote-match (2026-07-22) 1 commit
237
+ - submodule: resolve insteadOf aliases when matching remote
238
239
The remote-matching logic for submodules has been corrected to
240
resolve 'url.*.insteadOf' aliases before comparing the inventoried
241
URL from '.gitmodules' with the URLs of configured remotes.
242
271
- Needs review.
272
- source: <20260721213042.3357346-1-ccjmne@gmail.com>
243
+ Will merge to 'next'?
244
+ cf. <xmqqbjbyole1.fsf@gitster.g>
245
+ source: <20260723002132.3989727-1-ccjmne@gmail.com>
246
247
248
* td/fsmonitor-darwin-cookie-flush (2026-07-21) 1 commit
@@ -279,7 +252,8 @@ Release tarballs are available at:
252
FSEvents before waiting for the cookie file, to avoid premature
253
timeouts on busy systems.
254
282
- Needs review.
255
+ Waiting for a resposne.
256
+ cf. <CAOTNsDy4pKbPHdK1T688Ax6Mgz15K-qfZR-8fAvTk48z3E43Rg@mail.gmail.com>
257
source: <20260721-fsmonitor-darwin-cookie-flush-v1-1-357dc5e32040@gmail.com>
258
259
@@ -290,48 +264,9 @@ Release tarballs are available at:
264
properly stop after the first parent even when it has already been
265
marked as SEEN.
266
293
- Needs review.
267
+ Will merge to 'next'.
268
source: <xmqqbjbzq7n2.fsf@gitster.g>
269
296
---------------------------------------------------
297
-[Stalled]
298
-
299
-* kh/doc-trailers (2026-06-10) 10 commits
300
- - doc: interpret-trailers: document comment line treatment
301
- - doc: interpret-trailers: commit to “trailer block” term
302
- - doc: interpret-trailers: join new-trailers again
303
- - doc: interpret-trailers: add key format example
304
- - doc: interpret-trailers: explain key format
305
- - doc: interpret-trailers: explain the format after the intro
306
- - doc: interpret-trailers: not just for commit messages
307
- - doc: interpret-trailers: use “metadata” in Name as well
308
- - doc: interpret-trailers: replace “lines” with “metadata”
309
- - doc: interpret-trailers: stop fixating on RFC 822
310
-
311
- Documentation for 'git interpret-trailers' has been updated to explain
312
- the format of trailer keys (alphanumeric characters and hyphens),
313
- replace outdated terminology, define key terms upfront, and document
314
- how comment lines in the input are treated.
315
-
316
- Expecting a reroll for too long, stalled.
317
- cf. <729baf6b-53ea-4e8d-95ab-5935667e66c2@app.fastmail.com>
318
- cf. <xmqqcxxyt4op.fsf@gitster.g>
319
- source: <V3_CV_doc_int-tr_key_format.8a3@msgid.xyz>
320
-
321
-
322
-* jt/config-lock-timeout (2026-05-17) 1 commit
323
- - config: retry acquiring config.lock, configurable via core.configLockTimeout
324
-
325
- Configuration file locking has been updated to retry for a short
326
- period, avoiding failures when multiple processes attempt to update
327
- the configuration simultaneously.
328
-
329
- Waiting for response for too long, stalled.
330
- cf. <agrIrGwSMFlKTx9x@pks.im>
331
- source: <20260517132111.1014901-1-joerg@thalheim.io>
332
-
333
---------------------------------------------------
334
-[Cooking]
270
271
* sn/rebase-update-refs-symrefs (2026-07-22) 2 commits
272
- rebase: guard non-branch symref targets
@@ -342,7 +277,9 @@ Release tarballs are available at:
277
the current branch are skipped and duplicate updates are avoided to
278
prevent failures when branch aliases are present.
279
345
- Needs review.
280
+ Waiting for a response.
281
+ cf. <f982c386-e329-4ab0-b695-e540bcb9de3d@gmail.com>
282
+ cf. <00e529b6-7ae7-463f-a4b3-0991e9411aba@gmail.com>
283
source: <pull.2126.v3.git.1784708107.gitgitgadget@gmail.com>
284
285
@@ -361,7 +298,7 @@ Release tarballs are available at:
298
source: <20260719010842.17991-1-sandals@crustytoothpaste.net>
299
300
364
-* ja/doc-synopsis-style-yet-more (2026-07-19) 4 commits
301
+* ja/doc-synopsis-style-yet-more (2026-07-23) 4 commits
302
- doc: convert git-request-pull synopsis and options to new style
303
- doc: convert git-send-email synopsis and options to new style
304
- doc: convert git-format-patch synopsis and options to new style
@@ -371,10 +308,8 @@ Release tarballs are available at:
308
'git imap-send', 'git send-email', and 'git request-pull' have been
309
updated to the modern style.
310
374
- Expecting a reroll.
375
- cf. <23179740.EfDdHjke4D@piment-oiseau>
376
- cf. <2418232.ElGaqSPkdT@piment-oiseau>
377
- source: <pull.2185.git.1784490878.gitgitgadget@gmail.com>
311
+ Needs review.
312
+ source: <pull.2185.v2.git.1784841567.gitgitgadget@gmail.com>
313
314
315
* hn/url-push-tracking (2026-07-22) 2 commits
@@ -385,9 +320,8 @@ Release tarballs are available at:
320
uniquely matching configured remote is now used to find and update
321
the remote-tracking branch (e.g., '@{push}').
322
388
- Will merge to 'next'?
323
+ Will merge to 'next'.
324
cf. <xmqqpl0eoniz.fsf@gitster.g>
390
- cf. <3FE12592-B663-438C-B33E-A251AE08E146@gmail.com>
325
source: <pull.2358.v4.git.git.1784743738.gitgitgadget@gmail.com>
326
327
@@ -398,7 +332,8 @@ Release tarballs are available at:
332
'gitweb' has been corrected to work even when the index line carries
333
a trailing file mode.
334
401
- Needs review.
335
+ Will merge to 'next'?
336
+ cf. <xmqqjyqu6u7i.fsf@gitster.g>
337
source: <SA1PR10MB9977150C823C0751E53B150D5AF1C62@SA1PR10MB997715.namprd10.prod.outlook.com>
338
339
@@ -418,17 +353,20 @@ Release tarballs are available at:
353
354
Waiting for response.
355
cf. <845D6852-98F5-4168-82CD-90B3B476BCF5@gmail.com>
356
+ cf. <xmqq33xejomv.fsf@gitster.g>
357
source: <20260717133015.32040-1-jayatheerthkulkarni2005@gmail.com>
358
359
360
* sk/userdiff-swift (2026-07-20) 1 commit
425
- - userdiff: add support for Swift
361
+ (merged to 'next' on 2026-07-23 at 45dbcc6307)
362
+ + userdiff: add support for Swift
363
364
Userdiff patterns for Swift have been added, with support for
365
Swift-specific constructs such as attributes, modifiers, failable
366
initializers, and generics.
367
431
- Will merge to 'next'?
368
+ Will merge to 'master'.
369
+ cf. <2a3a73c5-5e90-44a3-bf6a-6e98ce5e5a59@kdbg.org>
370
cf. <7b541cd5-bd66-4675-818d-8e23eb1c9530@kdbg.org>
371
source: <20260721065736.8747-1-diy2903@gmail.com>
372
@@ -451,7 +389,9 @@ Release tarballs are available at:
389
first refactoring force_object_loose() to use generic ODB write
390
interfaces instead of loose-backend internals.
391
454
- Needs review.
392
+ Will merge to 'next'?
393
+ cf. <87jyqnp365.fsf@emacs.iotcl.com>
394
+ cf. <87fr1bp0bi.fsf@emacs.iotcl.com>
395
source: <20260717-pks-odb-move-loose-object-writing-v1-0-46446a3cb5b7@pks.im>
396
397
@@ -480,8 +420,9 @@ Release tarballs are available at:
420
to pre-filter commits, and maintains per-path Bloom filters even when
421
wildcard pathspecs are used.
422
483
- Expecting a reroll.
423
+ Waiting for a response.
424
cf. <87cxwl1lb4.fsf@emacs.iotcl.com>
425
+ cf. <20260720094218.GA681989@coredump.intra.peff.net>
426
source: <20260717-toon-speed-up-last-modified-v1-0-410418f18614@iotcl.com>
427
428
@@ -521,7 +462,6 @@ Release tarballs are available at:
462
Waiting for response.
463
cf. <xmqqldbdqciy.fsf@gitster.g>
464
cf. <xmqqh5m1qcfh.fsf@gitster.g>
524
- cf. <alcvmX3b6y92KE4y@pks.im>
465
cf. <alcvnm0xiOv5W0w_@pks.im>
466
source: <pull.2179.git.1784069325.gitgitgadget@gmail.com>
467
@@ -533,7 +473,7 @@ Release tarballs are available at:
473
avoid a segfault when encountering unmerged paths outside the
474
prefix.
475
536
- Needs review.
476
+ Will merge to 'next'?
477
source: <20260715060523.GA517940@coredump.intra.peff.net>
478
479
@@ -651,8 +591,7 @@ Release tarballs are available at:
591
592
Waiting for response.
593
cf. <f8050598-392f-44c9-8d66-0454740a7a12@kdbg.org>
654
- cf. <a2676ec6-39d5-4220-8549-10a17daec668@hogyros.de>
655
- cf. <xmqqfr1ig0hv.fsf@gitster.g>
594
+ cf. <xmqqwluuekbh.fsf@gitster.g>
595
source: <20260716-pks-reintroduce-writev-v1-0-ea9038c884bc@pks.im>
596
597
@@ -683,7 +622,7 @@ Release tarballs are available at:
622
source: <alQ7WKITYDXfiVn9@com-79390>
623
624
686
-* tn/packfile-uri-concurrency (2026-07-21) 3 commits
625
+* tn/packfile-uri-concurrency (2026-07-24) 3 commits
626
- fetch-pack: accept "pack" output for packfile URIs
627
- http: avoid concurrent appends to partial packs
628
- http-fetch: correct --index-pack-arg documentation
@@ -696,7 +635,8 @@ Release tarballs are available at:
635
'.keep' files.
636
637
Needs review.
699
- source: <cover.1784676106.git.tnyman@openai.com>
638
+ cf. <xmqqldb19evx.fsf@gitster.g>
639
+ source: <cover.1784874850.git.tnyman@openai.com>
640
641
642
* rs/tempfile-wo-the-repository (2026-07-14) 5 commits
@@ -764,6 +704,7 @@ Release tarballs are available at:
704
to spawn a 'git apply' subprocess.
705
706
Needs review.
707
+ cf. <xmqqechab03t.fsf@gitster.g>
708
source: <20260711061246.58079-1-gatlavishweshwarreddy26@gmail.com>
709
710
@@ -862,7 +803,7 @@ Release tarballs are available at:
803
script on repositories already managed by the new tool.
804
805
Expecting a reroll.
865
- cf. <27219.20156.438730.881821@chiark.greenend.org.uk>
806
+ cf. <27215.27575.968985.583226@chiark.greenend.org.uk>
807
source: <20260706115816.20267-1-ijackson@chiark.greenend.org.uk>
808
809
@@ -926,47 +867,24 @@ Release tarballs are available at:
867
source: <cover.1784128921.git.phillip.wood@dunelm.org.uk>
868
869
929
-* tb/repack-geometric-cruft (2026-06-28) 11 commits
930
- - SQUASH??? bare grep !???
931
- - repack: support combining '--geometric' with '--cruft'
932
- - pack-objects: support '--refs-snapshot' with 'follow-reachable'
933
- - pack-objects: introduce '--stdin-packs=follow-reachable'
934
- - pack-objects: extract `stdin_packs_add_all_pack_entries()`
935
- - repack-geometry: drop unused redundant-pack removal
936
- - repack: delete geometric packs via existing_packs
937
- - repack: teach MIDX retention about geometric rollups
938
- - repack: mark geometric progression of packs as retained
939
- - repack: extract `locate_existing_pack()` helper
940
- - repack: unconditionally exclude non-kept packs
941
-
942
- 'git repack' has been taught to accept '--geometric' and '--cruft'
943
- together. When both are given, non-cruft packs are rolled up by the
944
- geometric repack as usual, while a separate cruft pack is written to
945
- collect unreachable objects.
946
-
947
- Waiting for response.
948
- cf. <xmqqpl1d56dd.fsf@gitster.g>
949
- cf. <xmqqwlvl56vh.fsf@gitster.g>
950
- source: <cover.1782500507.git.me@ttaylorr.com>
951
-
952
-
870
* ty/migrate-excludes-file (2026-07-13) 10 commits
954
- - repository: adjust the comment of config_values_private_
955
- - environment: move object_creation_mode into repo_config_values
956
- - environment: move autorebase into repo_config_values
957
- - environment: move push_default into repo_config_values
958
- - environment: migrate apply_default_whitespace and apply_default_ignorewhitespace
959
- - environment: move askpass_program into repo_config_values
960
- - environment: move pager_program into repo_config_values
961
- - environment: move editor_program into repo_config_values
962
- - environment: move excludes_file into repo_config_values
963
- - repository: introduce repo_config_values_clear()
871
+ (merged to 'next' on 2026-07-23 at 749560a29c)
872
+ + repository: adjust the comment of config_values_private_
873
+ + environment: move object_creation_mode into repo_config_values
874
+ + environment: move autorebase into repo_config_values
875
+ + environment: move push_default into repo_config_values
876
+ + environment: migrate apply_default_whitespace and apply_default_ignorewhitespace
877
+ + environment: move askpass_program into repo_config_values
878
+ + environment: move pager_program into repo_config_values
879
+ + environment: move editor_program into repo_config_values
880
+ + environment: move excludes_file into repo_config_values
881
+ + repository: introduce repo_config_values_clear()
882
883
The 'excludes_file' and various other global configuration variables
884
(including 'editor_program', 'pager_program', 'askpass_program', and
885
'push_default') have been migrated into the per-repository structure.
886
969
- Will merge to 'next'.
887
+ Will merge to 'master'.
888
cf. <xmqqa4ruyhbh.fsf@gitster.g>
889
source: <20260714032525.1611141-1-cat@malon.dev>
890
@@ -1002,21 +920,23 @@ Release tarballs are available at:
920
the specified range and path.
921
922
Needs review.
923
+ cf. <xmqq8q8bpl03.fsf@gitster.g>
924
source: <pull.2152.v2.git.1782581342.gitgitgadget@gmail.com>
925
926
927
* hn/history-squash (2026-07-20) 5 commits
1009
- - history: re-edit a squash with every message
1010
- - sequencer: share the squash message marker helpers and flags
1011
- - history: add squash subcommand to fold a range
1012
- - history: give commit_tree_ext a message template
1013
- - history: extract helper for a commit's parent tree
928
+ (merged to 'next' on 2026-07-23 at 2790c83e45)
929
+ + history: re-edit a squash with every message
930
+ + sequencer: share the squash message marker helpers and flags
931
+ + history: add squash subcommand to fold a range
932
+ + history: give commit_tree_ext a message template
933
+ + history: extract helper for a commit's parent tree
934
935
The experimental 'git history' command has been taught a new 'squash'
936
subcommand to fold a range of commits into a single commit, with any
937
descendants replayed on top.
938
1019
- Will merge to 'next'.
939
+ Will merge to 'master'.
940
cf. <DK1KIF2OI8IF.11188A3YEQV1C@lfurio.us>
941
cf. <DK1KIH6CXW0X.1U2V3GU8L6HB7@lfurio.us>
942
source: <pull.2337.v10.git.git.1784536024.gitgitgadget@gmail.com>
@@ -1069,20 +989,21 @@ Release tarballs are available at:
989
source: <20260707-toon-git-replay-drop-merges-v7-0-808ab9b4afa6@iotcl.com>
990
991
1072
-* ps/cat-file-remote-object-info (2026-07-18) 13 commits
1073
- - cat-file: make remote-object-info allow-list adapt to the server
1074
- - cat-file: add remote-object-info to batch-command
1075
- - transport: add client support for object-info
1076
- - serve: advertise object-info feature
1077
- - protocol-caps: check object existence regardless of the attributes requested
1078
- - fetch-pack: move fetch initialization
1079
- - connect: make write_fetch_command_and_capabilities() more generic
1080
- - fetch-pack: move write_fetch_command_and_capabilities() to connect.c
1081
- - fetch-pack: use unsigned int for hash_algo variable
1082
- - fetch-pack: drop the static advertise_sid variable
1083
- - t1006: extract helper functions into new 'lib-cat-file.sh'
1084
- - cat-file: declare loop counter inside for()
1085
- - transport-helper: fix memory leak of helper on disconnect
992
+* ps/cat-file-remote-object-info (2026-07-24) 13 commits
993
+ (merged to 'next' on 2026-07-24 at e436a42272)
994
+ + cat-file: make remote-object-info allow-list adapt to the server
995
+ + cat-file: add remote-object-info to batch-command
996
+ + transport: add client support for object-info
997
+ + serve: advertise object-info feature
998
+ + protocol-caps: check object existence regardless of the attributes requested
999
+ + fetch-pack: move fetch initialization
1000
+ + connect: make write_fetch_command_and_capabilities() more generic
1001
+ + fetch-pack: move write_fetch_command_and_capabilities() to connect.c
1002
+ + fetch-pack: use unsigned int for hash_algo variable
1003
+ + fetch-pack: drop the static advertise_sid variable
1004
+ + t1006: extract helper functions into new 'lib-cat-file.sh'
1005
+ + cat-file: declare loop counter inside for()
1006
+ + transport-helper: fix memory leak of helper on disconnect
1007
1008
The 'remote-object-info' command has been added to 'git cat-file
1009
--batch-command', allowing clients to request object metadata
@@ -1091,8 +1012,8 @@ Release tarballs are available at:
1012
filtered on the client based on server-advertised capabilities,
1013
returning empty strings for inapplicable or unsupported fields.
1014
1094
- Needs review.
1095
- source: <20260718-ps-eric-work-rebase-v20-0-0c13962ac532@gmail.com>
1015
+ Will merge to 'master'.
1016
+ source: <20260724-ps-eric-work-rebase-v21-0-ba67f024fdff@gmail.com>
1017
1018
1019
* mm/diff-process-hunks (2026-07-15) 9 commits
@@ -1115,41 +1036,27 @@ Release tarballs are available at:
1036
Ejected for now, as it conflicts badly with 'mm/line-log-limited-ops'.
1037
1038
Expecting a reroll.
1118
- cf. <xmqq8q7aj3b0.fsf@gitster.g>
1039
cf. <CAC2QwmKRp90hmBAckug9PPvvD53Pi53q5csZhi15LRhzdQasQg@mail.gmail.com>
1040
source: <pull.2120.v5.git.1784149323.gitgitgadget@gmail.com>
1041
1042
1043
* ty/migrate-trust-executable-bit (2026-07-20) 4 commits
1124
- - environment: move has_symlinks into repo_config_values
1125
- - environment: move trust_executable_bit into repo_config_values
1126
- - read-cache: pass 'repo' to 'ce_mode_from_stat()'
1127
- - read-cache: remove redundant extern declarations
1044
+ (merged to 'next' on 2026-07-23 at 4873f289dd)
1045
+ + environment: move has_symlinks into repo_config_values
1046
+ + environment: move trust_executable_bit into repo_config_values
1047
+ + read-cache: pass 'repo' to 'ce_mode_from_stat()'
1048
+ + read-cache: remove redundant extern declarations
1049
1050
The 'trust_executable_bit' (coming from the 'core.filemode'
1051
configuration) has been migrated into 'struct repo_config_values' to
1052
tie it to a specific repository instance.
1053
1133
- Will merge to 'next'.
1054
+ Will merge to 'master'.
1055
cf. <alvNq8rXF/jofqUc@szeder.dev>
1056
cf. <xmqq8q7961xe.fsf@gitster.g>
1057
source: <20260720105335.3202013-1-cat@malon.dev>
1058
1059
1139
-* za/completion-hide-dotfiles (2026-06-20) 2 commits
1140
- - completion: hide dotfiles by default for path completion
1141
- - completion: hide dotfiles for selected path completion
1142
-
1143
- Path completion for commands like 'git rm' and 'git mv' has been
1144
- updated to hide dotfiles by default unless the user explicitly starts
1145
- the path with a dot, matching standard shell-completion behavior.
1146
-
1147
- Waiting for response, stalled.
1148
- cf. <xmqqik71t3nr.fsf@gitster.g>
1149
- cf. <xmqq1pe0g08t.fsf@gitster.g>
1150
- source: <pull.2311.v3.git.git.1781978156.gitgitgadget@gmail.com>
1151
-
1152
-
1060
* ec/commit-fixup-options (2026-05-26) 2 commits
1061
- commit: allow -c/-C for all kinds of --fixup
1062
- commit: allow -m/-F for all kinds of --fixup
@@ -1162,21 +1069,7 @@ Release tarballs are available at:
1069
source: <cover.1779792311.git.erik@cervined.in>
1070
1071
1165
-* kh/doc-replay-config (2026-06-05) 4 commits
1166
- - doc: replay: move “default” to the right-hand side
1167
- - doc: replay: use a nested description list
1168
- - doc: replay: improve config description
1169
- - doc: link to config for git-replay(1)
1170
-
1171
- Documentation for 'git replay' has been updated to refer to its
1172
- configuration variables.
1173
-
1174
- Waiting for response for too long, stalled.
1175
- cf. <87cxwxofgv.fsf@emacs.iotcl.com>
1176
- source: <V3_CV_doc_replay_config.780@msgid.xyz>
1177
-
1178
-
1179
-* hn/branch-delete-merged (2026-07-22) 7 commits
1072
+* hn/branch-delete-merged (2026-07-24) 7 commits
1073
- branch: add --dry-run for --delete-merged
1074
- branch: add branch.<name>.deleteMerged opt-out
1075
- branch: add --delete-merged <branch>
@@ -1189,23 +1082,10 @@ Release tarballs are available at:
1082
to remove local branches that are already merged into their tracked
1083
remote-tracking branches.
1084
1192
- Needs review.
1085
+ Will merge to 'next'?
1086
cf. <9b9b9a2c-dd0f-44f8-b80e-565eed9a55a8@gmail.com>
1087
cf. <xmqqik6an5t3.fsf@gitster.g>
1195
- source: <pull.2285.v20.git.git.1784704238.gitgitgadget@gmail.com>
1196
-
1197
-
1198
-* hn/checkout-track-fetch (2026-06-24) 2 commits
1199
- - checkout: extend --track with a "fetch" mode to refresh start-point
1200
- - branch: expose helpers for finding the remote owning a tracking ref
1201
-
1202
- The 'git checkout --track=...' command has been taught to optionally
1203
- fetch the branch from the remote that the new branch will work with.
1204
-
1205
- Waiting for response for too long, stalled.
1206
- cf. <xmqq5x37h6fj.fsf@gitster.g>
1207
- cf. <CAL71e4MiijEiM26TKJcOYT7L4pfQeMM_F2oT3U3igP-wOZm2Ag@mail.gmail.com>
1208
- source: <pull.2281.v15.git.git.1782338098.gitgitgadget@gmail.com>
1088
+ source: <pull.2285.v21.git.git.1784889377.gitgitgadget@gmail.com>
1089
1090
1091
* ps/shift-root-in-graph (2026-07-14) 7 commits
@@ -1247,5 +1127,4 @@ Release tarballs are available at:
1127
1128
Needs review.
1129
cf. <xmqqse5en8wz.fsf@gitster.g>
1250
- cf. <xmqqv7al9rbj.fsf@gitster.g>
1130
source: <pull.2149.v6.git.1783776466.gitgitgadget@gmail.com>