What's cooking (2025/09 #11)
Junio C Hamano committed
Sep 29, 2025 at 13:11 UTC
eb9108a96de8be94b9dc94a79ea4c4bcb530e07f
1 file changed
+342
-329
whats-cooking.txt
+342
-329
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
-Subject: What's cooking in git.git (Sep 2025, #10; Thu, 25)
3
-X-master-at: bb69721404348ea2db0a081c41ab6ebfe75bdec8
4
-X-next-at: de9c8c526cb441e136815397089584f539713c71
2
+Subject: What's cooking in git.git (Sep 2025, #11; Mon, 29)
3
+X-master-at: 821f583da6d30a84249f75f33501504d597bc16b
4
+X-next-at: 236ee7b076decfb1705c4b47c2af13735720bd19
5
Bcc: lwn@lwn.net, gitster@pobox.com
6
7
-What's cooking in git.git (Sep 2025, #10; Thu, 25)
7
+What's cooking in git.git (Sep 2025, #11; Mon, 29)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking in my tree. Commits
@@ -48,110 +48,226 @@ Release tarballs are available at:
48
--------------------------------------------------
49
[Graduated to 'master']
50
51
-* cc/promisor-remote-capability (2025-09-07) 7 commits
52
- (merged to 'next' on 2025-09-15 at 367d83c08c)
53
- + promisor-remote: use string_list_split() in mark_remotes_as_accepted()
54
- + promisor-remote: allow a client to check fields
55
- + promisor-remote: use string_list_split() in filter_promisor_remote()
56
- + promisor-remote: refactor how we parse advertised fields
57
- + promisor-remote: use string constants for 'name' and 'url' too
58
- + promisor-remote: allow a server to advertise more fields
59
- + promisor-remote: refactor to get rid of 'struct strvec'
60
-
61
- The "promisor-remote" capability mechanism has been updated to
62
- allow the "partialCloneFilter" settings and the "token" value to be
63
- communicated from the server side.
64
- source: <20250908053056.956907-1-christian.couder@gmail.com>
65
-
66
-
67
-* cs/subtree-squash-split-fix (2025-09-09) 1 commit
68
- (merged to 'next' on 2025-09-15 at 4206316342)
69
- + contrib/subtree: fix split with squashed subtrees
70
-
71
- "git subtree" (in contrib/) did not work correctly when splitting
72
- squashed subtrees, which has been improved.
73
- source: <20250910031124.1807856-1-ask+git@howdoi.land>
74
-
75
-
76
-* jk/add-i-color (2025-09-08) 4 commits
77
- (merged to 'next' on 2025-09-15 at 48aae5184a)
78
- + contrib/diff-highlight: mention interactive.diffFilter
79
- + add-interactive: manually fall back color config to color.ui
80
- + add-interactive: respect color.diff for diff coloring
81
- + stash: pass --no-color to diff plumbing child processes
82
- (this branch is used by jk/color-variable-fixes.)
83
-
84
- Some among "git add -p" and friends ignored color.diff and/or
85
- color.ui configuration variables, which is an old regression, which
51
+* dk/stash-apply-index (2025-09-21) 4 commits
52
+ (merged to 'next' on 2025-09-23 at 04e76cf5be)
53
+ + stash: honor stash.index in apply, pop modes
54
+ + stash: refactor private config globals
55
+ + t3905: remove unneeded blank line
56
+ + t3903: reduce dependencies on previous tests
57
+
58
+ The stash.index configuration variable can be set to make "git stash
59
+ pop/apply" pretend that it was invoked with "--index".
60
+ source: <cover.1758505011.git.ben.knoble+github@gmail.com>
61
+
62
+
63
+* jc/3.0-default-initial-branch-to-main-addendum (2025-09-17) 1 commit
64
+ (merged to 'next' on 2025-09-22 at dc4168c337)
65
+ + initial branch: give hints after switching the default name
66
+ (this branch uses pw/3.0-default-initial-branch-to-main.)
67
+
68
+ Keep giving hint about the default initial branch name for users
69
+ who may be surprised after Git 3.0 switch-over.
70
+ source: <cover.1757518141.git.phillip.wood@dunelm.org.uk>
71
+
72
+
73
+* je/doc-checkout (2025-09-10) 7 commits
74
+ (merged to 'next' on 2025-09-23 at b776ac7a24)
75
+ + doc: git-checkout: clarify restoring files section
76
+ + doc: git-checkout: split up restoring files section
77
+ + doc: git-checkout: deduplicate --detach explanation
78
+ + doc: git-checkout: clarify `-b` and `-B`
79
+ + doc: git-checkout: clarify `git checkout <branch>`
80
+ + doc: git-checkout: clarify ARGUMENT DISAMBIGUATION
81
+ + doc: git-checkout: clarify intro sentence
82
+
83
+ Doc updates.
84
+ cf. <236a79f4-e9a2-4335-bbff-79ae0cc67e9b@app.fastmail.com>
85
+ source: <pull.1962.v4.git.1757531669.gitgitgadget@gmail.com>
86
+
87
+
88
+* jk/color-variable-fixes (2025-09-16) 13 commits
89
+ (merged to 'next' on 2025-09-23 at 8aa3006a1e)
90
+ + config: store want_color() result in a separate bool
91
+ + add-interactive: retain colorbool values longer
92
+ + color: return bool from want_color()
93
+ + color: use git_colorbool enum type to store colorbools
94
+ + pretty: use format_commit_context.auto_color as colorbool
95
+ + diff: stop passing ecbdata->use_color as boolean
96
+ + diff: pass o->use_color directly to fill_metainfo()
97
+ + diff: don't use diff_options.use_color as a strict bool
98
+ + diff: simplify color_moved check when flushing
99
+ + grep: don't treat grep_opt.color as a strict bool
100
+ + color: return enum from git_config_colorbool()
101
+ + color: use GIT_COLOR_* instead of numeric constants
102
+ + Merge branch 'jk/add-i-color' into jk/color-variable-fixes
103
+
104
+ Some places in the code confused a variable that is *not* a boolean
105
+ to enable color but is an enum that records what the user requested
106
+ to do about color. A couple of bugs of this sort have been fixed,
107
+ while the code has been cleaned up to prevent similar bugs in the
108
+ future.
109
+ source: <20250916201036.GA612463@coredump.intra.peff.net>
110
+ source: <20250916202408.GI612873@coredump.intra.peff.net>
111
+
112
+
113
+* jk/setup-revisions-freefix (2025-09-19) 6 commits
114
+ (merged to 'next' on 2025-09-23 at e30036fad0)
115
+ + revision: retain argv NULL invariant in setup_revisions()
116
+ + treewide: pass strvecs around for setup_revisions_from_strvec()
117
+ + treewide: use setup_revisions_from_strvec() when we have a strvec
118
+ + revision: add wrapper to setup_revisions() from a strvec
119
+ + revision: manage memory ownership of argv in setup_revisions()
120
+ + stash: tell setup_revisions() to free our allocated strings
121
+
122
+ There are double frees and leaks around setup_revisions() API used
123
+ in "git stash show", which has been fixed, and setup_revisions()
124
+ API gained a wrapper to make it more ergonomic when using it with
125
+ strvec-manged argc/argv pairs.
126
+ source: <20250919223351.GA3906184@coredump.intra.peff.net>
127
+
128
+
129
+* kn/refs-files-case-insensitive (2025-09-17) 4 commits
130
+ (merged to 'next' on 2025-09-23 at 51c2a665f0)
131
+ + refs/files: handle D/F conflicts during locking
132
+ + refs/files: handle F/D conflicts in case-insensitive FS
133
+ + refs/files: use correct error type when lock exists
134
+ + refs/files: catch conflicts on case-insensitive file-systems
135
+
136
+ Deal more gracefully with directory / file conflicts when the files
137
+ backend is used for ref storage, by failing only the ones that are
138
+ involved in the conflict while allowing others.
139
+ source: <20250917-587-git-fetch-1-fails-fetches-on-case-insensitive-repositories-v4-0-da3c74a08ed0@gmail.com>
140
+
141
+
142
+* nb/send-email-no-dup-reply-to (2025-09-16) 1 commit
143
+ (merged to 'next' on 2025-09-18 at d7081e00ec)
144
+ + send-email: don't duplicate Reply-to: in intro message
145
+
146
+ "git send-email --compose --reply-to=<address>" used to add
147
+ duplicated Reply-To: header, which made mailservers unhappy. This
148
has been corrected.
87
- source: <20250908164157.GA1323487@coredump.intra.peff.net>
149
+ source: <175809074627.1696783.67425889158412786@noble.neil.brown.name>
150
151
90
-* rs/get-oid-with-flags-cleanup (2025-09-10) 1 commit
91
- (merged to 'next' on 2025-09-15 at ff8d1faae9)
92
- + use repo_get_oid_with_flags()
152
+* ps/clar-updates (2025-09-22) 2 commits
153
+ (merged to 'next' on 2025-09-22 at c811e8c172)
154
+ + t/unit-tests: update to 10e96bc
155
+ (merged to 'next' on 2025-09-15 at 73402f7652)
156
+ + t/unit-tests: update clar to fcbed04
157
94
- Code clean-up.
95
- source: <906196ac-2fd7-4c07-9e8f-22d67b0b64f9@web.de>
158
+ Import a newer version of the clar unit testing framework.
159
+ source: <20250910-b4-pks-clar-update-v1-1-26a196237e0a@pks.im>
160
+ source: <20250922-pks-clar-update-v1-1-9154e7d1b7a1@pks.im>
161
+
162
+
163
+* pw/3.0-default-initial-branch-to-main (2025-09-10) 4 commits
164
+ (merged to 'next' on 2025-09-22 at 01bbebdab6)
165
+ + t0613: stop setting default initial branch
166
+ + t9902: switch default branch name to main
167
+ + t4013: switch default branch name to main
168
+ + breaking-changes: switch default branch to main
169
+ (this branch is used by jc/3.0-default-initial-branch-to-main-addendum.)
170
+
171
+ Declare that "git init" that is not otherwise configured uses
172
+ 'main' as the initial branch, not 'master', starting Git 3.0.
173
+ source: <cover.1757518141.git.phillip.wood@dunelm.org.uk>
174
+
175
+
176
+* pw/rebase-i-cleanup-fix (2025-09-18) 2 commits
177
+ (merged to 'next' on 2025-09-22 at 2d0aec7821)
178
+ + sequencer: remove VERBATIM_MSG flag
179
+ + rebase -i: respect commit.cleanup when picking fixups
180
+
181
+ "git rebase -i" failed to clean-up the commit log message when the
182
+ command commits the final one in a chain of "fixup" commands, which
183
+ has been corrected.
184
+ source: <cover.1758186038.git.phillip.wood@dunelm.org.uk>
185
+
186
+
187
+* tc/last-modified-recursive-fix (2025-09-18) 1 commit
188
+ (merged to 'next' on 2025-09-23 at 3be2b08060)
189
+ + last-modified: fix bug when some paths remain unhandled
190
+
191
+ "git last-modified" operating in non-recursive mode used to trigger
192
+ a BUG(), which has been corrected.
193
+ source: <20250918-toon-fix-last-modified-v3-1-0c3910e224f6@iotcl.com>
194
195
--------------------------------------------------
196
[New Topics]
197
100
-* kh/format-patch-range-diff-notes (2025-09-25) 3 commits
101
- - format-patch: handle range-diff on notes correctly for single patches
102
- - revision: add rdiff_log_arg to rev_info
103
- - range-diff: rename other_arg to log_arg
198
+* rj/doc-missing-technical-docs (2025-09-25) 1 commit
199
+ - doc: add some missing technical documents
200
+ (this branch is used by rj/doc-technical-rfc.)
201
105
- "git format-patch --range-diff=... --notes=..." did not drive the
106
- underlying range-diff with correct --notes parameter, ending up
107
- comparing with different set of notes from its main patch output
108
- you would get from "git format-patch --notes=..." for a singleton
109
- patch.
202
+ Doc updates.
203
204
Will merge to 'next'?
112
- source: <v2-cover.1758819879.git.code@khaugsbakk.name>
205
+ source: <2326e1c8-19a3-4454-ab71-0a6cfa8cf8e9@ramsayjones.plus.com>
206
207
115
-* je/doc-pull (2025-09-23) 4 commits
116
- - doc: git-pull: clarify how to exit a conflicted merge
117
- - doc: git-pull: delete the example
118
- - doc: git-pull: clarify options for integrating remote branch
119
- - doc: git-pull: move <repository> and <refspec> params
208
+* rj/doc-technical-rfc (2025-09-25) 3 commits
209
+ - doc: commit-graph.adoc: fix up some formatting
210
+ - doc: sparse-checkout.adoc: fix asciidoc warnings
211
+ - doc: remembering-renames.adoc: fix asciidoc warnings
212
+ (this branch uses rj/doc-missing-technical-docs.)
213
121
- Documentation updates.
122
- source: <pull.1976.git.1758656702.gitgitgadget@gmail.com>
214
+ Documenation mark-up fixes.
215
216
+ RFC.
217
+ source: <875fb7a0-6dd9-412b-a34a-21758c339871@ramsayjones.plus.com>
218
125
-* je/doc-push-upstream (2025-09-23) 4 commits
126
- - doc: git-push: clarify "what to push"
127
- - doc: git-push: clarify "where to push"
128
- - doc: add an UPSTREAM BRANCHES section to pull/push/fetch
129
- - doc: git-push: clarify intro
219
131
- Documentation updates.
132
- source: <pull.1964.v3.git.1758649472.gitgitgadget@gmail.com>
220
+* ja/doc-markup-attached-paragraph-fix (2025-09-27) 1 commit
221
+ - doc: change the markup of paragraphs following a nested list item
222
223
+ Documentation mark-up fix.
224
135
-* jk/diff-no-index-with-pathspec-fix (2025-09-24) 1 commit
136
- - diff --no-index: fix logic for paths ending in '/'
225
+ Will merge to 'next'.
226
+ source: <20250927195032.37223-1-jn.avila@free.fr>
227
138
- An earlier addition to "git diff --no-index A B" to limit the
139
- output with pathspec after the two directories misbehaved when
140
- these directories were given with a trailing slash, which has been
141
- corrected.
142
- source: <20250924-jk-fix-no-index-path-with-slash-v1-1-6b2028c0de92@intel.com>
228
229
+* jc/optional-path (2025-09-28) 3 commits
230
+ - parseopt: values of pathname type can be prefixed with :(optional)
231
+ - config: values of pathname type can be prefixed with :(optional)
232
+ - t7500: make each piece more independent
233
145
-* jt/repo-stats (2025-09-24) 6 commits
146
- - builtin/repo: add progress meter for stats
147
- - builtin/repo: add keyvalue and nul format for stats
148
- - builtin/repo: add object counts in stats output
149
- - builtin/repo: introduce stats subcommand
150
- - ref-filter: allow NULL filter pattern
151
- - builtin/repo: rename repo_info() to cmd_repo_info()
234
+ Configuration variables that take a pathname as a value
235
+ (e.g. blame.ignorerevsfile) can be marked as optional by prefixing
236
+ ":(optoinal)" before its value.
237
+
238
+ Comments?
239
+ source: <cover.1759094936.git.ben.knoble+github@gmail.com>
240
+
241
+
242
+* jt/clang-format-foreach-wo-space-before-parenthesis (2025-09-27) 1 commit
243
+ - clang-format: exclude control macros from SpaceBeforeParens
244
+
245
+ Clang-format update to let our control macros formatted the way we
246
+ had them traditionally, e.g., "for_each_string_list_item()" without
247
+ space before the parentheses.
248
+
249
+ Will merge to 'next'.
250
+ source: <20250927145049.723341-4-jltobler@gmail.com>
251
+
252
+
253
+* kh/doc-patch-id-markup-fix (2025-09-28) 1 commit
254
+ - doc: patch-id: fix accidental literal blocks
255
+
256
+ Documenaotin mark-up fix.
257
+
258
+ Will merge to 'next'?
259
+ source: <0520e8f9caf.1759067095.git.code@khaugsbakk.name>
260
153
- "git repo stats", a new command.
154
- source: <20250924212426.2930029-1-jltobler@gmail.com>
261
+
262
+* sa/replay-atomic-ref-updates (2025-09-26) 1 commit
263
+ - replay: make atomic ref updates the default behavior
264
+
265
+ "git replay" (experimental) learned to perform ref updates itself
266
+ in a transaction by default, instead of emitting where each refs
267
+ should point at and leaving the actual update to another command.
268
+
269
+ Comments?
270
+ source: <20250926230838.35870-2-siddharthasthana31@gmail.com>
271
272
--------------------------------------------------
273
[Stalled]
@@ -190,25 +306,66 @@ well with other topics in 'seen' (and of course 'next' and
306
--------------------------------------------------
307
[Cooking]
308
193
-* jk/setup-revisions-freefix (2025-09-19) 6 commits
194
- (merged to 'next' on 2025-09-23 at e30036fad0)
195
- + revision: retain argv NULL invariant in setup_revisions()
196
- + treewide: pass strvecs around for setup_revisions_from_strvec()
197
- + treewide: use setup_revisions_from_strvec() when we have a strvec
198
- + revision: add wrapper to setup_revisions() from a strvec
199
- + revision: manage memory ownership of argv in setup_revisions()
200
- + stash: tell setup_revisions() to free our allocated strings
309
+* kh/format-patch-range-diff-notes (2025-09-25) 3 commits
310
+ - format-patch: handle range-diff on notes correctly for single patches
311
+ - revision: add rdiff_log_arg to rev_info
312
+ - range-diff: rename other_arg to log_arg
313
202
- There are double frees and leaks around setup_revisions() API used
203
- in "git stash show", which has been fixed, and setup_revisions()
204
- API gained a wrapper to make it more ergonomic when using it with
205
- strvec-manged argc/argv pairs.
314
+ "git format-patch --range-diff=... --notes=..." did not drive the
315
+ underlying range-diff with correct --notes parameter, ending up
316
+ comparing with different set of notes from its main patch output
317
+ you would get from "git format-patch --notes=..." for a singleton
318
+ patch.
319
207
- Will merge to 'master'.
208
- source: <20250919223351.GA3906184@coredump.intra.peff.net>
320
+ Will merge to 'next'?
321
+ source: <v2-cover.1758819879.git.code@khaugsbakk.name>
322
323
211
-* js/curl-off-t-fixes (2025-09-21) 3 commits
324
+* je/doc-pull (2025-09-23) 4 commits
325
+ - doc: git-pull: clarify how to exit a conflicted merge
326
+ - doc: git-pull: delete the example
327
+ - doc: git-pull: clarify options for integrating remote branch
328
+ - doc: git-pull: move <repository> and <refspec> params
329
+
330
+ Documentation updates.
331
+ source: <pull.1976.git.1758656702.gitgitgadget@gmail.com>
332
+
333
+
334
+* je/doc-push-upstream (2025-09-23) 4 commits
335
+ - doc: git-push: clarify "what to push"
336
+ - doc: git-push: clarify "where to push"
337
+ - doc: add an UPSTREAM BRANCHES section to pull/push/fetch
338
+ - doc: git-push: clarify intro
339
+
340
+ Documentation updates.
341
+ source: <pull.1964.v3.git.1758649472.gitgitgadget@gmail.com>
342
+
343
+
344
+* jk/diff-no-index-with-pathspec-fix (2025-09-24) 1 commit
345
+ - diff --no-index: fix logic for paths ending in '/'
346
+
347
+ An earlier addition to "git diff --no-index A B" to limit the
348
+ output with pathspec after the two directories misbehaved when
349
+ these directories were given with a trailing slash, which has been
350
+ corrected.
351
+ source: <20250924-jk-fix-no-index-path-with-slash-v1-1-6b2028c0de92@intel.com>
352
+
353
+
354
+* jt/repo-stats (2025-09-27) 6 commits
355
+ - builtin/repo: add progress meter for stats
356
+ - builtin/repo: add keyvalue and nul format for stats
357
+ - builtin/repo: add object counts in stats output
358
+ - builtin/repo: introduce stats subcommand
359
+ - ref-filter: allow NULL filter pattern
360
+ - builtin/repo: rename repo_info() to cmd_repo_info()
361
+
362
+ "git repo stats", a new command.
363
+
364
+ Comments?
365
+ source: <20250927145049.723341-1-jltobler@gmail.com>
366
+
367
+
368
+* js/curl-off-t-fixes (2025-09-26) 3 commits
369
- http-push: avoid new compile error
370
- imap-send: be more careful when casting to `curl_off_t`
371
- http: offer to cast `size_t` to `curl_off_t` safely
@@ -216,18 +373,15 @@ well with other topics in 'seen' (and of course 'next' and
373
A few places where an size_t value was cast to curl_off_t without
374
checking has been updated to use the existing helper function.
375
219
- Expecting a (hopefully small) reroll to clarify log message.
220
- cf. <pull.1974.git.1758457356.gitgitgadget@gmail.com>
221
- source: <pull.1974.git.1758457356.gitgitgadget@gmail.com>
376
+ Will merge to 'next'.
377
+ source: <pull.1974.v2.git.1758882772.gitgitgadget@gmail.com>
378
379
224
-* kn/reftable-consistency-checks (2025-09-18) 9 commits
225
- - fixup! reftable: check for trailing newline in 'tables.list'
380
+* kn/reftable-consistency-checks (2025-09-26) 7 commits
381
- refs/reftable: add fsck check for checking the table name
382
- reftable: add code to facilitate consistency checks
383
- fsck: order 'fsck_msg_type' alphabetically
384
- Documentation/fsck-msgids: remove duplicate msg id
230
- - reftable: ensure tables in a stack use sequential update indices
385
- reftable: check for trailing newline in 'tables.list'
386
- refs: move consistency check msg to generic layer
387
- refs: remove unused headers
@@ -235,57 +389,8 @@ well with other topics in 'seen' (and of course 'next' and
389
The reftable backend learned to sanity check its on-disk data more
390
carefully.
391
238
- Expecting a reroll.
239
- cf. <CAOLa=ZQMDjpMLeyHxeePY3VQjD1GhotXA6-GDhTNY_BDu4zSVQ@mail.gmail.com>
240
- source: <20250918-228-reftable-introduce-consistency-checks-v3-0-271af03eb34d@gmail.com>
241
-
242
-
243
-* pw/rebase-i-cleanup-fix (2025-09-18) 2 commits
244
- (merged to 'next' on 2025-09-22 at 2d0aec7821)
245
- + sequencer: remove VERBATIM_MSG flag
246
- + rebase -i: respect commit.cleanup when picking fixups
247
-
248
- "git rebase -i" failed to clean-up the commit log message when the
249
- command commits the final one in a chain of "fixup" commands, which
250
- has been corrected.
251
-
252
- Will merge to 'master'.
253
- source: <cover.1758186038.git.phillip.wood@dunelm.org.uk>
254
-
255
-
256
-* tc/last-modified-recursive-fix (2025-09-18) 1 commit
257
- (merged to 'next' on 2025-09-23 at 3be2b08060)
258
- + last-modified: fix bug when some paths remain unhandled
259
-
260
- "git last-modified" operating in non-recursive mode used to trigger
261
- a BUG(), which has been corrected.
262
-
263
- Will merge to 'master'.
264
- source: <20250918-toon-fix-last-modified-v3-1-0c3910e224f6@iotcl.com>
265
-
266
-
267
-* en/rust-wip (2025-09-16) 18 commits
268
- . misc::varint: reimplement as test balloon for Rust
269
- . misc: use BuildHelper
270
- . build: new crate, misc
271
- . varint: use explicit width for integers
272
- . build-helper: cbindgen, let crates generate a header file
273
- . build-helper: link against libgit.a and any other required C libraries
274
- . build: new crate, build-helper
275
- . github workflows: upload Cargo.lock
276
- . win+Meson: do allow linking with the Rust-built xdiff
277
- . github workflows: install rust
278
- . help: report on whether or not Rust is enabled
279
- . build: introduce rust
280
- . BreakingChanges: announce Rust becoming mandatory
281
- . doc: add a policy for using Rust
282
- . make: merge reftable lib into libgit.a
283
- . make: merge xdiff lib into libgit.a
284
- . make: add -fPIE flag
285
- . cleanup: rename variables that collide with Rust primitive type names
286
-
287
- Expecting a reroll, but probably xdiff stuff comes first?
288
- source: <pull.2043.v2.git.git.1758071798.gitgitgadget@gmail.com>
392
+ Comments?
393
+ source: <20250926-228-reftable-introduce-consistency-checks-v4-0-c96fd8551c0d@gmail.com>
394
395
396
* bc/sha1-256-interop-01 (2025-09-19) 10 commits
@@ -319,57 +424,15 @@ well with other topics in 'seen' (and of course 'next' and
424
source: <pull.1863.v3.git.1758813038.gitgitgadget@gmail.com>
425
426
322
-* dk/stash-apply-index (2025-09-21) 4 commits
323
- (merged to 'next' on 2025-09-23 at 04e76cf5be)
324
- + stash: honor stash.index in apply, pop modes
325
- + stash: refactor private config globals
326
- + t3905: remove unneeded blank line
327
- + t3903: reduce dependencies on previous tests
328
-
329
- The stash.index configuration variable can be set to make "git stash
330
- pop/apply" pretend that it was invoked with "--index".
331
-
332
- Will merge to 'master'.
333
- source: <cover.1758505011.git.ben.knoble+github@gmail.com>
334
-
335
-
336
-* jk/color-variable-fixes (2025-09-16) 13 commits
337
- (merged to 'next' on 2025-09-23 at 8aa3006a1e)
338
- + config: store want_color() result in a separate bool
339
- + add-interactive: retain colorbool values longer
340
- + color: return bool from want_color()
341
- + color: use git_colorbool enum type to store colorbools
342
- + pretty: use format_commit_context.auto_color as colorbool
343
- + diff: stop passing ecbdata->use_color as boolean
344
- + diff: pass o->use_color directly to fill_metainfo()
345
- + diff: don't use diff_options.use_color as a strict bool
346
- + diff: simplify color_moved check when flushing
347
- + grep: don't treat grep_opt.color as a strict bool
348
- + color: return enum from git_config_colorbool()
349
- + color: use GIT_COLOR_* instead of numeric constants
350
- + Merge branch 'jk/add-i-color' into jk/color-variable-fixes
351
-
352
- Some places in the code confused a variable that is *not* a boolean
353
- to enable color but is an enum that records what the user requested
354
- to do about color. A couple of bugs of this sort have been fixed,
355
- while the code has been cleaned up to prevent similar bugs in the
356
- future.
357
-
358
- Will merge to 'master'.
359
- source: <20250916201036.GA612463@coredump.intra.peff.net>
360
- source: <20250916202408.GI612873@coredump.intra.peff.net>
361
-
362
-
363
-* en/xdiff-cleanup (2025-09-23) 13 commits
427
+* en/xdiff-cleanup (2025-09-26) 12 commits
428
- xdiff: change type of xdfile_t.changed from char to bool
365
- - xdiff: use enum macros NONE(0), SOME(1), TOO_MANY(2) in xprepare.c
429
+ - xdiff: add macros DISCARD(0), KEEP(1), INVESTIGATE(2) in xprepare.c
430
- xdiff: rename rchg -> changed in xdfile_t
367
- - xdiff: delete rchg aliasing
431
- xdiff: delete chastore from xdfile_t
432
- xdiff: delete fields ha, line, size in xdlclass_t in favor of an xrecord_t
433
- xdiff: delete redundant array xdfile_t.ha
434
- xdiff: delete struct diffdata_t
372
- - xdiff: delete superfluous local variables that alias fields in xrecord_t
435
+ - xdiff: delete local variables that alias fields in xrecord_t
436
- xdiff: delete superfluous function xdl_get_rec() in xemit
437
- xdiff: delete unnecessary fields from xrecord_t and xdfile_t
438
- xdiff: delete local variables and initialize/free xdfile_t directly
@@ -378,33 +441,8 @@ well with other topics in 'seen' (and of course 'next' and
441
A lot of code clean-up of xdiff.
442
Split out of a larger topic.
443
381
- Expecting a reroll with better log messages.
382
- cf. <CAH=ZcbC-cB35AGmiKgEQdFa5ee+DftwOQ_dUe4=T+Vq-dxR+qQ@mail.gmail.com>
383
- source: <pull.2048.v5.git.git.1758662670.gitgitgadget@gmail.com>
384
-
385
-
386
-* jc/3.0-default-initial-branch-to-main-addendum (2025-09-17) 1 commit
387
- (merged to 'next' on 2025-09-22 at dc4168c337)
388
- + initial branch: give hints after switching the default name
389
- (this branch uses pw/3.0-default-initial-branch-to-main.)
390
-
391
- Keep giving hint about the default initial branch name for users
392
- who may be surprised after Git 3.0 switchover.
393
-
394
- Will merge to 'master'.
395
- source: <cover.1757518141.git.phillip.wood@dunelm.org.uk>
396
-
397
-
398
-* nb/send-email-no-dup-reply-to (2025-09-16) 1 commit
399
- (merged to 'next' on 2025-09-18 at d7081e00ec)
400
- + send-email: don't duplicate Reply-to: in intro message
401
-
402
- "git send-email --compose --reply-to=<address>" used to add
403
- duplicated Reply-To: header, which made mailservers unhappy. This
404
- has been corrected.
405
-
406
- Will merge to 'master'.
407
- source: <175809074627.1696783.67425889158412786@noble.neil.brown.name>
444
+ Will merge to 'next'?
445
+ source: <pull.2048.v6.git.git.1758926520.gitgitgadget@gmail.com>
446
447
448
* ar/submodule-gitdir-tweak (2025-09-08) 10 commits
@@ -429,26 +467,14 @@ well with other topics in 'seen' (and of course 'next' and
467
468
469
* je/doc-push (2025-09-23) 2 commits
432
- - doc: git-push: rewrite refspec specification
433
- - doc: git-push: create PUSH RULES section
470
+ (merged to 'next' on 2025-09-29 at 4ff1b675ed)
471
+ + doc: git-push: rewrite refspec specification
472
+ + doc: git-push: create PUSH RULES section
473
474
Doc updates.
475
437
- Will merge to 'next'.
438
- source: <pull.1973.v2.git.1758651049.gitgitgadget@gmail.com>
439
-
440
-
441
-* ps/clar-updates (2025-09-22) 2 commits
442
- (merged to 'next' on 2025-09-22 at c811e8c172)
443
- + t/unit-tests: update to 10e96bc
444
- (merged to 'next' on 2025-09-15 at 73402f7652)
445
- + t/unit-tests: update clar to fcbed04
446
-
447
- Import a newer version of the clar unit testing framework.
448
-
476
Will merge to 'master'.
450
- source: <20250910-b4-pks-clar-update-v1-1-26a196237e0a@pks.im>
451
- source: <20250922-pks-clar-update-v1-1-9154e7d1b7a1@pks.im>
477
+ source: <pull.1973.v2.git.1758651049.gitgitgadget@gmail.com>
478
479
480
* ps/config-get-color-fixes (2025-09-22) 5 commits
@@ -519,21 +545,6 @@ well with other topics in 'seen' (and of course 'next' and
545
source: <20250917181427.3193500-1-christian.couder@gmail.com>
546
547
522
-* pw/3.0-default-initial-branch-to-main (2025-09-10) 4 commits
523
- (merged to 'next' on 2025-09-22 at 01bbebdab6)
524
- + t0613: stop setting default initial branch
525
- + t9902: switch default branch name to main
526
- + t4013: switch default branch name to main
527
- + breaking-changes: switch default branch to main
528
- (this branch is used by jc/3.0-default-initial-branch-to-main-addendum.)
529
-
530
- Declare that "git init" that is not otherwise configured uses
531
- 'main' as the initial branch, not 'master', starting Git 3.0.
532
-
533
- Will merge to 'master'.
534
- source: <cover.1757518141.git.phillip.wood@dunelm.org.uk>
535
-
536
-
548
* ps/commit-graph-per-object-source (2025-09-04) 6 commits
549
- odb: move commit-graph into the object sources
550
- commit-graph: pass graphs that are to be merged as parameter
@@ -603,79 +614,31 @@ well with other topics in 'seen' (and of course 'next' and
614
615
616
* ps/packfile-store (2025-09-23) 16 commits
606
- - packfile: refactor `get_packed_git_mru()` to work on packfile store
607
- - packfile: refactor `get_all_packs()` to work on packfile store
608
- - packfile: refactor `get_packed_git()` to work on packfile store
609
- - packfile: move `get_multi_pack_index()` into "midx.c"
610
- - packfile: introduce function to load and add packfiles
611
- - packfile: refactor `install_packed_git()` to work on packfile store
612
- - packfile: split up responsibilities of `reprepare_packed_git()`
613
- - packfile: refactor `prepare_packed_git()` to work on packfile store
614
- - packfile: reorder functions to avoid function declaration
615
- - odb: move kept cache into `struct packfile_store`
616
- - odb: move MRU list of packfiles into `struct packfile_store`
617
- - odb: move packfile map into `struct packfile_store`
618
- - odb: move initialization bit into `struct packfile_store`
619
- - odb: move list of packfiles into `struct packfile_store`
620
- - packfile: introduce a new `struct packfile_store`
621
- - Merge branch 'ps/object-store-midx-dedup-info' into ps/packfile-store
617
+ (merged to 'next' on 2025-09-29 at 342bb57fc2)
618
+ + packfile: refactor `get_packed_git_mru()` to work on packfile store
619
+ + packfile: refactor `get_all_packs()` to work on packfile store
620
+ + packfile: refactor `get_packed_git()` to work on packfile store
621
+ + packfile: move `get_multi_pack_index()` into "midx.c"
622
+ + packfile: introduce function to load and add packfiles
623
+ + packfile: refactor `install_packed_git()` to work on packfile store
624
+ + packfile: split up responsibilities of `reprepare_packed_git()`
625
+ + packfile: refactor `prepare_packed_git()` to work on packfile store
626
+ + packfile: reorder functions to avoid function declaration
627
+ + odb: move kept cache into `struct packfile_store`
628
+ + odb: move MRU list of packfiles into `struct packfile_store`
629
+ + odb: move packfile map into `struct packfile_store`
630
+ + odb: move initialization bit into `struct packfile_store`
631
+ + odb: move list of packfiles into `struct packfile_store`
632
+ + packfile: introduce a new `struct packfile_store`
633
+ + Merge branch 'ps/object-store-midx-dedup-info' into ps/packfile-store
634
+ (this branch is used by tb/incremental-midx-part-3.1.)
635
636
Code clean-up around the in-core list of all the pack files and
637
object database(s).
638
626
- Will merge to 'next'.
627
- source: <20250923-b4-pks-packfiles-store-v6-0-b48f2a882759@pks.im>
628
-
629
-
630
-* kn/refs-files-case-insensitive (2025-09-17) 4 commits
631
- (merged to 'next' on 2025-09-23 at 51c2a665f0)
632
- + refs/files: handle D/F conflicts during locking
633
- + refs/files: handle F/D conflicts in case-insensitive FS
634
- + refs/files: use correct error type when lock exists
635
- + refs/files: catch conflicts on case-insensitive file-systems
636
-
637
- Deal more gracefully with directory / file conflicts when the files
638
- backend is used for ref storage, by failing only the ones that are
639
- involved in the conflict while allowing others.
640
-
641
- Will merge to 'master'.
642
- source: <20250917-587-git-fetch-1-fails-fetches-on-case-insensitive-repositories-v4-0-da3c74a08ed0@gmail.com>
643
-
644
-
645
-* en/rust-xdiff (2025-09-07) 8 commits
646
- . xdiff: change the types of dstart, dend, rchg, and rindex in xdfile_t
647
- . xdiff: make xdfile_t.nreff a usize instead of long
648
- . xdiff: make xdfile_t.nrec a usize instead of long
649
- . xdiff: split xrecord_t.ha into line_hash and minimal_perfect_hash
650
- . xdiff: make xrecord_t.size a usize instead of long
651
- . xdiff: make xrecord_t.ptr a u8 instead of char
652
- . xdiff: include compat/rust_types.h
653
- . compat/rust_types.h: define rust primitive types
654
- . Merge branch 'en/xdiff-cleanup' into en/rust-xdiff
655
-
656
- Use Rust-friendly types in xdiff code.
657
-
658
- Expecting a reroll based on the updated base topic, but the base
659
- topic may further be updated first?
660
- cf. <CAH=ZcbA5hAM9kmO410KzVW7RXWWiwX2oJk6GGPP+6oVYatRVOw@mail.gmail.com>
661
- source: <pull.2048.git.git.1757274320.gitgitgadget@gmail.com>
662
-
663
-
664
-* je/doc-checkout (2025-09-10) 7 commits
665
- (merged to 'next' on 2025-09-23 at b776ac7a24)
666
- + doc: git-checkout: clarify restoring files section
667
- + doc: git-checkout: split up restoring files section
668
- + doc: git-checkout: deduplicate --detach explanation
669
- + doc: git-checkout: clarify `-b` and `-B`
670
- + doc: git-checkout: clarify `git checkout <branch>`
671
- + doc: git-checkout: clarify ARGUMENT DISAMBIGUATION
672
- + doc: git-checkout: clarify intro sentence
673
-
674
- Doc updates.
675
-
639
Will merge to 'master'.
677
- cf. <236a79f4-e9a2-4335-bbff-79ae0cc67e9b@app.fastmail.com>
678
- source: <pull.1962.v4.git.1757531669.gitgitgadget@gmail.com>
640
+ cf. <aNmxQqV3+1Ad12qC@nand.local>
641
+ source: <20250923-b4-pks-packfiles-store-v6-0-b48f2a882759@pks.im>
642
643
644
* kh/you-still-use-whatchanged-fix (2025-09-17) 9 commits
@@ -711,5 +674,55 @@ well with other topics in 'seen' (and of course 'next' and
674
prune otherwise unused working-tree files that are outside the
675
areas of interest.
676
714
- Will merge to 'master'.
677
+ On hold.
678
+ cf. <3537e220-44b6-4e37-a568-cef34a2fddfd@gmail.com>
679
source: <pull.1941.v3.git.1757673011.gitgitgadget@gmail.com>
680
+
681
+--------------------------------------------------
682
+[Discarded]
683
+
684
+These have been kept outside 'seen' for some time, and were removed
685
+for now, until they are resubmit in a shape that plays well with
686
+other topics in 'seen'.
687
+
688
+* en/rust-xdiff (2025-09-07) 8 commits
689
+ . xdiff: change the types of dstart, dend, rchg, and rindex in xdfile_t
690
+ . xdiff: make xdfile_t.nreff a usize instead of long
691
+ . xdiff: make xdfile_t.nrec a usize instead of long
692
+ . xdiff: split xrecord_t.ha into line_hash and minimal_perfect_hash
693
+ . xdiff: make xrecord_t.size a usize instead of long
694
+ . xdiff: make xrecord_t.ptr a u8 instead of char
695
+ . xdiff: include compat/rust_types.h
696
+ . compat/rust_types.h: define rust primitive types
697
+ . Merge branch 'en/xdiff-cleanup' into en/rust-xdiff
698
+
699
+ Use Rust-friendly types in xdiff code.
700
+
701
+ Expecting a reroll based on the updated base topic, but the base
702
+ topic may further be updated first?
703
+ cf. <CAH=ZcbA5hAM9kmO410KzVW7RXWWiwX2oJk6GGPP+6oVYatRVOw@mail.gmail.com>
704
+ source: <pull.2048.git.git.1757274320.gitgitgadget@gmail.com>
705
+
706
+
707
+* en/rust-wip (2025-09-16) 18 commits
708
+ . misc::varint: reimplement as test balloon for Rust
709
+ . misc: use BuildHelper
710
+ . build: new crate, misc
711
+ . varint: use explicit width for integers
712
+ . build-helper: cbindgen, let crates generate a header file
713
+ . build-helper: link against libgit.a and any other required C libraries
714
+ . build: new crate, build-helper
715
+ . github workflows: upload Cargo.lock
716
+ . win+Meson: do allow linking with the Rust-built xdiff
717
+ . github workflows: install rust
718
+ . help: report on whether or not Rust is enabled
719
+ . build: introduce rust
720
+ . BreakingChanges: announce Rust becoming mandatory
721
+ . doc: add a policy for using Rust
722
+ . make: merge reftable lib into libgit.a
723
+ . make: merge xdiff lib into libgit.a
724
+ . make: add -fPIE flag
725
+ . cleanup: rename variables that collide with Rust primitive type names
726
+
727
+ Expecting a reroll, but probably xdiff stuff comes first?
728
+ source: <pull.2043.v2.git.git.1758071798.gitgitgadget@gmail.com>