What's cooking (2025/09 #03)

Junio C Hamano committed Sep 8, 2025 at 16:31 UTC 25647d24c082dc1219f26df1cde8b9e7d3be8bfa
1 file changed +305 -242
whats-cooking.txt
+305 -242
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Sep 2025, #02; Wed, 3)
3 -X-master-at: 2462961280690837670d997bde64bd4ebf8ae66d
4 -X-next-at: 1ba7204a041bf9fa3af3ad21a018399fff66f7b9
2 +Subject: What's cooking in git.git (Sep 2025, #03; Mon, 8)
3 +X-master-at: 4975ec3473b4bc61bc8a3df1ef29d0b7e7959e87
4 +X-next-at: 87641ccf932d9ff14ba9770a85800514f51c415d
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Sep 2025, #02; Wed, 3)
7 +What's cooking in git.git (Sep 2025, #03; Mon, 8)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -51,114 +51,154 @@ Release tarballs are available at:
51 https://www.kernel.org/pub/software/scm/git/
52
53 --------------------------------------------------
54 -[New Topics]
54 +[Graduated to 'master']
55
56 -* ds/midx-write-fixes (2025-08-30) 6 commits
57 - - midx-write: simplify error cases
58 - - midx-write: reenable signed comparison errors
59 - - midx-write: use uint32_t for preferred_pack_idx
60 - - midx-write: use cleanup when incremental midx fails
61 - - midx-write: put failing response value back
62 - - midx-write: only load initialized packs
56 +* am/xdiff-hash-tweak (2025-07-28) 2 commits
57 + (merged to 'next' on 2025-08-29 at 43590f0b38)
58 + + xdiff: optimize xdl_hash_record_verbatim
59 + + xdiff: refactor xdl_hash_record()
60
64 - Fixes multiple crashes around midx write-out codepaths.
61 + Inspired by Ezekiel's recent effort to showcase Rust interface, the
62 + hash function implementation used to hash lines have been updated
63 + to the one used for ELF symbol lookup by Glibc.
64 + cf. <xmqqecsvqal6.fsf@gitster.g>
65 + source: <20250728190520.10962-1-amonakov@ispras.ru>
66
66 - Comments?
67 - source: <pull.1965.v2.git.1756589007.gitgitgadget@gmail.com>
67
68 +* da/cargo-serialize (2025-08-26) 1 commit
69 + (merged to 'next' on 2025-08-29 at 5a193b1525)
70 + + Makefile: build libgit-rs and libgit-sys serially
71
70 -* km/alias-doc-markup-fix (2025-09-01) 1 commit
71 - (merged to 'next' on 2025-09-03 at 02da1fc9b3)
72 - + doc: fix formatting of function-wrap shell alias
72 + Makefile tried to run multiple "cargo build" which would not work
73 + very well; serialize their execution to work it around.
74 +
75 + source: <20250826233525.2635432-1-davvid@gmail.com>
76
74 - Docfix.
77
76 - Will merge to 'master'.
77 - source: <20250901180419.2212086-1-kyle@kemitchell.com>
78 +* ds/ls-files-lazy-unsparse (2025-08-15) 1 commit
79 + (merged to 'next' on 2025-08-29 at a48fee2dde)
80 + + ls-files: conditionally leave index sparse
81
82 + "git ls-files <pathspec>..." should not necessarily have to expand
83 + the index fully if a sparsified directory is excluded by the
84 + pathspec; the code is taught to expand the index on demand to avoid
85 + this.
86 +
87 + source: <pull.1955.git.1755274373717.gitgitgadget@gmail.com>
88
80 -* ms/refs-exists (2025-08-25) 4 commits
81 - (merged to 'next' on 2025-09-03 at c6fc4c7461)
82 - + t: add test for git refs exists subcommand
83 - + t1422: refactor tests to be shareable
84 - + t1403: split 'show-ref --exists' tests into a separate file
85 - + builtin/refs: add 'exists' subcommand
89
87 - "git refs exists" that works like "git show-ref --exists" has been
88 - added.
90 +* ds/path-walk-repack-fix (2025-08-25) 2 commits
91 + (merged to 'next' on 2025-08-29 at 13028ffb8e)
92 + + path-walk: create initializer for path lists
93 + + path-walk: fix setup of pending objects
94
90 - Will merge to 'master'.
91 - cf. <aLbahNFrs9jchnXZ@pks.im>
92 - source: <20250826064110.10540-1-meetsoni3017@gmail.com>
95 + "git repack --path-walk" lost objects in some corner cases, which
96 + has been corrected.
97 + cf. <CABPp-BHFxxGrqKc0m==TjQNjDGdO=H5Rf6EFsf2nfE1=TuraOQ@mail.gmail.com>
98 + source: <pull.1956.v2.git.1756126197.gitgitgadget@gmail.com>
99
100
95 -* ps/gitlab-ci-disable-windows-monitoring (2025-09-02) 1 commit
96 - (merged to 'next' on 2025-09-03 at f6148f5d05)
97 - + gitlab-ci: disable realtime monitoring to unbreak Windows jobs
101 +* tc/last-modified (2025-08-05) 3 commits
102 + (merged to 'next' on 2025-08-29 at 3f3e111189)
103 + + last-modified: use Bloom filters when available
104 + + t/perf: add last-modified perf script
105 + + last-modified: new subcommand to show when files were last modified
106
99 - Windows "real-time monitoring" interferes with the execution of
100 - tests and affects negatively in both correctness and performance,
101 - which has been disabled in Gitlab CI.
107 + A new command "git last-modified" has been added to show the closest
108 + ancestor commit that touched each path.
109 +
110 + source: <20250730175510.987383-1-toon@iotcl.com>
111 +
112 +--------------------------------------------------
113 +[New Topics]
114 +
115 +* pw/3.0-default-initial-branch-to-main (2025-09-04) 4 commits
116 + - t0613: stop setting default initial branch
117 + - t9902: switch default branch name to main
118 + - t4013: switch default branch name to main
119 + - breaking-changes: switch default branch to main
120 +
121 + Declare that "git init" that is not otherwise configured uses
122 + 'main' as the initial branch, not 'master', starting Git 3.0.
123 +
124 + Will merge to 'next'?
125 + source: <cover.1756992089.git.phillip.wood@dunelm.org.uk>
126 +
127 +
128 +* rs/object-name-extend-abbrev-len-update (2025-09-04) 1 commit
129 + (merged to 'next' on 2025-09-08 at 469498c610)
130 + + object-name: declare pointer type of extend_abbrev_len()'s 2nd parameter
131 +
132 + Code clean-up.
133
134 Will merge to 'master'.
104 - source: <20250902-b4-pks-gitlab-ci-windows-defender-v1-1-fcb1f19321aa@pks.im>
135 + source: <e0bc9a67-faa9-4218-a55a-c7d53c15cfce@web.de>
136
137
107 -* ps/packfile-store (2025-09-02) 16 commits
108 - - packfile: refactor `get_packed_git_mru()` to work on packfile store
109 - - packfile: refactor `get_all_packs()` to work on packfile store
110 - - packfile: remove `get_packed_git()`
111 - - packfile: move `get_multi_pack_index()` into "midx.c"
112 - - packfile: introduce function to load and add packfiles
113 - - packfile: refactor `install_packed_git()` to work on packfile store
114 - - packfile: split up responsibilities of `reprepare_packed_git()`
115 - - packfile: refactor `prepare_packed_git()` to work on packfile store
116 - - packfile: reorder functions to avoid function declaration
117 - - odb: move kept cache into `struct packfile_store`
118 - - odb: move MRU list of packfiles into `struct packfile_store`
119 - - odb: move packfile map into `struct packfile_store`
120 - - odb: move initialization bit into `struct packfile_store`
121 - - odb: move list of packfiles into `struct packfile_store`
122 - - packfile: introduce a new `struct packfile_store`
123 - - Merge branch 'ps/object-store-midx-dedup-info' into ps/packfile-store
124 - (this branch uses ps/object-store-midx-dedup-info.)
138 +* ps/commit-graph-per-object-source (2025-09-04) 6 commits
139 + - odb: move commit-graph into the object sources
140 + - commit-graph: pass graphs that are to be merged as parameter
141 + - commit-graph: return commit graph from `repo_find_commit_pos_in_graph()`
142 + - commit-graph: return the prepared commit graph from `prepare_commit_graph()`
143 + - revision: drop explicit check for commit graph
144 + - blame: drop explicit check for commit graph
145
126 - Code clean-up around the in-core list of all the pack files and
127 - object database(s).
146 + Declare commit-graph is per object_source, which may not be a good idea.
147
129 - Comments?
130 - source: <20250902-b4-pks-packfiles-store-v3-0-6925278efeda@pks.im>
148 + cf. <cf7aeda1-297a-4805-b0ae-e379ce11bbcf@gmail.com>
149 + source: <20250904-b4-pks-commit-graph-via-source-v1-0-d932c2481e1a@pks.im>
150
151
133 -* kh/doc-markup-fixes (2025-09-02) 2 commits
134 - (merged to 'next' on 2025-09-03 at 1ba7204a04)
135 - + doc: remove extra backtick for inline-verbatim
136 - + doc: add missing backtick for inline-verbatim
152 +* ps/rust-balloon (2025-09-05) 7 commits
153 + - ci: enable Rust for breaking-changes jobs
154 + - ci: convert "pedantic" job into full build with breaking changes
155 + - BreakingChanges: announce Rust becoming mandatory
156 + - rust: implement a test balloon via the "varint" subsystem
157 + - help: report on whether or not Rust is enabled
158 + - Makefile: introduce infrastructure to build internal Rust library
159 + - meson: add infrastructure to build internal Rust library
160
138 - Doc markup fixes.
161 + Dip our toes a bit to (optionally) use Rust implemented helper
162 + called from our C code.
163 + source: <20250905-b4-pks-rust-breaking-change-v2-0-6939cbf4a0b8@pks.im>
164
140 - Will merge to 'master'.
141 - source: <cover.1756845314.git.code@khaugsbakk.name>
165
166 +* kh/doc-fast-import-markup-fix (2025-09-08) 1 commit
167 + - doc: fast-import: replace literal block with paragraph
168
144 -* kn/refs-files-case-insensitive (2025-09-02) 2 commits
145 - - refs/files: handle F/D conflicts in case-insensitive FS
146 - - refs/files: use correct error type when locking fails
169 + Doc mark-up fix.
170
148 - source: <20250902-587-git-fetch-1-fails-fetches-on-case-insensitive-repositories-v1-0-35e69bbb507d@gmail.com>
171 + Will merge to 'next'.
172 + source: <09aaad696895c18c6d4dda7d6a2f4b77f84f39ba.1757363213.git.code@khaugsbakk.name>
173
174
151 -* mm/worktree-doc-typofix (2025-09-03) 1 commit
152 - - docs: fix typo in worktree.adoc 'extension'
175 +* ms/refs-optimize (2025-09-06) 5 commits
176 + - t: add test for git refs optimize subcommand
177 + - t0601: refactor tests to be shareable
178 + - builtin/refs: add optimize subcommand
179 + - doc: factor out common option
180 + - builtin/pack-refs: factor out core logic into a shared library
181
154 - source: <pull.1967.git.1756911040439.gitgitgadget@gmail.com>
182 + "git refs optimize" is added for not very well explained reason
183 + despite it does the same thing as "git pack-refs"...
184
185 + Expecting a reroll.
186 + source: <20250906075147.1076656-1-meetsoni3017@gmail.com>
187
157 -* ps/upload-pack-oom-protection (2025-09-02) 2 commits
158 - - upload-pack: don't ACK non-commits repeatedly in protocol v2
159 - - t5530: modernize tests
188
161 - source: <20250903-b4-pks-upload-pack-repeated-non-commit-acks-v1-0-4e019af4dddc@pks.im>
189 +* sj/string-list (2025-09-07) 4 commits
190 + - refs: enable sign compare warnings check
191 + - string-list: change "string_list_find_insert_index" return type to "size_t"
192 + - string-list: replace negative index encoding with "exact_match" parameter
193 + - string-list: allow passing NULL for `get_entry_index`
194 +
195 + The "string-list" API function to find where a given string would
196 + be inserted got updated so that it can use unrealistically huge
197 + array index that would only fit in size_t but not int or ssize_t
198 + to achieve unstated goal.
199 +
200 + Expecting a reroll.
201 + source: <aL21kDwK-zGZyJ9q@ArchLinux>
202
203 --------------------------------------------------
204 [Stalled]
@@ -182,16 +222,16 @@ well with other topics in 'seen' (and of course 'next' and
222
223
224 * ac/deglobal-sparse-variables (2025-07-18) 3 commits
185 - - environment: remove the global variable 'sparse_expect_files_outside_of_patterns'
186 - - environment: move access to "core.sparsecheckoutcone" into repo_settings
187 - - environment: move access to "core.sparsecheckout" into repo_settings
188 - (this branch is used by ds/sparse-checkout-clean.)
225 + . environment: remove the global variable 'sparse_expect_files_outside_of_patterns'
226 + . environment: move access to "core.sparsecheckoutcone" into repo_settings
227 + . environment: move access to "core.sparsecheckout" into repo_settings
228
229 Two global variables related to sparse checkout have been moved to
230 the repository settings structure.
231
232 Expecting a reroll.
233 cf. <CAE7as+bnG6KgA8X_n36pqP15bmyM6re+xEb1MOXKvZSUdJ8Arg@mail.gmail.com>
234 + Ejected out of 'seen' for now.
235 source: <cover.1752882401.git.ayu.chandekar@gmail.com>
236
237
@@ -209,10 +249,12 @@ well with other topics in 'seen' (and of course 'next' and
249 source: <cover.1748473122.git.me@ttaylorr.com>
250
251
212 -* cc/promisor-remote-capability (2025-07-31) 5 commits
213 - - promisor-remote: use string constants for 'name' and 'url' too
252 +* cc/promisor-remote-capability (2025-09-07) 7 commits
253 + - promisor-remote: use string_list_split() in mark_remotes_as_accepted()
254 - promisor-remote: allow a client to check fields
255 + - promisor-remote: use string_list_split() in filter_promisor_remote()
256 - promisor-remote: refactor how we parse advertised fields
257 + - promisor-remote: use string constants for 'name' and 'url' too
258 - promisor-remote: allow a server to advertise more fields
259 - promisor-remote: refactor to get rid of 'struct strvec'
260
@@ -220,86 +262,165 @@ well with other topics in 'seen' (and of course 'next' and
262 allow the "partialCloneFilter" settings and the "token" value to be
263 communicated from the server side.
264
223 - Expecting a reroll.
224 - cf. <xmqqqzwvqay9.fsf@gitster.g>
225 - source: <20250731072401.3817074-1-christian.couder@gmail.com>
265 + Will merge to 'next'?
266 + source: <20250908053056.956907-1-christian.couder@gmail.com>
267
268
269 * ar/submodule-gitdir-tweak (2025-09-02) 11 commits
229 - - fixup! t: submodules: add basic mixed gitdir path tests
230 - - fixup! t: add gitdir encoding tests
231 - - t: add gitdir encoding tests
232 - - t: move nested gitdir tests to proper location
233 - - submodule: remove validate_submodule_git_dir()
234 - - submodule: encode gitdir paths to avoid conflicts
235 - - strbuf: bring back is_rfc3986_unreserved
236 - - t: submodules: add basic mixed gitdir path tests
237 - - submodule: add gitdir path config override
238 - - submodule: create new gitdirs under submodules path
239 - - submodule--helper: use submodule_name_to_gitdir in add_submodule
270 + . fixup! t: submodules: add basic mixed gitdir path tests
271 + . fixup! t: add gitdir encoding tests
272 + . t: add gitdir encoding tests
273 + . t: move nested gitdir tests to proper location
274 + . submodule: remove validate_submodule_git_dir()
275 + . submodule: encode gitdir paths to avoid conflicts
276 + . strbuf: bring back is_rfc3986_unreserved
277 + . t: submodules: add basic mixed gitdir path tests
278 + . submodule: add gitdir path config override
279 + . submodule: create new gitdirs under submodules path
280 + . submodule--helper: use submodule_name_to_gitdir in add_submodule
281
282 Avoid local submodule repository directory paths overlapping with
283 each other by encoding submodule names before using them as path
284 components.
285
245 - Expecting a reroll.
246 - cf. <87sehk7r66.fsf@collabora.com>
286 + Need to pick up a reroll.
287 + cf.<20250908140117.262205-1-adrian.ratiu@collabora.com>
288 + Breaks builds.
289 + cf. https://github.com/git/git/actions/runs/17447961977/job/49546783809
290 source: <20250816213642.3517822-1-adrian.ratiu@collabora.com>
291
292 --------------------------------------------------
250 -[Graduated to 'master']
293 +[Cooking]
294 +
295 +* ds/midx-write-fixes (2025-09-05) 6 commits
296 + (merged to 'next' on 2025-09-08 at 74b87ce5ba)
297 + + midx-write: simplify error cases
298 + + midx-write: reenable signed comparison errors
299 + + midx-write: use uint32_t for preferred_pack_idx
300 + + midx-write: use cleanup when incremental midx fails
301 + + midx-write: put failing response value back
302 + + midx-write: only load initialized packs
303 +
304 + Fixes multiple crashes around midx write-out codepaths.
305
252 -* ds/doc-ggg-pr-fork-clarify (2025-08-23) 1 commit
253 - (merged to 'next' on 2025-08-25 at 71aea64ee4)
254 - + doc: clarify which remotes can be used with GitGitGadget
306 + Will merge to 'master'.
307 + source: <pull.1965.v3.git.1757100378.gitgitgadget@gmail.com>
308
256 - Update the instruction to use of GGG in the MyFirstContribution
257 - document to say that a GitHub PR could be made against `git/git`
258 - instead of `gitgitgadget/git`.
259 - source: <pull.2034.v2.git.git.1755940331248.gitgitgadget@gmail.com>
309
310 +* km/alias-doc-markup-fix (2025-09-01) 1 commit
311 + (merged to 'next' on 2025-09-03 at 02da1fc9b3)
312 + + doc: fix formatting of function-wrap shell alias
313
262 -* ja/asciidoc-doctor-verbatim-fixes (2025-08-20) 1 commit
263 - (merged to 'next' on 2025-08-22 at 61fb953314)
264 - + doc: fix asciidoc format compatibility in pretty-formats.adoc
314 + Docfix.
315
266 - Doc mark-up fix.
267 - source: <20250820212319.41044-1-jn.avila@free.fr>
316 + Will merge to 'master'.
317 + source: <20250901180419.2212086-1-kyle@kemitchell.com>
318
319
270 -* js/doc-sending-patch-via-thunderbird (2025-08-22) 1 commit
271 - (merged to 'next' on 2025-08-25 at 1e63ebff8c)
272 - + doc/format-patch: adjust Thunderbird MUA hint to new add-on
320 +* ms/refs-exists (2025-08-25) 4 commits
321 + (merged to 'next' on 2025-09-03 at c6fc4c7461)
322 + + t: add test for git refs exists subcommand
323 + + t1422: refactor tests to be shareable
324 + + t1403: split 'show-ref --exists' tests into a separate file
325 + + builtin/refs: add 'exists' subcommand
326
274 - Doc update.
275 - source: <6ec34bbc-6811-41fa-aa06-1d54fd2acb0c@kdbg.org>
327 + "git refs exists" that works like "git show-ref --exists" has been
328 + added.
329
330 + Will merge to 'master'.
331 + cf. <aLbahNFrs9jchnXZ@pks.im>
332 + source: <20250826064110.10540-1-meetsoni3017@gmail.com>
333
278 -* kh/doc-config-typofix (2025-08-24) 1 commit
279 - (merged to 'next' on 2025-08-25 at f82e0a4c9b)
280 - + doc: config: replace backtick with apostrophe for possessive
334
282 - Documentation typofix.
283 - source: <3ec6a00e3046166c7adb593f38c4099921d8ada3.1756064760.git.code@khaugsbakk.name>
335 +* ps/gitlab-ci-disable-windows-monitoring (2025-09-02) 1 commit
336 + (merged to 'next' on 2025-09-03 at f6148f5d05)
337 + + gitlab-ci: disable realtime monitoring to unbreak Windows jobs
338
339 + Windows "real-time monitoring" interferes with the execution of
340 + tests and affects negatively in both correctness and performance,
341 + which has been disabled in Gitlab CI.
342
286 -* kh/doc-interpret-trailers-markup-fix (2025-08-22) 1 commit
287 - (merged to 'next' on 2025-08-25 at 9bee54a64d)
288 - + doc: interpret-trailers: close all pairs of single quotes
343 + Will merge to 'master'.
344 + source: <20250902-b4-pks-gitlab-ci-windows-defender-v1-1-fcb1f19321aa@pks.im>
345
290 - Fix missing single-quote pairs in a documentation page.
291 - source: <4eac944102a846695a9f61ead39a5a86361a0532.1755875970.git.code@khaugsbakk.name>
346
293 ---------------------------------------------------
294 -[Cooking]
347 +* ps/packfile-store (2025-09-02) 16 commits
348 + - packfile: refactor `get_packed_git_mru()` to work on packfile store
349 + - packfile: refactor `get_all_packs()` to work on packfile store
350 + - packfile: remove `get_packed_git()`
351 + - packfile: move `get_multi_pack_index()` into "midx.c"
352 + - packfile: introduce function to load and add packfiles
353 + - packfile: refactor `install_packed_git()` to work on packfile store
354 + - packfile: split up responsibilities of `reprepare_packed_git()`
355 + - packfile: refactor `prepare_packed_git()` to work on packfile store
356 + - packfile: reorder functions to avoid function declaration
357 + - odb: move kept cache into `struct packfile_store`
358 + - odb: move MRU list of packfiles into `struct packfile_store`
359 + - odb: move packfile map into `struct packfile_store`
360 + - odb: move initialization bit into `struct packfile_store`
361 + - odb: move list of packfiles into `struct packfile_store`
362 + - packfile: introduce a new `struct packfile_store`
363 + - Merge branch 'ps/object-store-midx-dedup-info' into ps/packfile-store
364 + (this branch uses ps/object-store-midx-dedup-info.)
365 +
366 + Code clean-up around the in-core list of all the pack files and
367 + object database(s).
368 +
369 + Comments?
370 + source: <20250902-b4-pks-packfiles-store-v3-0-6925278efeda@pks.im>
371 +
372 +
373 +* kh/doc-markup-fixes (2025-09-02) 2 commits
374 + (merged to 'next' on 2025-09-03 at 1ba7204a04)
375 + + doc: remove extra backtick for inline-verbatim
376 + + doc: add missing backtick for inline-verbatim
377 +
378 + Doc markup fixes.
379 +
380 + Will merge to 'master'.
381 + source: <cover.1756845314.git.code@khaugsbakk.name>
382 +
383 +
384 +* kn/refs-files-case-insensitive (2025-09-08) 4 commits
385 + - refs/files: handle D/F conflicts during locking
386 + - refs/files: handle F/D conflicts in case-insensitive FS
387 + - refs/files: use correct error type when lock exists
388 + - refs/files: catch conflicts on case-insensitive file-systems
389 +
390 + Deal more gracefully with directory / file conflicts when the files
391 + backend is used for ref storage, by failing only the ones that are
392 + involved in the conflict while allowing others.
393 +
394 + Comments?
395 + source: <20250908-587-git-fetch-1-fails-fetches-on-case-insensitive-repositories-v2-0-b2eb2459befb@gmail.com>
396 +
397 +
398 +* mm/worktree-doc-typofix (2025-09-03) 1 commit
399 + - docs: fix typo in worktree.adoc 'extension'
400 +
401 + Docfix.
402 +
403 + Will merge to 'next'.
404 + source: <pull.1967.git.1756911040439.gitgitgadget@gmail.com>
405 +
406 +
407 +* ps/upload-pack-oom-protection (2025-09-04) 2 commits
408 + (merged to 'next' on 2025-09-08 at 2b543d9b53)
409 + + upload-pack: don't ACK non-commits repeatedly in protocol v2
410 + + t5530: modernize tests
411 +
412 + Will merge to 'master'.
413 + source: <20250905-b4-pks-upload-pack-repeated-non-commit-acks-v2-0-d2e67f3cb94c@pks.im>
414 +
415
416 * tc/t0450-harden (2025-08-08) 2 commits
297 - - t0450: add allowlist for builtins with missing .adoc
298 - - t0450: fix test for out-of-tree builds
417 + (merged to 'next' on 2025-09-04 at 19270d2f92)
418 + + t0450: add allowlist for builtins with missing .adoc
419 + + t0450: fix test for out-of-tree builds
420
421 Test updates.
422
302 - Will merge to 'next'.
423 + Will merge to 'master'.
424 source: <20250804073002.1586332-1-toon@iotcl.com>
425
426
@@ -312,38 +433,29 @@ well with other topics in 'seen' (and of course 'next' and
433 source: <20250826150919.5239-1-gargaditya08@live.com>
434
435
315 -* da/cargo-serialize (2025-08-26) 1 commit
316 - (merged to 'next' on 2025-08-29 at 5a193b1525)
317 - + Makefile: build libgit-rs and libgit-sys serially
318 -
319 - Makefile tried to run multiple "cargo build" which would not work
320 - very well; serialize their execution to work it around.
321 -
322 - Will merge to 'master'.
323 - source: <20250826233525.2635432-1-davvid@gmail.com>
324 -
325 -
326 -* en/rust-xdiff (2025-08-29) 15 commits
327 - - xdiff: implement xdl_trim_ends() in Rust
328 - - xdiff: make xdfile_t more rust friendly
329 - - xdiff: delete recs field from xdfile_t
330 - - xdiff: delete nrec field from xdfile_t
331 - - xdiff: replace chastore with an ivec in xdfile_t
332 - - xdiff: use one definition for freeing xdfile_t
333 - - xdiff: make fields of xrecord_t Rust friendly
436 +* en/rust-xdiff (2025-09-07) 17 commits
437 + - xdiff: change the types of dstart, dend, rchg, and rindex in xdfile_t
438 + - xdiff: make xdfile_t.nreff a usize instead of long
439 + - xdiff: make xdfile_t.nrec a usize instead of long
440 + - xdiff: split xrecord_t.ha into line_hash and minimal_perfect_hash
441 + - xdiff: make xrecord_t.size a usize instead of long
442 + - xdiff: make xrecord_t.ptr a u8 instead of char
443 + - xdiff: include compat/rust_types.h
444 + - compat/rust_types.h: define rust primitive types
445 + - xdiff: treat xdfile_t.rchg like an enum
446 + - xdiff: delete chastore from xdfile_t, view with --color-words
447 + - xdiff: delete fields ha, line, size in xdlclass_t in favor of an xrecord_t
448 + - xdiff: delete redundant array xdfile_t.ha
449 + - xdiff: delete struct diffdata_t
450 + - xdiff: delete xdl_get_rec() in xemit
451 - xdiff: delete unnecessary fields from xrecord_t and xdfile_t
335 - - xdiff/xprepare: remove superfluous forward declarations
336 - - ivec: create a vector type that is interoperable between C and Rust
337 - - github workflows: upload Cargo.lock
338 - - win+Meson: do allow linking with the Rust-built xdiff
339 - - github workflows: install rust
340 - - xdiff: introduce rust
341 - - doc: add a policy for using Rust
452 + - xdiff: delete local variables and initialize/free xdfile_t directly
453 + - xdiff: delete static forward declarations in xprepare
454
343 - Rust!
455 + Rust! Not Rust, though ;-)
456
457 Comments?
346 - source: <pull.2043.git.git.1756496539.gitgitgadget@gmail.com>
458 + source: <pull.2048.git.git.1757274320.gitgitgadget@gmail.com>
459
460
461 * je/doc-checkout (2025-09-03) 6 commits
@@ -380,30 +492,21 @@ well with other topics in 'seen' (and of course 'next' and
492 source: <20250827080702.GA3572995@coredump.intra.peff.net>
493
494
383 -* kh/you-still-use-whatchanged-fix (2025-08-29) 4 commits
495 +* kh/you-still-use-whatchanged-fix (2025-09-08) 8 commits
496 - BreakingChanges: remove claim about whatchanged reports
497 - whatchanged: remove not-even-shorter clause
498 - whatchanged: tell users the git-log(1) equivalent
499 - you-still-use-that??: help the user help themselves
500 + - t0014: test shadowing of aliases for a sample of builtins
501 + - git: allow alias-shadowing deprecated builtins
502 + - git: make the two loops look more symmetric
503 + - git: add `deprecated` category to --list-cmds
504
505 Update "do you still use it?" message given by a command that is
506 deeply deprecated and allow us to suggest alternatives.
507
508 Will merge to 'next'?
393 - source: <cover.1756480827.git.code@khaugsbakk.name>
394 -
395 -
396 -* ds/ls-files-lazy-unsparse (2025-08-15) 1 commit
397 - (merged to 'next' on 2025-08-29 at a48fee2dde)
398 - + ls-files: conditionally leave index sparse
399 -
400 - "git ls-files <pathspec>..." should not necessarily have to expand
401 - the index fully if a sparsified directory is excluded by the
402 - pathspec; the code is taught to expand the index on demand to avoid
403 - this.
404 -
405 - Will merge to 'master'.
406 - source: <pull.1955.git.1755274373717.gitgitgadget@gmail.com>
509 + source: <cover.1757345711.git.code@khaugsbakk.name>
510
511
512 * pc/range-diff-memory-limit (2025-08-29) 1 commit
@@ -416,7 +519,7 @@ well with other topics in 'seen' (and of course 'next' and
519 source: <pull.1958.v4.git.1756483374980.gitgitgadget@gmail.com>
520
521
419 -* ne/alloc-free-and-null (2025-08-29) 1 commit
522 +* ne/alloc-free-and-null (2025-09-04) 1 commit
523 - alloc: fix dangling pointer in alloc_state cleanup
524
525 The clear_alloc_state() API function was not fully clearing the
@@ -424,32 +527,34 @@ well with other topics in 'seen' (and of course 'next' and
527 variant that frees the structure as well, making the callers simpler.
528
529 Will merge to 'next'?
427 - source: <pull.2040.v3.git.git.1756472406487.gitgitgadget@gmail.com>
530 + source: <pull.2040.v5.git.git.1757007856062.gitgitgadget@gmail.com>
531
532
533 * rs/describe-with-lazy-queue-and-oidset (2025-09-02) 1 commit
431 - - describe: use oidset in finish_depth_computation()
534 + (merged to 'next' on 2025-09-04 at 1a473401a4)
535 + + describe: use oidset in finish_depth_computation()
536
537 Instead of scanning for the remaining items to see if there are
538 still commits to be explored in the queue, use khash to remember
539 which items are still on the queue (an unacceptable alternative is
540 to reserve one object flag bits).
541
438 - Will merge to 'next'.
542 + Will merge to 'master'.
543 source: <b16aa099-b683-4a66-acd9-603cc9f0935c@web.de>
544
545
442 -* lo/repo-info-step-2 (2025-09-01) 3 commits
443 - - repo: add the field objects.format
444 - - repo: add the flag -z as an alias for --format=nul
445 - - Merge branch 'lo/repo-info' into lo/repo-info-step-2
546 +* lo/repo-info-step-2 (2025-09-04) 3 commits
547 + (merged to 'next' on 2025-09-08 at 1a58ac3835)
548 + + repo: add the field objects.format
549 + + repo: add the flag -z as an alias for --format=nul
550 + + Merge branch 'lo/repo-info' into lo/repo-info-step-2
551
552 "repo info" learns a short-hand option "-z" that is the same as
553 "--format=nul", and learns to report the objects format used in the
554 repository.
555
451 - Will merge to 'next'?
452 - source: <20250901172732.98845-1-lucasseikioshiro@gmail.com>
556 + Will merge to 'master'.
557 + source: <20250904134017.47364-1-lucasseikioshiro@gmail.com>
558
559
560 * jc/doc-includeif-hasconfig-remote-url-fix (2025-08-21) 1 commit
@@ -461,31 +566,33 @@ well with other topics in 'seen' (and of course 'next' and
566 source: <xmqqldnc4stv.fsf@gitster.g>
567
568
464 -* jk/add-i-color (2025-08-21) 4 commits
569 +* jk/add-i-color (2025-09-08) 4 commits
570 - contrib/diff-highlight: mention interactive.diffFilter
571 - add-interactive: manually fall back color config to color.ui
572 - add-interactive: respect color.diff for diff coloring
468 - - stash: pass --no-color to diff-tree child processes
573 + - stash: pass --no-color to diff plumbing child processes
574
575 Some among "git add -p" and friends ignored color.diff and/or
576 color.ui configuration variables, which is an old regression, which
577 has been corrected.
578
579 Will merge to 'next'?
475 - source: <20250821070740.GA3356411@coredump.intra.peff.net>
580 + source: <20250908164157.GA1323487@coredump.intra.peff.net>
581
582
583 * jt/de-global-bulk-checkin (2025-08-22) 4 commits
479 - - bulk-checkin: use repository variable from transaction
480 - - bulk-checkin: require transaction for index_blob_bulk_checkin()
481 - - bulk-checkin: remove global transaction state
482 - - bulk-checkin: introduce object database transaction structure
584 + (merged to 'next' on 2025-09-08 at f544afcab3)
585 + + bulk-checkin: use repository variable from transaction
586 + + bulk-checkin: require transaction for index_blob_bulk_checkin()
587 + + bulk-checkin: remove global transaction state
588 + + bulk-checkin: introduce object database transaction structure
589
590 The bulk-checkin code used to depend on a file-scope static
591 singleton variable, which has been updated to pass an instance
592 throughout the callchain.
593
488 - Will merge to 'next'?
594 + Will merge to 'master'.
595 + cf. <aLmhjw2xAbUogL1L@pks.im>
596 source: <20250822213500.1488064-1-jltobler@gmail.com>
597
598
@@ -503,19 +610,6 @@ well with other topics in 'seen' (and of course 'next' and
610 source: <pull.1952.v4.git.1756468502.gitgitgadget@gmail.com>
611
612
506 -* ds/path-walk-repack-fix (2025-08-25) 2 commits
507 - (merged to 'next' on 2025-08-29 at 13028ffb8e)
508 - + path-walk: create initializer for path lists
509 - + path-walk: fix setup of pending objects
510 -
511 - "git repack --path-walk" lost objects in some corner cases, which
512 - has been corrected.
513 -
514 - Will merge to 'master'.
515 - cf. <CABPp-BHFxxGrqKc0m==TjQNjDGdO=H5Rf6EFsf2nfE1=TuraOQ@mail.gmail.com>
516 - source: <pull.1956.v2.git.1756126197.gitgitgadget@gmail.com>
517 -
518 -
613 * sg/line-log-boundary-fixes (2025-08-18) 2 commits
614 - line-log: show all line ranges touched by the same diff range
615 - line-log: fix assertion error
@@ -559,20 +653,6 @@ well with other topics in 'seen' (and of course 'next' and
653 source: <20250811-b4-pks-midx-deduplicate-source-info-v3-0-e442bdf2b4ad@pks.im>
654
655
562 -* am/xdiff-hash-tweak (2025-07-28) 2 commits
563 - (merged to 'next' on 2025-08-29 at 43590f0b38)
564 - + xdiff: optimize xdl_hash_record_verbatim
565 - + xdiff: refactor xdl_hash_record()
566 -
567 - Inspired by Ezekiel's recent effort to showcase Rust interface, the
568 - hash function implementation used to hash lines have been updated
569 - to the one used for ELF symbol lookup by Glibc.
570 -
571 - Will merge to 'master'.
572 - cf. <xmqqecsvqal6.fsf@gitster.g>
573 - source: <20250728190520.10962-1-amonakov@ispras.ru>
574 -
575 -
656 * ag/send-email-imap-sent (2025-08-11) 2 commits
657 - send-email: enable copying emails to an IMAP folder without actually sending them
658 - send-email: add ability to send a copy of sent emails to an IMAP folder
@@ -584,7 +664,7 @@ well with other topics in 'seen' (and of course 'next' and
664 source: <PN3PR01MB9597E8E33868386C997D2563B82BA@PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM>
665
666
587 -* ds/sparse-checkout-clean (2025-07-16) 9 commits
667 +* ds/sparse-checkout-clean (2025-07-16) 7 commits
668 - sparse-checkout: make 'clean' clear more files
669 - t: expand tests around sparse merges and clean
670 - sparse-index: point users to new 'clean' action
@@ -592,17 +672,13 @@ well with other topics in 'seen' (and of course 'next' and
672 - dir: add generic "walk all files" helper
673 - sparse-checkout: match some 'clean' behavior
674 - sparse-checkout: add basics of 'clean' command
595 - - sparse-checkout: remove use of the_repository
596 - - Merge branch 'ac/deglobal-sparse-variables' into ds/sparse-checkout-clean
597 - (this branch uses ac/deglobal-sparse-variables.)
675
676 "git sparse-checkout" subcommand learned a new "clean" action to
677 prune otherwise unused working-tree files that are outside the
678 areas of interest.
679
603 - Needs to wait for the base topic to solidify.
604 - Waiting for review responses.
605 - cf. <xmqqzfbjqbfo.fsf@gitster.g>
680 + Rebased not to depend on ac/deglobal-sparse-variables
681 + Will merge to 'next'?
682 source: <pull.1941.v2.git.1752716054.gitgitgadget@gmail.com>
683
684
@@ -618,16 +694,3 @@ well with other topics in 'seen' (and of course 'next' and
694
695 Will merge to 'next'?
696 source: <cover.1756215326.git.phillip.wood@dunelm.org.uk>
621 -
622 -
623 -* tc/last-modified (2025-08-05) 3 commits
624 - (merged to 'next' on 2025-08-29 at 3f3e111189)
625 - + last-modified: use Bloom filters when available
626 - + t/perf: add last-modified perf script
627 - + last-modified: new subcommand to show when files were last modified
628 -
629 - A new command "git last-modified" is proposed to show the closest
630 - ancestor commit that touched each path.
631 -
632 - Will merge to 'master'.
633 - source: <20250730175510.987383-1-toon@iotcl.com>