What's cooking (2025/10 #01)

Junio C Hamano committed Oct 2, 2025 at 14:06 UTC 9641a3b84457927f9d740fbc30a6cd7fdad95094
1 file changed +315 -298
whats-cooking.txt
+315 -298
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Sep 2025, #11; Mon, 29)
3 -X-master-at: 821f583da6d30a84249f75f33501504d597bc16b
4 -X-next-at: 236ee7b076decfb1705c4b47c2af13735720bd19
2 +Subject: What's cooking in git.git (Oct 2025, #01; Thu, 2)
3 +X-master-at: 5099f64a82ccc80f3c6567589bfeb5e9a1b9fd6b
4 +X-next-at: e8671fe553c8b23de1b9a0f494eb2b7ff9064e62
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Sep 2025, #11; Mon, 29)
7 +What's cooking in git.git (Oct 2025, #01; Thu, 2)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -48,153 +48,291 @@ Release tarballs are available at:
48 --------------------------------------------------
49 [Graduated to 'master']
50
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
51 +* cc/fast-import-strip-signed-commits (2025-09-17) 2 commits
52 + (merged to 'next' on 2025-09-25 at 6c9a275f43)
53 + + fast-import: add '--signed-commits=<mode>' option
54 + + gpg-interface: refactor 'enum sign_mode' parsing
55 +
56 + "git fast-import" learned that "--signed-commits=<how>" option that
57 + corresponds to that of "git fast-export".
58 +
59 + source: <20250917181427.3193500-1-christian.couder@gmail.com>
60 +
61
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>
62 +* jt/odb-transaction (2025-09-16) 7 commits
63 + (merged to 'next' on 2025-09-25 at 1a5c704fb9)
64 + + odb: add transaction interface
65 + + object-file: update naming from bulk-checkin
66 + + object-file: relocate ODB transaction code
67 + + bulk-checkin: drop flush_odb_transaction()
68 + + builtin/update-index: end ODB transaction when --verbose is specified
69 + + bulk-checkin: remove ODB transaction nesting
70 + + Merge branch 'jt/de-global-bulk-checkin' into jt/odb-transaction
71
72 + The work to build on the bulk-checkin infrastructure to create many
73 + objects at once in a transaction and to abstract it into the
74 + generic object layer continues.
75 +
76 + source: <20250916182938.2193476-1-jltobler@gmail.com>
77
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.)
78
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>
79 +* kh/you-still-use-whatchanged-fix (2025-09-17) 9 commits
80 + (merged to 'next' on 2025-09-25 at de9c8c526c)
81 + + BreakingChanges: remove claim about whatchanged reports
82 + + whatchanged: remove not-even-shorter clause
83 + + whatchanged: hint about git-log(1) and aliasing
84 + + you-still-use-that??: help the user help themselves
85 + + t0014: test shadowing of aliases for a sample of builtins
86 + + git: allow alias-shadowing deprecated builtins
87 + + git: move seen-alias bookkeeping into handle_alias(...)
88 + + git: add `deprecated` category to --list-cmds
89 + + Makefile: don’t add whatchanged after it has been removed
90
91 + The "do you still use it?" message given by a command that is
92 + deeply deprecated and allow us to suggest alternatives has been
93 + updated.
94 +
95 + source: <cover.1758139856.short.code@khaugsbakk.name>
96
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
97
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.
149 - source: <175809074627.1696783.67425889158412786@noble.neil.brown.name>
150 -
151 -
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 -
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>
98 +* ms/refs-optimize (2025-09-19) 9 commits
99 + (merged to 'next' on 2025-09-25 at 5fd0825882)
100 + + t: add test for git refs optimize subcommand
101 + + t0601: refactor tests to be shareable
102 + + builtin/refs: add optimize subcommand
103 + + doc: pack-refs: factor out common options
104 + + builtin/pack-refs: factor out core logic into a shared library
105 + + builtin/pack-refs: convert to use the generic refs_optimize() API
106 + + reftable-backend: implement 'optimize' action
107 + + files-backend: implement 'optimize' action
108 + + refs: add a generic 'optimize' API
109 +
110 + "git refs optimize" is added for not very well explained reason
111 + despite it does the same thing as "git pack-refs"...
112 +
113 + source: <20250919082647.535213-1-meetsoni3017@gmail.com>
114 +
115 +
116 +* ps/config-get-color-fixes (2025-09-22) 5 commits
117 + (merged to 'next' on 2025-09-25 at 7b69f57ef6)
118 + + builtin/config: do not spawn pager when printing color codes
119 + + builtin/config: special-case retrieving colors without a key
120 + + builtin/config: do not die in `get_color()`
121 + + t1300: small style fixups
122 + + t1300: write test expectations in the test's body
123 +
124 + The use of "git config get" command to learn how ANSI color
125 + sequence is for a particular type, e.g., "git config get
126 + --type=color --default=reset no.such.thing", isn't very ergonomic.
127 +
128 + source: <20250922-pks-config-color-v4-0-28b7d2697eed@pks.im>
129 +
130 +
131 +* ps/meson-build-docs (2025-09-11) 3 commits
132 + (merged to 'next' on 2025-09-25 at d531b1afdc)
133 + + ci: don't compile whole project when testing docs with Meson
134 + + meson: print docs backend as part of the summary
135 + + meson: introduce a "docs" alias to compile documentation only
136 +
137 + The build procedure based on meson learned a target to only build
138 + documentation, similar to "make doc".
139 +
140 + source: <20250911-b4-pks-meson-docs-target-v1-0-a92c666ecef9@pks.im>
141
142 --------------------------------------------------
143 [New Topics]
144
145 +* tb/incremental-midx-part-3.1 (2025-09-29) 51 commits
146 + - SQUASH??? play well with other topics by preemptively including "repository.h"
147 + - builtin/repack.c: clean up unused `#include`s
148 + - repack: move `write_cruft_pack()` out of the builtin
149 + - repack: move `write_filtered_pack()` out of the builtin
150 + - repack: move `pack_kept_objects` to `struct pack_objects_args`
151 + - repack: move `finish_pack_objects_cmd()` out of the builtin
152 + - builtin/repack.c: pass `write_pack_opts` to `finish_pack_objects_cmd()`
153 + - repack: extract `write_pack_opts_is_local()`
154 + - repack: move `find_pack_prefix()` out of the builtin
155 + - builtin/repack.c: use `write_pack_opts` within `write_cruft_pack()`
156 + - builtin/repack.c: introduce `struct write_pack_opts`
157 + - repack: 'write_midx_included_packs' API from the builtin
158 + - builtin/repack.c: inline packs within `write_midx_included_packs()`
159 + - builtin/repack.c: pass `repack_write_midx_opts` to `midx_included_packs`
160 + - builtin/repack.c: inline `remove_redundant_bitmaps()`
161 + - builtin/repack.c: reorder `remove_redundant_bitmaps()`
162 + - repack: keep track of MIDX pack names using existing_packs
163 + - builtin/repack.c: use a string_list for 'midx_pack_names'
164 + - builtin/repack.c: extract opts struct for 'write_midx_included_packs()'
165 + - builtin/repack.c: remove ref snapshotting from builtin
166 + - repack: remove pack_geometry API from the builtin
167 + - builtin/repack.c: pass 'packdir' to `pack_geometry_remove_redundant()`
168 + - builtin/repack.c: pass 'pack_kept_objects' to `pack_geometry_init()`
169 + - builtin/repack.c: rename various pack_geometry functions
170 + - builtin/repack.c: remove "repack_promisor_objects()" from the builtin
171 + - builtin/repack.c: pass "packtmp" to `repack_promisor_objects()`
172 + - repack: remove 'generated_pack' API from the builtin
173 + - builtin/repack.c: provide pack locations to `generated_pack_install()`
174 + - builtin/repack.c: pass "packtmp" to `generated_pack_populate()`
175 + - builtin/repack.c: factor our "generated_pack_install"
176 + - builtin/repack.c: rename "struct generated_pack_data"
177 + - repack: remove 'existing_packs' API from the builtin
178 + - builtin/repack.c: avoid unnecessary numeric casts in existing_packs
179 + - builtin/repack.c: pass "packdir" when removing packs
180 + - repack: remove 'remove_redundant_pack' from the builtin
181 + - builtin/repack.c: rename many 'struct existing_packs' functions
182 + - repack: remove 'prepare_pack_objects' from the builtin
183 + - repack: move 'delta_base_offset' to 'struct pack_objects_args'
184 + - builtin/repack.c: pass both pack_objects args to repack_config
185 + - repack: introduce new compilation unit
186 + - builtin/repack.c: avoid using `hash_to_hex()` in pack geometry
187 + - builtin/repack.c: avoid "the_hash_algo" in `finish_pack_objects_cmd()`
188 + - builtin/repack: avoid "the_hash_algo" in `repack_promisor_objects()`
189 + - builtin/repack.c: avoid "the_hash_algo" in `write_oid()`
190 + - builtin/repack.c: avoid "the_hash_algo" when deleting packs
191 + - builtin/repack.c: avoid "the_repository" when repacking promisor objects
192 + - builtin/repack.c: avoid "the_repository" when removing packs
193 + - builtin/repack.c: avoid "the_repository" when taking a ref snapshot
194 + - builtin/repack.c: avoid "the_repository" in existing packs API
195 + - builtin/repack.c: avoid "the_repository" in `cmd_repack()`
196 + - Merge branch 'ps/packfile-store' into tb/incremental-midx-part-3.1
197 + (this branch uses ps/packfile-store.)
198 +
199 + source: <cover.1759097191.git.me@ttaylorr.com>
200 +
201 +
202 +* cc/doc-submitting-patches-with-ai (2025-10-01) 1 commit
203 + - SubmittingPatches: add section about AI
204 +
205 + AI guidelines.
206 + source: <20251001140310.527097-1-christian.couder@gmail.com>
207 +
208 +
209 +* kn/ref-cache-seek-fix (2025-10-01) 1 commit
210 + (merged to 'next' on 2025-10-02 at 5896b8c896)
211 + + refs/ref-cache: fix SEGFAULT when seeking in empty directories
212 +
213 + Fix handling of an empty subdirectory of .git/refs/ in the
214 + ref-files backend.
215 +
216 + Will merge to 'master'.
217 + source: <20251001-583-git-for-each-ref-start-after-v3-1-000f03837a92@gmail.com>
218 +
219 +
220 +* mh/doc-credential-url-prefix (2025-10-01) 1 commit
221 + (merged to 'next' on 2025-10-02 at dd0d9a1c59)
222 + + docs/gitcredentials: describe URL prefix matching
223 +
224 + Doc update to describe a feature that has already been implemented.
225 +
226 + Will merge to 'master'.
227 + source: <pull.1979.git.1759352209657.gitgitgadget@gmail.com>
228 +
229 +
230 +* ml/reflog-write-committer-info-fix (2025-09-30) 1 commit
231 + (merged to 'next' on 2025-10-02 at 9a61d07bac)
232 + + builtin/reflog: respect user config in "write" subcommand
233 +
234 + "git reflog write" did not honor the configured user.name/email
235 + which has been corrected.
236 +
237 + Will merge to 'master'.
238 + source: <20250930195320.23825-1-git@lohmann.sh>
239 +
240 +
241 +* ps/history (2025-10-01) 13 commits
242 + - builtin/history: implement "split" subcommand
243 + - cache-tree: allow writing in-memory index as tree
244 + - add-patch: add support for in-memory index patching
245 + - add-patch: remove dependency on "add-interactive" subsystem
246 + - add-patch: split out `struct interactive_options`
247 + - add-patch: split out header from "add-interactive.h"
248 + - builtin/history: implement "reword" subcommand
249 + - builtin: add new "history" command
250 + - replay: parse commits before dereferencing them
251 + - replay: stop using `the_repository`
252 + - replay: extract logic to pick commits
253 + - wt-status: provide function to expose status for trees
254 + - Merge branch 'sa/replay-atomic-ref-updates' into ps/history
255 + (this branch uses sa/replay-atomic-ref-updates.)
256 +
257 + "git history" history rewriting UI.
258 + source: <20251001-b4-pks-history-builtin-v4-0-8e61ddb86317@pks.im>
259 +
260 +
261 +* en/make-libgit-a (2025-10-01) 3 commits
262 + - make: delete REFTABLE_LIB, add reftable to LIB_OBJS
263 + - make: delete XDIFF_LIB, add xdiff to LIB_OBJS
264 + - make: move xdiff and reftable objects before GITLIBS
265 +
266 + Instead of three library archives (one for git, one for reftable,
267 + and one for xdiff), roll everything into a single libgit.a archive.
268 + This would help later effort to FFI into Rust.
269 +
270 + Comments?
271 + source: <pull.2065.git.git.1759341748.gitgitgadget@gmail.com>
272 +
273 +
274 +* ms/doc-worktree-side-by-side (2025-10-02) 4 commits
275 + - amend! doc: git-worktree: Add side by side branch checkout example
276 + - doc: git-worktree: Add side by side branch checkout example
277 + - amend! doc: git-worktree: Link to examples
278 + - doc: git-worktree: Link to examples
279 +
280 + Document "git worktree add" and use of out-of-tree worktrees with
281 + examples.
282 +
283 + Comments?
284 + source: <xmqqseg1xwc1.fsf@gitster.g>
285 +
286 +
287 +* ps/gitlab-ci-windows-improvements (2025-10-02) 5 commits
288 + - t8020: fix test failure due to indeterministic tag sorting
289 + - gitlab-ci: upload Meson test logs as JUnit reports
290 + - gitlab-ci: drop workaround for Python certificate store on Windows
291 + - gitlab-ci: ignore failures to disable realtime monitoring
292 + - gitlab-ci: dedup instructions to disable realtime monitoring
293 +
294 + GitLab CI improvements.
295 +
296 + Will merge to 'next'.
297 + source: <20251002-pks-gitlab-ci-windows-improvements-v1-0-6a8b6b45d728@pks.im>
298 +
299 +--------------------------------------------------
300 +[Stalled]
301 +
302 +These topics have been expecting updates for quite some time. I'll
303 +eject any of them when they start to conflict with other topics in
304 +'seen' and may drop them from my tree when they are dormant for too
305 +long (let's say 8 weeks is way too long, for now). After that, they
306 +can be proposed again by rerolling them in a shape that would work
307 +well with other topics in 'seen' (and of course 'next' and
308 +"master').
309 +
310 +* lc/rebase-trailer (2025-08-03) 2 commits
311 + - rebase: support --trailer
312 + - trailer: append trailers in-process and drop the fork to `interpret-trailers`
313 +
314 + Expecting a reroll.
315 + cf. <198826af571.62b85cb31711042.2415806544948206668@linux.beauty>
316 + cf. <xmqqiki7qasu.fsf@gitster.g>
317 + source: <20250803150059.402017-1-me@linux.beauty>
318 +
319 +
320 +* ac/deglobal-sparse-variables (2025-07-18) 3 commits
321 + . environment: remove the global variable 'sparse_expect_files_outside_of_patterns'
322 + . environment: move access to "core.sparsecheckoutcone" into repo_settings
323 + . environment: move access to "core.sparsecheckout" into repo_settings
324 +
325 + Two global variables related to sparse checkout have been moved to
326 + the repository settings structure.
327 +
328 + Expecting a reroll.
329 + cf. <CAE7as+bnG6KgA8X_n36pqP15bmyM6re+xEb1MOXKvZSUdJ8Arg@mail.gmail.com>
330 + Ejected out of 'seen' for now.
331 + source: <cover.1752882401.git.ayu.chandekar@gmail.com>
332 +
333 +--------------------------------------------------
334 +[Cooking]
335 +
336 * rj/doc-missing-technical-docs (2025-09-25) 1 commit
337 - doc: add some missing technical documents
338 (this branch is used by rj/doc-technical-rfc.)
@@ -218,11 +356,12 @@ Release tarballs are available at:
356
357
358 * ja/doc-markup-attached-paragraph-fix (2025-09-27) 1 commit
221 - - doc: change the markup of paragraphs following a nested list item
359 + (merged to 'next' on 2025-09-30 at a91ca5db03)
360 + + doc: change the markup of paragraphs following a nested list item
361
362 Documentation mark-up fix.
363
225 - Will merge to 'next'.
364 + Will merge to 'master'.
365 source: <20250927195032.37223-1-jn.avila@free.fr>
366
367
@@ -240,27 +379,29 @@ Release tarballs are available at:
379
380
381 * jt/clang-format-foreach-wo-space-before-parenthesis (2025-09-27) 1 commit
243 - - clang-format: exclude control macros from SpaceBeforeParens
382 + (merged to 'next' on 2025-09-30 at c32668ab36)
383 + + clang-format: exclude control macros from SpaceBeforeParens
384
385 Clang-format update to let our control macros formatted the way we
386 had them traditionally, e.g., "for_each_string_list_item()" without
387 space before the parentheses.
388
249 - Will merge to 'next'.
389 + Will merge to 'master'.
390 source: <20250927145049.723341-4-jltobler@gmail.com>
391
392
253 -* kh/doc-patch-id-markup-fix (2025-09-28) 1 commit
393 +* kh/doc-patch-id-markup-fix (2025-09-29) 1 commit
394 - doc: patch-id: fix accidental literal blocks
395
396 Documenaotin mark-up fix.
397
398 Will merge to 'next'?
259 - source: <0520e8f9caf.1759067095.git.code@khaugsbakk.name>
399 + source: <v2-e5ad12cc3b3.1759178715.git.code@khaugsbakk.name>
400
401
402 * sa/replay-atomic-ref-updates (2025-09-26) 1 commit
403 - replay: make atomic ref updates the default behavior
404 + (this branch is used by ps/history.)
405
406 "git replay" (experimental) learned to perform ref updates itself
407 in a transaction by default, instead of emitting where each refs
@@ -269,42 +410,6 @@ Release tarballs are available at:
410 Comments?
411 source: <20250926230838.35870-2-siddharthasthana31@gmail.com>
412
272 ---------------------------------------------------
273 -[Stalled]
274 -
275 -These topics have been expecting updates for quite some time. I'll
276 -eject any of them when they start to conflict with other topics in
277 -'seen' and may drop them from my tree when they are dormant for too
278 -long (let's say 8 weeks is way too long, for now). After that, they
279 -can be proposed again by rerolling them in a shape that would work
280 -well with other topics in 'seen' (and of course 'next' and
281 -"master').
282 -
283 -* lc/rebase-trailer (2025-08-03) 2 commits
284 - - rebase: support --trailer
285 - - trailer: append trailers in-process and drop the fork to `interpret-trailers`
286 -
287 - Expecting a reroll.
288 - cf. <198826af571.62b85cb31711042.2415806544948206668@linux.beauty>
289 - cf. <xmqqiki7qasu.fsf@gitster.g>
290 - source: <20250803150059.402017-1-me@linux.beauty>
291 -
292 -
293 -* ac/deglobal-sparse-variables (2025-07-18) 3 commits
294 - . environment: remove the global variable 'sparse_expect_files_outside_of_patterns'
295 - . environment: move access to "core.sparsecheckoutcone" into repo_settings
296 - . environment: move access to "core.sparsecheckout" into repo_settings
297 -
298 - Two global variables related to sparse checkout have been moved to
299 - the repository settings structure.
300 -
301 - Expecting a reroll.
302 - cf. <CAE7as+bnG6KgA8X_n36pqP15bmyM6re+xEb1MOXKvZSUdJ8Arg@mail.gmail.com>
303 - Ejected out of 'seen' for now.
304 - source: <cover.1752882401.git.ayu.chandekar@gmail.com>
305 -
306 ---------------------------------------------------
307 -[Cooking]
413
414 * kh/format-patch-range-diff-notes (2025-09-25) 3 commits
415 - format-patch: handle range-diff on notes correctly for single patches
@@ -331,14 +436,19 @@ well with other topics in 'seen' (and of course 'next' and
436 source: <pull.1976.git.1758656702.gitgitgadget@gmail.com>
437
438
334 -* je/doc-push-upstream (2025-09-23) 4 commits
439 +* je/doc-push-upstream (2025-09-30) 6 commits
440 + - SQUASH???
441 + - doc: git-push: add explanation of `git push origin main`
442 - doc: git-push: clarify "what to push"
443 - doc: git-push: clarify "where to push"
444 - doc: add an UPSTREAM BRANCHES section to pull/push/fetch
445 - doc: git-push: clarify intro
446
447 Documentation updates.
341 - source: <pull.1964.v3.git.1758649472.gitgitgadget@gmail.com>
448 +
449 + Expecting a reroll.
450 + cf. <5044672.31r3eYUQgx@cayenne>
451 + source: <pull.1964.v4.git.1759262314.gitgitgadget@gmail.com>
452
453
454 * jk/diff-no-index-with-pathspec-fix (2025-09-24) 1 commit
@@ -366,14 +476,15 @@ well with other topics in 'seen' (and of course 'next' and
476
477
478 * 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
479 + (merged to 'next' on 2025-09-30 at 6d1e5fd288)
480 + + http-push: avoid new compile error
481 + + imap-send: be more careful when casting to `curl_off_t`
482 + + http: offer to cast `size_t` to `curl_off_t` safely
483
484 A few places where an size_t value was cast to curl_off_t without
485 checking has been updated to use the existing helper function.
486
376 - Will merge to 'next'.
487 + Will merge to 'master'.
488 source: <pull.1974.v2.git.1758882772.gitgitgadget@gmail.com>
489
490
@@ -477,72 +588,14 @@ well with other topics in 'seen' (and of course 'next' and
588 source: <pull.1973.v2.git.1758651049.gitgitgadget@gmail.com>
589
590
480 -* ps/config-get-color-fixes (2025-09-22) 5 commits
481 - (merged to 'next' on 2025-09-25 at 7b69f57ef6)
482 - + builtin/config: do not spawn pager when printing color codes
483 - + builtin/config: special-case retrieving colors without a key
484 - + builtin/config: do not die in `get_color()`
485 - + t1300: small style fixups
486 - + t1300: write test expectations in the test's body
487 -
488 - The use of "git config get" command to learn how ANSI color
489 - sequence is for a particular type, e.g., "git config get
490 - --type=color --default=reset no.such.thing", isn't very ergonomic.
491 -
492 - Will merge to 'master'.
493 - source: <20250922-pks-config-color-v4-0-28b7d2697eed@pks.im>
494 -
495 -
496 -* ps/meson-build-docs (2025-09-11) 3 commits
497 - (merged to 'next' on 2025-09-25 at d531b1afdc)
498 - + ci: don't compile whole project when testing docs with Meson
499 - + meson: print docs backend as part of the summary
500 - + meson: introduce a "docs" alias to compile documentation only
501 -
502 - The build procedure based on meson learned a target to only build
503 - documentation, similar to "make doc".
504 -
505 - Will merge to 'master'.
506 - source: <20250911-b4-pks-meson-docs-target-v1-0-a92c666ecef9@pks.im>
507 -
508 -
591 * ps/odb-clean-stale-wrappers (2025-09-10) 1 commit
510 - - odb: drop deprecated wrapper functions
592 + (merged to 'next' on 2025-09-30 at 90f1033b8c)
593 + + odb: drop deprecated wrapper functions
594
595 Code clean-up.
596
514 - Will merge to 'next'.
515 - source: <20250910-b4-pks-odb-drop-wrappers-v1-1-6ed660cb1eec@pks.im>
516 -
517 -
518 -* jt/odb-transaction (2025-09-16) 7 commits
519 - (merged to 'next' on 2025-09-25 at 1a5c704fb9)
520 - + odb: add transaction interface
521 - + object-file: update naming from bulk-checkin
522 - + object-file: relocate ODB transaction code
523 - + bulk-checkin: drop flush_odb_transaction()
524 - + builtin/update-index: end ODB transaction when --verbose is specified
525 - + bulk-checkin: remove ODB transaction nesting
526 - + Merge branch 'jt/de-global-bulk-checkin' into jt/odb-transaction
527 -
528 - Continue the work to build on the bulk-checkin infrastructure to
529 - create many objects at once in a transaction and abstract it into
530 - the generic object layer.
531 -
597 Will merge to 'master'.
533 - source: <20250916182938.2193476-1-jltobler@gmail.com>
534 -
535 -
536 -* cc/fast-import-strip-signed-commits (2025-09-17) 2 commits
537 - (merged to 'next' on 2025-09-25 at 6c9a275f43)
538 - + fast-import: add '--signed-commits=<mode>' option
539 - + gpg-interface: refactor 'enum sign_mode' parsing
540 -
541 - "git fast-import" learned that "--signed-commits=<how>" option that
542 - corresponds to that of "git fast-export".
543 -
544 - Will merge to 'master'.
545 - source: <20250917181427.3193500-1-christian.couder@gmail.com>
598 + source: <20250910-b4-pks-odb-drop-wrappers-v1-1-6ed660cb1eec@pks.im>
599
600
601 * ps/commit-graph-per-object-source (2025-09-04) 6 commits
@@ -560,41 +613,24 @@ well with other topics in 'seen' (and of course 'next' and
613 source: <20250904-b4-pks-commit-graph-via-source-v1-0-d932c2481e1a@pks.im>
614
615
563 -* ps/rust-balloon (2025-09-24) 9 commits
564 - - ci: enable Rust for breaking-changes jobs
565 - - ci: convert "pedantic" job into full build with breaking changes
566 - - BreakingChanges: announce Rust becoming mandatory
567 - - varint: reimplement as test balloon for Rust
568 - - varint: use explicit width for integers
569 - - help: report on whether or not Rust is enabled
570 - - Makefile: introduce infrastructure to build internal Rust library
571 - - Makefile: reorder sources after includes
572 - - meson: add infrastructure to build internal Rust library
616 +* ps/rust-balloon (2025-10-02) 9 commits
617 + (merged to 'next' on 2025-10-02 at fe4cdc2dfa)
618 + + ci: enable Rust for breaking-changes jobs
619 + + ci: convert "pedantic" job into full build with breaking changes
620 + + BreakingChanges: announce Rust becoming mandatory
621 + + varint: reimplement as test balloon for Rust
622 + + varint: use explicit width for integers
623 + + help: report on whether or not Rust is enabled
624 + + Makefile: introduce infrastructure to build internal Rust library
625 + + Makefile: reorder sources after includes
626 + + meson: add infrastructure to build internal Rust library
627
628 Dip our toes a bit to (optionally) use Rust implemented helper
629 called from our C code.
630
577 - Comments?
578 - source: <20250925-b4-pks-rust-breaking-change-v7-0-4e49dcb904d5@pks.im>
579 -
580 -
581 -* ms/refs-optimize (2025-09-19) 9 commits
582 - (merged to 'next' on 2025-09-25 at 5fd0825882)
583 - + t: add test for git refs optimize subcommand
584 - + t0601: refactor tests to be shareable
585 - + builtin/refs: add optimize subcommand
586 - + doc: pack-refs: factor out common options
587 - + builtin/pack-refs: factor out core logic into a shared library
588 - + builtin/pack-refs: convert to use the generic refs_optimize() API
589 - + reftable-backend: implement 'optimize' action
590 - + files-backend: implement 'optimize' action
591 - + refs: add a generic 'optimize' API
592 -
593 - "git refs optimize" is added for not very well explained reason
594 - despite it does the same thing as "git pack-refs"...
595 -
631 Will merge to 'master'.
597 - source: <20250919082647.535213-1-meetsoni3017@gmail.com>
632 + cf. <aNsQ5UjjbqJr8_Ik@fruit.crustytoothpaste.net>
633 + source: <20251002-b4-pks-rust-breaking-change-v8-0-3a89fd5b1ce7@pks.im>
634
635
636 * sj/string-list (2025-09-17) 4 commits
@@ -641,25 +677,6 @@ well with other topics in 'seen' (and of course 'next' and
677 source: <20250923-b4-pks-packfiles-store-v6-0-b48f2a882759@pks.im>
678
679
644 -* kh/you-still-use-whatchanged-fix (2025-09-17) 9 commits
645 - (merged to 'next' on 2025-09-25 at de9c8c526c)
646 - + BreakingChanges: remove claim about whatchanged reports
647 - + whatchanged: remove not-even-shorter clause
648 - + whatchanged: hint about git-log(1) and aliasing
649 - + you-still-use-that??: help the user help themselves
650 - + t0014: test shadowing of aliases for a sample of builtins
651 - + git: allow alias-shadowing deprecated builtins
652 - + git: move seen-alias bookkeeping into handle_alias(...)
653 - + git: add `deprecated` category to --list-cmds
654 - + Makefile: don’t add whatchanged after it has been removed
655 -
656 - Update "do you still use it?" message given by a command that is
657 - deeply deprecated and allow us to suggest alternatives.
658 -
659 - Will merge to 'master'.
660 - source: <cover.1758139856.short.code@khaugsbakk.name>
661 -
662 -
680 * ds/sparse-checkout-clean (2025-09-12) 7 commits
681 (merged to 'next' on 2025-09-25 at 00b296f153)
682 + t: expand tests around sparse merges and clean