What's cooking (2025/08 #10)

Junio C Hamano committed Aug 22, 2025 at 13:58 UTC dc4cc3d7e8ceb7f038e61ffc34b5f499489cc746
1 file changed +354 -319
whats-cooking.txt
+354 -319
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Aug 2025, #09; Wed, 20)
3 -X-master-at: c44beea485f0f2feaf460e2ac87fdd5608d63cf0
4 -X-next-at: 9569e192d092ed4656ac7048d8d835ab1ca97d2c
2 +Subject: What's cooking in git.git (Aug 2025, #10; Fri, 22)
3 +X-master-at: 1fa68948c3d76328236cac73d2adf33c905bd8e3
4 +X-next-at: d7df087d1abd30a578bb11da1d7fcc5f9bee7521
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Aug 2025, #09; Wed, 20)
7 +What's cooking in git.git (Aug 2025, #10; Fri, 22)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -49,50 +49,341 @@ Release tarballs are available at:
49
50 https://www.kernel.org/pub/software/scm/git/
51
52 +--------------------------------------------------
53 +[Graduated to 'master']
54 +
55 +* ac/deglobal-fmt-merge-log-config (2025-08-10) 2 commits
56 + (merged to 'next' on 2025-08-13 at c6c74fb8f0)
57 + + builtin/fmt-merge-msg: stop depending on 'the_repository'
58 + + environment: remove the global variable 'merge_log_config'
59 +
60 + Code clean-up.
61 + source: <cover.1754868681.git.ayu.chandekar@gmail.com>
62 +
63 +
64 +* dl/push-missing-object-error (2025-08-08) 3 commits
65 + (merged to 'next' on 2025-08-11 at ad69d77794)
66 + + remote.c: convert if-else ladder to switch
67 + + remote.c: remove BUG in show_push_unqualified_ref_name_error()
68 + + t5516: remove surrounding empty lines in test bodies
69 +
70 + "git push" had a code path that led to BUG() but it should have
71 + been a die(), as it is a response to a usual but invalid end-user
72 + action to attempt pushing an object that does not exist.
73 + cf. <xmqqo6spiyqp.fsf@gitster.g>
74 + source: <cover.1754637849.git.liu.denton@gmail.com>
75 +
76 +
77 +* en/ort-rename-fixes (2025-08-06) 7 commits
78 + (merged to 'next' on 2025-08-12 at 02536ed675)
79 + + merge-ort: fix directory rename on top of source of other rename/delete
80 + + merge-ort: fix incorrect file handling
81 + + merge-ort: clarify the interning of strings in opt->priv->path
82 + + t6423: fix missed staging of file in testcases 12i,12j,12k
83 + + t6423: document two bugs with rename-to-self testcases
84 + + merge-ort: drop unnecessary temporary in check_for_directory_rename()
85 + + merge-ort: update comments to modern testfile location
86 +
87 + Various bugs about rename handling in "ort" merge strategy have
88 + been fixed.
89 + source: <pull.1943.v3.git.1754522122.gitgitgadget@gmail.com>
90 +
91 +
92 +* gh/git-jump-pathname-with-sp (2025-08-11) 1 commit
93 + (merged to 'next' on 2025-08-13 at a99311e231)
94 + + git-jump: make `diff` work with filenames containing spaces
95 +
96 + "git jump" (in contrib/) fails to parse the diff header correctly
97 + when a file has a space in its name, which has been corrected.
98 + source: <pull.1950.v2.git.1754913323810.gitgitgadget@gmail.com>
99 +
100 +
101 +* jc/diff-no-index-in-subdir (2025-08-09) 1 commit
102 + (merged to 'next' on 2025-08-13 at 956899dc16)
103 + + diff: --no-index should ignore the worktree
104 +
105 + "git diff --no-index" run inside a subdirectory under control of a
106 + Git repository operated at the top of the working tree and stripped
107 + the prefix from the output, and oddballs like "-" (stdin) did not
108 + work correctly because of it. Correct the set-up by undoing what
109 + the set-up sequence did to cwd and prefix.
110 + source: <xmqq1ppk58ob.fsf@gitster.g>
111 +
112 +
113 +* jc/strbuf-split (2025-07-31) 13 commits
114 + (merged to 'next' on 2025-08-11 at ddf662f7e9)
115 + + trace2: do not use strbuf_split*()
116 + + trace2: trim_trailing_newline followed by trim is a no-op
117 + + sub-process: do not use strbuf_split*()
118 + + environment: do not use strbuf_split*()
119 + + config: do not use strbuf_split()
120 + + notes: do not use strbuf_split*()
121 + + merge-tree: do not use strbuf_split*()
122 + + clean: do not use strbuf_split*() [part 2]
123 + + clean: do not pass the whole structure when it is not necessary
124 + + clean: do not use strbuf_split*() [part 1]
125 + + clean: do not pass strbuf by value
126 + + wt-status: avoid strbuf_split*()
127 + + Merge branch 'jc/string-list-split' into jc/strbuf-split
128 + (this branch uses jc/string-list-split.)
129 +
130 + Arrays of strbuf is often a wrong data structure to use, and
131 + strbuf_split*() family of functions that create them often have
132 + better alternatives.
133 +
134 + Update several code paths and replace strbuf_split*().
135 + source: <20250731225433.4028872-1-gitster@pobox.com>
136 +
137 +
138 +* jc/string-list-split (2025-08-01) 7 commits
139 + (merged to 'next' on 2025-08-11 at 160ff9d174)
140 + + string-list: split-then-remove-empty can be done while splitting
141 + + string-list: optionally omit empty string pieces in string_list_split*()
142 + + diff: simplify parsing of diff.colormovedws
143 + + string-list: optionally trim string pieces split by string_list_split*()
144 + + string-list: unify string_list_split* functions
145 + + string-list: align string_list_split() with its _in_place() counterpart
146 + + string-list: report programming error with BUG
147 + (this branch is used by jc/strbuf-split.)
148 +
149 + string_list_split*() family of functions have been extended to
150 + simplify common use cases.
151 + source: <20250801220423.1230969-1-gitster@pobox.com>
152 +
153 +
154 +* js/rebase-i-allow-drop-on-a-merge (2025-08-06) 1 commit
155 + (merged to 'next' on 2025-08-07 at bc44e9dc1b)
156 + + rebase -i: permit 'drop' of a merge commit
157 +
158 + During interactive rebase, using 'drop' on a merge commit lead to
159 + an error, which was incorrect.
160 + source: <37f6e34c-91aa-4e55-88e1-019d2e042df3@kdbg.org>
161 +
162 +
163 +* kh/doc-git-log-markup-fix (2025-08-08) 1 commit
164 + (merged to 'next' on 2025-08-12 at 1336146ed4)
165 + + doc: git-log: fix description list
166 +
167 + Doc update.
168 + source: <aaa1734189ec8bab7cfa0965132e3d8e5909b1af.1754660514.git.code@khaugsbakk.name>
169 +
170 +
171 +* kr/clone-synopsis-fix (2025-08-11) 1 commit
172 + (merged to 'next' on 2025-08-13 at b0d634ef29)
173 + + docs: remove stray bracket from git-clone synopsis
174 +
175 + Doc fix.
176 + source: <pull.2023.v3.git.git.1754949872593.gitgitgadget@gmail.com>
177 +
178 +
179 +* ly/changed-path-traversal-with-magic-pathspec (2025-08-10) 1 commit
180 + (merged to 'next' on 2025-08-12 at 0f929dcec7)
181 + + bloom: enable bloom filter with wildcard pathspec in revision traversal
182 +
183 + Revision traversal limited with pathspec, like "git log dir/*",
184 + used to ignore changed-paths Bloom filter when the pathspec
185 + contained wildcards; now they take advantage of the filter when
186 + they can.
187 + source: <20250811060137.75135-1-yldhome2d2@gmail.com>
188 +
189 +
190 +* ly/diff-name-only-with-diff-from-content (2025-08-07) 1 commit
191 + (merged to 'next' on 2025-08-13 at 662b1ed5c5)
192 + + diff: ensure consistent diff behavior with ignore options
193 +
194 + Various options to "git diff" that makes comparison ignore certain
195 + aspects of the differences (like "space changes are ignored",
196 + "differences in lines that match these regular expressions are
197 + ignored") did not work well with "--name-only" and friends.
198 + source: <20250808033019.78817-1-yldhome2d2@gmail.com>
199 +
200 +
201 +* ms/refs-list (2025-08-05) 6 commits
202 + (merged to 'next' on 2025-08-13 at 3f0791145b)
203 + + t: add test for git refs list subcommand
204 + + t6300: refactor tests to be shareable
205 + + builtin/refs: add list subcommand
206 + + builtin/for-each-ref: factor out core logic into a helper
207 + + builtin/for-each-ref: align usage string with the man page
208 + + doc: factor out common option
209 +
210 + The "list" subcommand of "git refs" acts as a front-end for
211 + "git for-each-ref".
212 + source: <20250805092758.5321-1-meetsoni3017@gmail.com>
213 +
214 +
215 +* ps/reflog-migrate-fixes (2025-08-05) 9 commits
216 + (merged to 'next' on 2025-08-07 at 8068e2ad68)
217 + + refs: fix invalid old object IDs when migrating reflogs
218 + + refs: stop unsetting REF_HAVE_OLD for log-only updates
219 + + refs/files: detect race when generating reflog entry for HEAD
220 + + refs: fix identity for migrated reflogs
221 + + ident: fix type of string length parameter
222 + + builtin/reflog: implement subcommand to write new entries
223 + + refs: export `ref_transaction_update_reflog()`
224 + + builtin/reflog: improve grouping of subcommands
225 + + Documentation/git-reflog: convert to use synopsis type
226 + (this branch is used by jk/no-clobber-dangling-symref-with-fetch and ps/remote-rename-fix.)
227 +
228 + "git refs migrate" to migrate the reflog entries from a refs
229 + backend to another had a handful of bugs squashed.
230 + source: <20250806-pks-reflog-append-v6-0-a50839653766@pks.im>
231 +
232 +
233 +* ps/remote-rename-fix (2025-07-31) 7 commits
234 + (merged to 'next' on 2025-08-07 at 227d2faf29)
235 + + builtin/remote: only iterate through refs that are to be renamed
236 + + builtin/remote: rework how remote refs get renamed
237 + + builtin/remote: determine whether refs need renaming early on
238 + + builtin/remote: fix sign comparison warnings
239 + + refs: simplify logic when migrating reflog entries
240 + + refs: pass refname when invoking reflog entry callback
241 + + Merge branch 'ps/reflog-migrate-fixes' into ps/remote-rename-fix
242 + (this branch uses ps/reflog-migrate-fixes.)
243 +
244 + "git remote rename origin upstream" failed to move origin/HEAD to
245 + upstream/HEAD when origin/HEAD is unborn and performed other
246 + renames extremely inefficiently, which has been corrected.
247 + source: <20250731-pks-remote-rename-improvements-v2-0-dda6f083674d@pks.im>
248 +
249 +
250 +* rj/t6137-cygwin-fix (2025-08-08) 1 commit
251 + (merged to 'next' on 2025-08-12 at f5acbbb35a)
252 + + t6137-*.sh: fix test failure on cygwin
253 +
254 + Test fix for breakage introduced in Git 2.50.
255 + source: <5514f2fd-3307-42c8-97ac-bc2147a7ba41@ramsayjones.plus.com>
256 +
257 +
258 +* rs/describe-with-prio-queue (2025-08-03) 2 commits
259 + (merged to 'next' on 2025-08-07 at 5ebcaaf8b8)
260 + + describe: use prio_queue_replace()
261 + + describe: use prio_queue
262 +
263 + "git describe" has been optimized by using better data structure.
264 + source: <36d5b59a-a99a-4a6f-b637-dfb0b760660f@web.de>
265 +
266 +
267 +* ua/t1517-short-help-tests (2025-08-07) 3 commits
268 + (merged to 'next' on 2025-08-12 at 55d20e1985)
269 + + t5304: move `prune -h` test from t1517
270 + + t5200: move `update-server-info -h` test from t1517
271 + + t/t1517: automate `git subcmd -h` tests outside a repository
272 + (this branch is used by ad/t1517-short-help-tests-fix and dk/help-all.)
273 +
274 + Test shuffling.
275 + source: <20250808010651.591906-1-usmanakinyemi202@gmail.com>
276 +
277 --------------------------------------------------
278 [New Topics]
279
280 +* lo/repo-info-step-2 (2025-08-20) 3 commits
281 + - repo: add the field objects.format
282 + - repo: add the flag -z as an alias for --format=nul
283 + - Merge branch 'lo/repo-info' into lo/repo-info-step-2
284 + (this branch uses lo/repo-info.)
285 +
286 + "repo info" learns a short-hand option "-z" that is the same as
287 + "--format=nul", and learns to report the objects format used in the
288 + repository.
289 +
290 + Expecting a reroll.
291 + cf. <6186055.lOV4Wx5bFT@cayenne>
292 + source: <20250820144247.79197-1-lucasseikioshiro@gmail.com>
293 +
294 +
295 +* jc/doc-includeif-hasconfig-remote-url-fix (2025-08-21) 1 commit
296 + - config: document includeIf conditions consistently
297 +
298 + Doc mark-up fix.
299 +
300 + Will merge to 'next'?
301 + source: <xmqqldnc4stv.fsf@gitster.g>
302 +
303 +
304 +* jk/add-i-color (2025-08-21) 4 commits
305 + - contrib/diff-highlight: mention interactive.diffFilter
306 + - add-interactive: manually fall back color config to color.ui
307 + - add-interactive: respect color.diff for diff coloring
308 + - stash: pass --no-color to diff-tree child processes
309 +
310 + Some among "git add -p" and friends ignored color.diff and/or
311 + color.ui configuration variables, which is an old regression, which
312 + has been corrected.
313 +
314 + Will merge to 'next'?
315 + source: <20250821070740.GA3356411@coredump.intra.peff.net>
316 +
317 +
318 +* jt/de-global-bulk-checkin (2025-08-21) 4 commits
319 + - bulk-checkin: use repository variable from transaction
320 + - bulk-checkin: require transaction for index_blob_bulk_checkin()
321 + - bulk-checkin: remove global transaction state
322 + - bulk-checkin: introduce object database transaction structure
323 +
324 + The bulk-checkin code used to depend on a file-scope static
325 + singleton variable, which has been updated to pass an instance
326 + throughout the callchain.
327 +
328 + Will merge to 'next'?
329 + source: <20250821232249.319427-1-jltobler@gmail.com>
330 +
331 +
332 +* kh/doc-interpret-trailers-markup-fix (2025-08-22) 1 commit
333 + - doc: interpret-trailers: close all pairs of single quotes
334 +
335 + Fix missing single-quote pairs in a documentation page.
336 +
337 + Will merge to 'next'.
338 + source: <4eac944102a846695a9f61ead39a5a86361a0532.1755875970.git.code@khaugsbakk.name>
339 +
340 +--------------------------------------------------
341 +[Cooking]
342 +
343 * ar/submodule-gitdir-tweak (2025-08-18) 10 commits
56 - - fixup! t: add gitdir encoding tests
57 - - t: add gitdir encoding tests
58 - - t: move nested gitdir tests to proper location
59 - - submodule: remove validate_submodule_git_dir()
60 - - submodule: encode gitdir paths to avoid conflicts
61 - - strbuf: bring back is_rfc3986_unreserved
62 - - t: submodules: add basic mixed gitdir path tests
63 - - submodule: add gitdir path config override
64 - - submodule: create new gitdirs under submodules path
65 - - submodule--helper: use submodule_name_to_gitdir in add_submodule
344 + . fixup! t: add gitdir encoding tests
345 + . t: add gitdir encoding tests
346 + . t: move nested gitdir tests to proper location
347 + . submodule: remove validate_submodule_git_dir()
348 + . submodule: encode gitdir paths to avoid conflicts
349 + . strbuf: bring back is_rfc3986_unreserved
350 + . t: submodules: add basic mixed gitdir path tests
351 + . submodule: add gitdir path config override
352 + . submodule: create new gitdirs under submodules path
353 + . submodule--helper: use submodule_name_to_gitdir in add_submodule
354
355 Avoid local submodule repository directory paths overlapping with
356 each other by encoding submodule names before using them as path
357 components.
358
359 Expecting a reroll.
360 + cf. <87sehk7r66.fsf@collabora.com>
361 source: <20250816213642.3517822-1-adrian.ratiu@collabora.com>
362
363
364 * jk/describe-blob (2025-08-18) 5 commits
76 - - describe: pass commit to describe_commit()
77 - - describe: handle blob traversal with no commits
78 - - describe: catch unborn branch in describe_blob()
79 - - describe: error if blob not found
80 - - describe: pass oid struct by const pointer
365 + (merged to 'next' on 2025-08-21 at 671998ff24)
366 + + describe: pass commit to describe_commit()
367 + + describe: handle blob traversal with no commits
368 + + describe: catch unborn branch in describe_blob()
369 + + describe: error if blob not found
370 + + describe: pass oid struct by const pointer
371
372 "git describe <blob>" misbehaves and/or crashes in some corner
373 cases, which has been taught to exit with failure gracefully.
374
85 - Will merge to 'next'.
375 + Will merge to 'master'.
376 source: <20250818205812.GA1018043@coredump.intra.peff.net>
377
378
379 * ds/doc-community-discord (2025-08-20) 1 commit
90 - - doc: add discord to ways of getting help
380 + (merged to 'next' on 2025-08-21 at 7f9aa8da4e)
381 + + doc: add discord to ways of getting help
382
383 Discord has been added to the first contribution documentation as
384 another way to ask for help.
385
95 - Will merge to 'next'.
386 + Will merge to 'master'.
387 source: <pull.2033.v3.git.git.1755679018997.gitgitgadget@gmail.com>
388
389
@@ -102,22 +393,22 @@ Release tarballs are available at:
393
394 Documentation for "git add" has been updated.
395
105 - Comments?
396 + Will merge to 'next'.
397 source: <pull.1952.v3.git.1755636370.gitgitgadget@gmail.com>
398
399
400 * jk/no-clobber-dangling-symref-with-fetch (2025-08-19) 4 commits
110 - - refs: do not clobber dangling symrefs
111 - - t5510: prefer "git -C" to subshell for followRemoteHEAD tests
112 - - t5510: stop changing top-level working directory
113 - - t5510: make confusing config cleanup more explicit
114 - (this branch uses ps/reflog-migrate-fixes.)
401 + (merged to 'next' on 2025-08-21 at 29b96663c0)
402 + + refs: do not clobber dangling symrefs
403 + + t5510: prefer "git -C" to subshell for followRemoteHEAD tests
404 + + t5510: stop changing top-level working directory
405 + + t5510: make confusing config cleanup more explicit
406
407 "git fetch" can clobber a symref that is dangling when the
408 remote-tracking HEAD is set to auto update, which has been
409 corrected.
410
120 - Will merge to 'next'.
411 + Will merge to 'master'.
412 source: <20250819192004.GA1058857@coredump.intra.peff.net>
413
414
@@ -134,12 +425,13 @@ Release tarballs are available at:
425
426
427 * js/doc-gitk-history (2025-08-19) 1 commit
137 - - doc/gitk: update reference to the external project
428 + (merged to 'next' on 2025-08-21 at e7e1a08f82)
429 + + doc/gitk: update reference to the external project
430
431 Manual page for "gitk" is updated with the current maintainer's
432 name.
433
142 - Will merge to 'next'.
434 + Will merge to 'master'.
435 source: <249056e7-1332-4e6f-8d07-16c80fd4913e@kdbg.org>
436
437
@@ -154,15 +446,14 @@ Release tarballs are available at:
446
447
448 * ja/asciidoc-doctor-verbatim-fixes (2025-08-20) 1 commit
157 - - doc: fix asciidoc format compatibility in pretty-formats.adoc
449 + (merged to 'next' on 2025-08-22 at 61fb953314)
450 + + doc: fix asciidoc format compatibility in pretty-formats.adoc
451
452 Doc mark-up fix.
453
161 - Will merge to 'next'.
454 + Will merge to 'master'.
455 source: <20250820212319.41044-1-jn.avila@free.fr>
456
164 ---------------------------------------------------
165 -[Cooking]
457
458 * ds/doc-count-objects-fix (2025-08-14) 1 commit
459 (merged to 'next' on 2025-08-17 at 1740ef34dd)
@@ -175,46 +466,25 @@ Release tarballs are available at:
466
467
468 * ad/t1517-short-help-tests-fix (2025-08-19) 1 commit
178 - - t/t1517: mark tests that fail with GIT_TEST_INSTALLED
179 - (this branch uses ua/t1517-short-help-tests.)
469 + (merged to 'next' on 2025-08-21 at f686ad352a)
470 + + t/t1517: mark tests that fail with GIT_TEST_INSTALLED
471
472 Test fix.
473
183 - Will merge to 'next'?
184 - source: <20250816103656.1693607-1-adam@dinwoodie.org>
185 -
186 -
187 -* dk/t7005-editor-updates (2025-08-13) 3 commits
188 - (merged to 'next' on 2025-08-17 at ad0ab2e2a9)
189 - + t7005: sanitize test environment for subsequent tests
190 - + t7005: stop abusing --exec-path
191 - + t7005: use modern test style
192 -
193 - Test clean-up.
194 -
195 - Will merge to 'master'.
196 - source: <20250812170256.71751-1-ben.knoble+github@gmail.com>
197 -
198 -
199 -* kr/clone-synopsis-fix (2025-08-11) 1 commit
200 - (merged to 'next' on 2025-08-13 at b0d634ef29)
201 - + docs: remove stray bracket from git-clone synopsis
202 -
203 - Doc fix.
204 -
205 - Will merge to 'master'.
206 - source: <pull.2023.v3.git.git.1754949872593.gitgitgadget@gmail.com>
207 -
208 -
209 -* ac/deglobal-fmt-merge-log-config (2025-08-10) 2 commits
210 - (merged to 'next' on 2025-08-13 at c6c74fb8f0)
211 - + builtin/fmt-merge-msg: stop depending on 'the_repository'
212 - + environment: remove the global variable 'merge_log_config'
474 + Will merge to 'master'.
475 + source: <20250819074631.3303-1-adam@dinwoodie.org>
476
214 - Code clean-up.
477 +
478 +* dk/t7005-editor-updates (2025-08-13) 3 commits
479 + (merged to 'next' on 2025-08-17 at ad0ab2e2a9)
480 + + t7005: sanitize test environment for subsequent tests
481 + + t7005: stop abusing --exec-path
482 + + t7005: use modern test style
483 +
484 + Test clean-up.
485
486 Will merge to 'master'.
217 - source: <cover.1754868681.git.ayu.chandekar@gmail.com>
487 + source: <20250812170256.71751-1-ben.knoble+github@gmail.com>
488
489
490 * jc/longer-disambiguation-fix (2025-08-14) 1 commit
@@ -228,21 +498,6 @@ Release tarballs are available at:
498 source: <xmqqh5ya6iua.fsf_-_@gitster.g>
499
500
231 -* dl/push-missing-object-error (2025-08-08) 3 commits
232 - (merged to 'next' on 2025-08-11 at ad69d77794)
233 - + remote.c: convert if-else ladder to switch
234 - + remote.c: remove BUG in show_push_unqualified_ref_name_error()
235 - + t5516: remove surrounding empty lines in test bodies
236 -
237 - "git push" had a code path that led to BUG() but it should have
238 - been a die(), as it is a response to a usual but invalid end-user
239 - action to attempt pushing an object that does not exist.
240 -
241 - Will merge to 'master'.
242 - cf. <xmqqo6spiyqp.fsf@gitster.g>
243 - source: <cover.1754637849.git.liu.denton@gmail.com>
244 -
245 -
501 * ja/doc-lint-sections-and-synopsis (2025-08-11) 6 commits
502 (merged to 'next' on 2025-08-17 at 413ff100cd)
503 + doc lint: check that synopsis manpages have synopsis inlines
@@ -259,56 +514,6 @@ Release tarballs are available at:
514 source: <pull.1945.v3.git.1754945600.gitgitgadget@gmail.com>
515
516
262 -* js/rebase-i-allow-drop-on-a-merge (2025-08-06) 1 commit
263 - (merged to 'next' on 2025-08-07 at bc44e9dc1b)
264 - + rebase -i: permit 'drop' of a merge commit
265 -
266 - During interactive rebase, using 'drop' on a merge commit lead to
267 - an error, which was incorrect.
268 -
269 - Will merge to 'master'.
270 - source: <37f6e34c-91aa-4e55-88e1-019d2e042df3@kdbg.org>
271 -
272 -
273 -* ms/refs-list (2025-08-05) 6 commits
274 - (merged to 'next' on 2025-08-13 at 3f0791145b)
275 - + t: add test for git refs list subcommand
276 - + t6300: refactor tests to be shareable
277 - + builtin/refs: add list subcommand
278 - + builtin/for-each-ref: factor out core logic into a helper
279 - + builtin/for-each-ref: align usage string with the man page
280 - + doc: factor out common option
281 -
282 - The "list" subcommand of "git refs" acts as a front-end for
283 - "git for-each-ref".
284 -
285 - Will merge to 'master'.
286 - source: <20250805092758.5321-1-meetsoni3017@gmail.com>
287 -
288 -
289 -* kh/doc-git-log-markup-fix (2025-08-08) 1 commit
290 - (merged to 'next' on 2025-08-12 at 1336146ed4)
291 - + doc: git-log: fix description list
292 -
293 - Doc update.
294 -
295 - Will merge to 'master'.
296 - source: <aaa1734189ec8bab7cfa0965132e3d8e5909b1af.1754660514.git.code@khaugsbakk.name>
297 -
298 -
299 -* ly/changed-path-traversal-with-magic-pathspec (2025-08-10) 1 commit
300 - (merged to 'next' on 2025-08-12 at 0f929dcec7)
301 - + bloom: enable bloom filter with wildcard pathspec in revision traversal
302 -
303 - Revision traversal limited with pathspec, like "git log dir/*",
304 - used to ignore changed-paths Bloom filter when the pathspec
305 - contained wildcards; now they take advantage of the filter when
306 - they can.
307 -
308 - Will merge to 'master'.
309 - source: <20250811060137.75135-1-yldhome2d2@gmail.com>
310 -
311 -
517 * ps/commit-graph-wo-globals (2025-08-14) 6 commits
518 (merged to 'next' on 2025-08-17 at e2889596be)
519 + commit-graph: stop passing in redundant repository
@@ -336,31 +541,6 @@ Release tarballs are available at:
541 source: <20250804073002.1586332-1-toon@iotcl.com>
542
543
339 -* gh/git-jump-pathname-with-sp (2025-08-11) 1 commit
340 - (merged to 'next' on 2025-08-13 at a99311e231)
341 - + git-jump: make `diff` work with filenames containing spaces
342 -
343 - "git jump" (in contrib/) fails to parse the diff header correctly
344 - when a file has a space in its name, which has been corrected.
345 -
346 - Will merge to 'master'.
347 - source: <pull.1950.v2.git.1754913323810.gitgitgadget@gmail.com>
348 -
349 -
350 -* jc/diff-no-index-in-subdir (2025-08-09) 1 commit
351 - (merged to 'next' on 2025-08-13 at 956899dc16)
352 - + diff: --no-index should ignore the worktree
353 -
354 - "git diff --no-index" run inside a subdirectory under control of a
355 - Git repository operated at the top of the working tree and stripped
356 - the prefix from the output, and oddballs like "-" (stdin) did not
357 - work correctly because of it. Correct the set-up by undoing what
358 - the set-up sequence did to cwd and prefix.
359 -
360 - Will merge to 'master'.
361 - source: <xmqq1ppk58ob.fsf@gitster.g>
362 -
363 -
544 * je/doc-rebase (2025-08-15) 5 commits
545 - doc: git-rebase: update discussion of internals
546 - doc: git-rebase: move --onto explanation down
@@ -370,33 +550,25 @@ Release tarballs are available at:
550
551 Documentation for "git rebase" has been updated.
552
373 - Will merge to 'next'?
553 + Expecting a reroll.
554 + cf. <106c4a6c-9239-4c67-8bed-5ec2c0987f21@app.fastmail.com>
555 source: <pull.1949.v8.git.1755276750.gitgitgadget@gmail.com>
556
557
377 -* rj/t6137-cygwin-fix (2025-08-08) 1 commit
378 - (merged to 'next' on 2025-08-12 at f5acbbb35a)
379 - + t6137-*.sh: fix test failure on cygwin
380 -
381 - Test fix for breakage introduced in Git 2.50.
382 -
383 - Will merge to 'master'.
384 - source: <5514f2fd-3307-42c8-97ac-bc2147a7ba41@ramsayjones.plus.com>
385 -
386 -
558 * ps/reftable-libgit2-cleanup (2025-08-12) 8 commits
388 - - refs/reftable: always reload stacks when creating lock
389 - - reftable: don't second-guess errors from flock interface
390 - - reftable/stack: handle outdated stacks when compacting
391 - - reftable/stack: allow passing flags to `reftable_stack_add()`
392 - - reftable/stack: fix compiler warning due to missing braces
393 - - reftable/stack: reorder code to avoid forward declarations
394 - - reftable/writer: drop Git-specific `QSORT()` macro
395 - - reftable/writer: fix type used for number of records
559 + (merged to 'next' on 2025-08-21 at ff82e3fa11)
560 + + refs/reftable: always reload stacks when creating lock
561 + + reftable: don't second-guess errors from flock interface
562 + + reftable/stack: handle outdated stacks when compacting
563 + + reftable/stack: allow passing flags to `reftable_stack_add()`
564 + + reftable/stack: fix compiler warning due to missing braces
565 + + reftable/stack: reorder code to avoid forward declarations
566 + + reftable/writer: drop Git-specific `QSORT()` macro
567 + + reftable/writer: fix type used for number of records
568
569 Code clean-ups.
570
399 - Will merge to 'next'?
571 + Will merge to 'master'.
572 source: <20250812-pks-reftable-fixes-for-libgit2-v3-0-cf3b2267867e@pks.im>
573
574
@@ -417,7 +589,6 @@ Release tarballs are available at:
589 + builtin: also setup gently for --help-all
590 + parse-options: refactor flags for usage_with_options_internal
591 + Merge branch 'ua/t1517-short-help-tests' into dk/help-all
420 - (this branch uses ua/t1517-short-help-tests.)
592
593 "git cmd --help-all" outside repository.
594
@@ -434,30 +605,6 @@ Release tarballs are available at:
605 source: <20250803150059.402017-1-me@linux.beauty>
606
607
437 -* ly/diff-name-only-with-diff-from-content (2025-08-07) 1 commit
438 - (merged to 'next' on 2025-08-13 at 662b1ed5c5)
439 - + diff: ensure consistent diff behavior with ignore options
440 -
441 - Various options to "git diff" that makes comparison ignore certain
442 - aspects of the differences (like "space changes are ignored",
443 - "differences in lines that match these regular expressions are
444 - ignored") did not work well with "--name-only" and friends.
445 -
446 - Will merge to 'master'.
447 - source: <20250808033019.78817-1-yldhome2d2@gmail.com>
448 -
449 -
450 -* rs/describe-with-prio-queue (2025-08-03) 2 commits
451 - (merged to 'next' on 2025-08-07 at 5ebcaaf8b8)
452 - + describe: use prio_queue_replace()
453 - + describe: use prio_queue
454 -
455 - "git describe" has been optimized by using better data structure.
456 -
457 - Will merge to 'master'.
458 - source: <36d5b59a-a99a-4a6f-b637-dfb0b760660f@web.de>
459 -
460 -
608 * ps/object-store-midx-dedup-info (2025-08-11) 11 commits
609 - midx: compute paths via their source
610 - midx: stop duplicating info redundant with its owning source
@@ -473,55 +620,11 @@ Release tarballs are available at:
620
621 Further code clean-up for multi-pack-index code paths.
622
476 - Will merge to 'next'?
623 + Comments?
624 + cf. <aKbFNq_pLasQGjbc@pks.im>
625 source: <20250811-b4-pks-midx-deduplicate-source-info-v3-0-e442bdf2b4ad@pks.im>
626
627
480 -* jc/strbuf-split (2025-07-31) 13 commits
481 - (merged to 'next' on 2025-08-11 at ddf662f7e9)
482 - + trace2: do not use strbuf_split*()
483 - + trace2: trim_trailing_newline followed by trim is a no-op
484 - + sub-process: do not use strbuf_split*()
485 - + environment: do not use strbuf_split*()
486 - + config: do not use strbuf_split()
487 - + notes: do not use strbuf_split*()
488 - + merge-tree: do not use strbuf_split*()
489 - + clean: do not use strbuf_split*() [part 2]
490 - + clean: do not pass the whole structure when it is not necessary
491 - + clean: do not use strbuf_split*() [part 1]
492 - + clean: do not pass strbuf by value
493 - + wt-status: avoid strbuf_split*()
494 - + Merge branch 'jc/string-list-split' into jc/strbuf-split
495 - (this branch uses jc/string-list-split.)
496 -
497 - Arrays of strbuf is often a wrong data structure to use, and
498 - strbuf_split*() family of functions that create them often have
499 - better alternatives.
500 -
501 - Update several code paths and replace strbuf_split*().
502 -
503 - Will merge to 'master'.
504 - source: <20250731225433.4028872-1-gitster@pobox.com>
505 -
506 -
507 -* jc/string-list-split (2025-08-01) 7 commits
508 - (merged to 'next' on 2025-08-11 at 160ff9d174)
509 - + string-list: split-then-remove-empty can be done while splitting
510 - + string-list: optionally omit empty string pieces in string_list_split*()
511 - + diff: simplify parsing of diff.colormovedws
512 - + string-list: optionally trim string pieces split by string_list_split*()
513 - + string-list: unify string_list_split* functions
514 - + string-list: align string_list_split() with its _in_place() counterpart
515 - + string-list: report programming error with BUG
516 - (this branch is used by jc/strbuf-split.)
517 -
518 - string_list_split*() family of functions have been extended to
519 - simplify common use cases.
520 -
521 - Will merge to 'master'.
522 - source: <20250801220423.1230969-1-gitster@pobox.com>
523 -
524 -
628 * am/xdiff-hash-tweak (2025-07-28) 2 commits
629 - xdiff: optimize xdl_hash_record_verbatim
630 - xdiff: refactor xdl_hash_record()
@@ -535,25 +638,6 @@ Release tarballs are available at:
638 source: <20250728190520.10962-1-amonakov@ispras.ru>
639
640
538 -* ps/remote-rename-fix (2025-07-31) 7 commits
539 - (merged to 'next' on 2025-08-07 at 227d2faf29)
540 - + builtin/remote: only iterate through refs that are to be renamed
541 - + builtin/remote: rework how remote refs get renamed
542 - + builtin/remote: determine whether refs need renaming early on
543 - + builtin/remote: fix sign comparison warnings
544 - + refs: simplify logic when migrating reflog entries
545 - + refs: pass refname when invoking reflog entry callback
546 - + Merge branch 'ps/reflog-migrate-fixes' into ps/remote-rename-fix
547 - (this branch uses ps/reflog-migrate-fixes.)
548 -
549 - "git remote rename origin upstream" failed to move origin/HEAD to
550 - upstream/HEAD when origin/HEAD is unborn and performed other
551 - renames extremely inefficiently, which has been corrected.
552 -
553 - Will merge to 'master'.
554 - source: <20250731-pks-remote-rename-improvements-v2-0-dda6f083674d@pks.im>
555 -
556 -
641 * ag/send-email-imap-sent (2025-08-11) 2 commits
642 - send-email: enable copying emails to an IMAP folder without actually sending them
643 - send-email: add ability to send a copy of sent emails to an IMAP folder
@@ -565,43 +649,6 @@ Release tarballs are available at:
649 source: <PN3PR01MB9597E8E33868386C997D2563B82BA@PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM>
650
651
568 -* en/ort-rename-fixes (2025-08-06) 7 commits
569 - (merged to 'next' on 2025-08-12 at 02536ed675)
570 - + merge-ort: fix directory rename on top of source of other rename/delete
571 - + merge-ort: fix incorrect file handling
572 - + merge-ort: clarify the interning of strings in opt->priv->path
573 - + t6423: fix missed staging of file in testcases 12i,12j,12k
574 - + t6423: document two bugs with rename-to-self testcases
575 - + merge-ort: drop unnecessary temporary in check_for_directory_rename()
576 - + merge-ort: update comments to modern testfile location
577 -
578 - Various bugs about rename handling in "ort" merge strategy have
579 - been fixed.
580 -
581 - Will merge to 'master'.
582 - source: <pull.1943.v3.git.1754522122.gitgitgadget@gmail.com>
583 -
584 -
585 -* ps/reflog-migrate-fixes (2025-08-05) 9 commits
586 - (merged to 'next' on 2025-08-07 at 8068e2ad68)
587 - + refs: fix invalid old object IDs when migrating reflogs
588 - + refs: stop unsetting REF_HAVE_OLD for log-only updates
589 - + refs/files: detect race when generating reflog entry for HEAD
590 - + refs: fix identity for migrated reflogs
591 - + ident: fix type of string length parameter
592 - + builtin/reflog: implement subcommand to write new entries
593 - + refs: export `ref_transaction_update_reflog()`
594 - + builtin/reflog: improve grouping of subcommands
595 - + Documentation/git-reflog: convert to use synopsis type
596 - (this branch is used by jk/no-clobber-dangling-symref-with-fetch and ps/remote-rename-fix.)
597 -
598 - "git refs migrate" to migrate the reflog entries from a refs
599 - backend to another had a handful of bugs squashed.
600 -
601 - Will merge to 'master'.
602 - source: <20250806-pks-reflog-append-v6-0-a50839653766@pks.im>
603 -
604 -
652 * ds/sparse-checkout-clean (2025-07-16) 9 commits
653 - sparse-checkout: make 'clean' clear more files
654 - t: expand tests around sparse merges and clean
@@ -636,19 +683,6 @@ Release tarballs are available at:
683 source: <cover.1753975294.git.phillip.wood@dunelm.org.uk>
684
685
639 -* ua/t1517-short-help-tests (2025-08-07) 3 commits
640 - (merged to 'next' on 2025-08-12 at 55d20e1985)
641 - + t5304: move `prune -h` test from t1517
642 - + t5200: move `update-server-info -h` test from t1517
643 - + t/t1517: automate `git subcmd -h` tests outside a repository
644 - (this branch is used by ad/t1517-short-help-tests-fix and dk/help-all.)
645 -
646 - Test shuffling.
647 -
648 - Will merge to 'master'.
649 - source: <20250808010651.591906-1-usmanakinyemi202@gmail.com>
650 -
651 -
686 * tc/last-modified (2025-08-05) 4 commits
687 - fixup! last-modified: new subcommand to show when files were last modified
688 - last-modified: use Bloom filters when available
@@ -667,6 +701,7 @@ Release tarballs are available at:
701 + repo: add the field layout.bare
702 + repo: add the field references.format
703 + repo: declare the repo command
704 + (this branch is used by lo/repo-info-step-2.)
705
706 A new subcommand "git repo" gives users a way to grab various
707 repository characteristics.