What's cooking (2026/07 #13)
Junio C Hamano committed
Jul 29, 2026 at 11:56 UTC
6ac7389b54b574f1b0aeeaf122e1020a2548fbaa
1 file changed
+468
-335
whats-cooking.txt
+468
-335
index 709d0e53d1..74c2217250 100644
--- a/whats-cooking.txt
+++ b/whats-cooking.txt
@@ -1,10 +1,10 @@
To: git@vger.kernel.org
-Subject: What's cooking in git.git (Jul 2026, #12)
-X-master-at: 9a0c4701dcd5725c4184599322b52933ff5005ca
-X-next-at: 244d577d9305226b47fecda6f8d041ceb0ff9aa4
+Subject: What's cooking in git.git (Jul 2026, #13)
+X-master-at: 13c7afec212fc97ce257d15601659314c6673d6c
+X-next-at: 250fe7f19410a4727d35b49738074248c2348aa6
Bcc: lwn@lwn.net, gitster@pobox.com
-What's cooking in git.git (Jul 2026, #12)
+What's cooking in git.git (Jul 2026, #13)
-----------------------------------------
Here are the topics that have been cooking in my tree. Commits
@@ -17,7 +17,7 @@ A topic without enough support may be discarded after a long period
of no activity (of course, it can be resubmitted when new interest
arises).
-The seventh batch of topics have now graduated to the 'master' branch.
+The 8th batch of topics have now graduated to the 'master' branch.
Copies of the source code to Git live in many repositories, and the
following is a list of the ones I push into or their mirrors. Some
@@ -48,92 +48,304 @@ Release tarballs are available at:
https://www.kernel.org/pub/software/scm/git/
--------------------------------------------------
-[New Topics]
+[Graduated to 'master']
-* jc/remote-insteadof-leakfix (2026-07-25) 1 commit
- - remote: plug memory leaks
+* bc/rust-hash-cleanups (2026-07-18) 2 commits
+ (merged to 'next' on 2026-07-21 at 51627468a0)
+ + rust: discard hash context when finished
+ + hash: initialize context before cloning
- rewrites_release() in 'remote.c' has been updated to free 'struct
- rewrite' instances and their '.instead_of' arrays, and their contents.
+ A few memory problems in the Rust interface to C hash functions have
+ been corrected. The 'Clone' implementation of 'CryptoHasher' now
+ properly initializes the context before cloning, and its 'Drop'
+ implementation now discards the context to prevent leaks.
- Will merge to 'next'.
- cf. <20260725161819.GA2343104@coredump.intra.peff.net>
- source: <xmqqpl0b12gj.fsf@gitster.g>
+ Graduated to 'master'.
+ cf. <20260719080754.GA429688@coredump.intra.peff.net>
+ source: <20260719010842.17991-1-sandals@crustytoothpaste.net>
-* tb/pack-with-duplicates (2026-07-24) 5 commits
- - pack-bitmap: handle duplicate pack entries during MIDX reuse
- - test-tool bitmap: reject packs with duplicate objects
- - midx: verify duplicate pack entries by OID and offset
- - packfile: recover delta cycles through duplicate entries
- - t5308: test reverse indexes with duplicate objects
+* jc/submodule-helper-avoid-zu (2026-07-15) 1 commit
+ (merged to 'next' on 2026-07-19 at b12d5d76f5)
+ + submodule--helper: avoid use of %zu for now
- The handling of packfiles with duplicate object entries has been
- hardened. Specifically, reverse index lookup, delta cycle
- recovery, multi-pack-index verification, and pack reuse paths have
- been updated to correctly handle or gracefully reject duplicate
- entries.
+ An accidental use of the '%zu' format specifier in 'git
+ submodule--helper' has been corrected to use 'PRIuMAX' and cast the
+ value to 'uintmax_t' to avoid portability issues.
- Needs review.
- cf. <xmqqecgs3vg6.fsf@gitster.g>
- source: <cover.1784927134.git.ttaylorr@openai.com>
+ Graduated to 'master'.
+ source: <xmqq4ii0ko9t.fsf@gitster.g>
-* ps/cat-file-remote-object-info-type (2026-07-25) 6 commits
- - cat-file: unify default format
- - serve: advertise type capability
- - fetch-object-info: request all supported options dynamically
- - fetch-object-info: parse type from server response
- - protocol-caps: add type support to object-info
- - Merge branch 'ps/cat-file-remote-object-info' into ps/cat-file-remote-object-info-type
- (this branch uses ps/cat-file-remote-object-info.)
+* ps/copy-wo-the-repository (2026-07-16) 1 commit
+ (merged to 'next' on 2026-07-20 at 9e38da0efc)
+ + copy: drop dependency on `the_repository`
- The 'remote-object-info' command for 'git cat-file --batch-command'
- has been extended to support the '%(objecttype)' placeholder.
+ The copy_file() and copy_file_with_time() functions have been
+ refactored to take a repository parameter, allowing the removal of the
+ implicit dependency on the global 'the_repository' variable in
+ 'copy.c'.
+
+ Graduated to 'master'.
+ cf. <b0df688a-3b26-48f6-8b1c-98530483885e@gmail.com>
+ cf. <xmqqo6g54k7m.fsf@gitster.g>
+ source: <20260716-pks-copy-wo-the-repository-v2-1-8f5e32942929@pks.im>
+
+
+* ps/refs-wo-the-repository (2026-07-15) 7 commits
+ (merged to 'next' on 2026-07-19 at 12685f410c)
+ + refs: remove remaining uses of `the_repository`
+ + worktree: pass repository to public functions
+ + worktree: pass repository to file-local functions
+ + worktree: refactor code to use available repositories
+ + refs/files: drop `USE_THE_REPOSITORY_VARIABLE`
+ + refs/packed: de-globalize handling of "core.packedRefsTimeout"
+ + Merge branch 'ps/refs-writing-subcommands' into ps/refs-wo-the-repository
+
+ The ref subsystem and the worktree API have been refactored to pass a
+ repository pointer down the call chain, allowing them to drop
+ references to the global 'the_repository' variable. As part of this,
+ the handling of the 'core.packedRefsTimeout' configuration has been
+ moved into the per-repository ref store structure.
+
+ Graduated to 'master'.
+ source: <20260716-pks-refs-wo-the-repository-v3-0-db0a804e0224@pks.im>
+
+
+* ps/refspec-wo-the-repository (2026-07-16) 3 commits
+ (merged to 'next' on 2026-07-20 at 31044c3fc9)
+ + refspec: stop depending on `the_repository`
+ + refspec: let callers pass in hash algorithm when parsing items
+ + refspec: group related structures and functions
+
+ The dependency on the global 'the_repository' variable in the
+ 'refspec.c' API has been removed by passing the hash algorithm
+ explicitly to refspec-parsing functions and storing it in 'struct
+ refspec'.
+
+ Graduated to 'master'.
+ source: <20260716-pks-refspec-wo-the-repository-v1-0-aa40844d067f@pks.im>
+
+
+* ps/shift-root-in-graph (2026-07-14) 7 commits
+ (merged to 'next' on 2026-07-19 at bebf13a239)
+ + graph: add --[no-]graph-indent and log.graphIndent
+ + graph: move config reading into graph_read_config()
+ + graph: wrap cascading commits after 4 columns
+ + graph: indent visual root in graph
+ + graph: add a 2 commit buffer for lookahead
+ + revision: add next_commit_to_show()
+ + lib-log-graph: move check_graph function
+
+ 'git log --graph' has been modified to visually distinguish parentless
+ 'root' commits (and commits that become roots due to history
+ simplification) by indenting them, preventing them from appearing
+ falsely related to unrelated commits rendered immediately above them.
+
+ Graduated to 'master'.
+ cf. <CA+J6zkQNzEAhhY74qDrOwfFVrshEF7YFxWRRkwE3ttJo15ZbAg@mail.gmail.com>
+ source: <20260714-ps-pre-commit-indent-v12-0-d50938e006df@gmail.com>
+
+
+* pw/rebase-drop-notes-with-commit (2026-07-15) 9 commits
+ (merged to 'next' on 2026-07-20 at 5475c9f935)
+ + sequencer: do not record dropped commits as rewritten
+ + sequencer: use an enum to represent result of picking a commit
+ + sequencer: simplify pick_one_commit()
+ + sequencer: remove unnecessary condition in pick_one_commit()
+ + sequencer: simplify handling of fixup with conflicts
+ + sequencer: remove unnecessary "or" in pick_one_commit()
+ + sequencer: never reschedule on failed commit
+ + sequencer: be more careful with external merge
+ + t3400: restore coverage for note copying with apply backend
+
+ The rebase post-rewrite notes-copying logic has been corrected. When
+ a commit is dropped during rebase (e.g., because its changes are
+ already upstream), it is no longer recorded as rewritten, preventing
+ its notes from being copied to an unrelated commit.
+
+ Graduated to 'master'.
+ cf. <xmqqy0f5d25g.fsf@gitster.g>
+ source: <cover.1784128921.git.phillip.wood@dunelm.org.uk>
+
+
+* rs/remote-curl-simplify-push-specs (2026-07-14) 1 commit
+ (merged to 'next' on 2026-07-19 at ff1b5528ba)
+ + remote-curl: simplify passing of push specs
+
+ The passing of push destination specifications in the 'remote-curl'
+ helper has been simplified by removing the explicit 'count' parameter
+ and relying on the NULL-termination of the array.
+
+ Graduated to 'master'.
+ source: <935883f3-3be4-4c51-9711-5208b9ef9ca1@web.de>
+
+
+* sc/wt-status-avoid-quadratic-insertion (2026-07-18) 1 commit
+ (merged to 'next' on 2026-07-20 at 9330d42a4a)
+ + wt-status: avoid repeated insertion for untracked paths
+
+ The enumeration of untracked and ignored files in 'git status' has
+ been optimized by avoiding quadratic complexity when inserting into
+ string lists, reducing the construction cost from O(n^2) to O(n log
+ n).
+
+ Graduated to 'master'.
+ cf. <20260718083828.GE22588@coredump.intra.peff.net>
+ source: <20260718081449.26747-1-sahityajb@gmail.com>
+
+
+* td/ref-filter-memoize-contains (2026-06-12) 3 commits
+ (merged to 'next' on 2026-07-19 at 5b640e33a1)
+ + commit-reach: die on contains walk errors
+ + ref-filter: memoize --contains with generations
+ + commit-reach: reject cycles in contains walk
+
+ 'git branch --contains' and 'git for-each-ref --contains' have been
+ optimized to use the memoized commit traversal previously used only by
+ 'git tag --contains', significantly speeding up connectivity checks
+ across many candidate refs with shared history.
+
+ Graduated to 'master'.
+ cf. <20260716091924.GB1212956@coredump.intra.peff.net>
+ source: <20260612-ref-filter-memoized-contains-v4-0-5ed39fd001dd@gmail.com>
+
+--------------------------------------------------
+[New Topics]
+
+* sk/test-commit-body-helper (2026-07-27) 2 commits
+ - t: use commit_body to extract commit message bodies
+ - test-lib-functions: add commit_body helper
+
+ A new test helper commit_body() has been introduced to print the
+ message body of a commit, and various tests have been updated to use
+ it instead of spelling out the command pipeline manually and losing
+ the exit status of the 'git cat-file' command on the upstream of the
+ pipe.
Needs review.
- source: <20260725-objecttype-support-v1-0-2d4ca3bbabf1@gmail.com>
+ cf. <xmqqldawq24y.fsf@gitster.g>
+ source: <20260727095656.75496-1-diy2903@gmail.com>
-* rs/branch-delete-bisect-warning (2026-07-25) 1 commit
- - branch: report active bisect run when rejecting delete
+* jk/cat-file-batch-wo-type-fix (2026-07-28) 1 commit
+ - cat-file: handle content request for --batch-command without type
- 'git branch -d' learned to report when a branch cannot be deleted
- because it is being used in an active bisect run.
+ "git cat-file --batch-command" that asked for 'contents' without
+ 'type' segfaults, which has been corrected.
Will merge to 'next'?
- cf. <xmqqbjbtyd80.fsf@gitster.g>
- source: <590382fb-731b-4e14-911e-ff68356d1082@web.de>
+ cf. <xmqqjyqfdnie.fsf@gitster.g>
+ source: <20260728150031.GA41931@coredump.intra.peff.net>
-* jk/ci-static-analysis-image-bump (2026-07-26) 2 commits
- - ci: bump ubuntu image version for static-analysis job
- - bloom: silence CHECK_ASSERTION_SIDE_EFFECTS false positive
+* tc/merge-default-to-upstream-leakfix (2026-07-28) 1 commit
+ - merge: fix leak with merge.defaultToUpstream
- The image version used by the static-analysis CI job has been bumped
- to ubuntu-latest (Ubuntu 24.04), which brings in a newer Coccinelle
- version that resolves a severe performance regression. A false
- positive warning from the CHECK_ASSERTION_SIDE_EFFECTS build with
- GCC 15 in the Bloom filter code has also been silenced to facilitate
- the image upgrade.
+ Leakfix.
Will merge to 'next'?
- cf. <xmqqo6ftvhed.fsf@gitster.g>
- source: <20260726083254.GA3528497@coredump.intra.peff.net>
+ cf. <20260728151959.GC41931@coredump.intra.peff.net>
+ cf. <xmqqfr13dlv8.fsf@gitster.g>
+ source: <20260728-toon-fix-merge-leak-v1-1-d6bd161a3acf@iotcl.com>
-* jk/diff-relative-cached-unmerged-more (2026-07-26) 3 commits
- - diff-lib: skip paths outside prefix in oneway_diff()
- - diff-lib: drop stale comment about advancing o->pos
- - Merge branch 'jk/diff-relative-cached-unmerged' into jk/diff-relative-cached-unmerged-more
- (this branch uses jk/diff-relative-cached-unmerged.)
+* cl/regexec-macos-leak (2026-07-28) 2 commits
+ - SQUASH???
+ - regexec: work around macOS TRE leak on invalid UTF-8
- The code path that deals with relative paths in the diff-lib has
- been cleaned up.
+ A compatibility workaround has been introduced for macOS to address
+ a memory leak in the system regex engine when it encounters invalid
+ multibyte sequences. The workaround segments the input buffer at
+ invalid byte boundaries and searches each valid segment separately
+ using regexec(), avoiding the leaking path.
+
+ Waiting for response.
+ cf. <xmqqse52bpa9.fsf@gitster.g>
+ source: <20260728052538.12429-1-chungmin@chungminlee.com>
+
+
+* dl/pack-bitmap-position-zero (2026-07-28) 1 commit
+ - pack-bitmap: handle objects at bitmap position zero
+
+ A boundary case check in reachability bitmap traversal has been
+ corrected to properly handle the object at position zero, which was
+ previously skipped, leading to redundant bitmap loading.
Will merge to 'next'?
- cf. <xmqqjyqhv7s7.fsf@gitster.g>
- source: <20260726084550.GC2366012@coredump.intra.peff.net>
+ cf. <amk75SuhyHBbx-E8@com-79390>
+ cf. <xmqq5x1yd968.fsf@gitster.g>
+ source: <20260728135248.61304-1-davidlin@stripe.com>
+
+
+* hn/checkout-m-autostash-refine (2026-07-25) 2 commits
+ - checkout -m: refine autostash fallback
+ - sequencer: teach autostash apply to report conflicts
+
+ The autostash fallback in 'git checkout -m' has been refined to only
+ retry when there are local changes. Additionally, a blank line now
+ visually separates autostash conflict advice from the subsequent
+ branch-switch message.
+
+ Needs review.
+ cf. <xmqqwluebuhb.fsf@gitster.g>
+ source: <pull.2364.git.git.1784993669.gitgitgadget@gmail.com>
+
+
+* jk/t0014-dynamic-deprecated-cmds (2026-07-28) 2 commits
+ (merged to 'next' on 2026-07-29 at 39a86632e6)
+ + t0014: generate deprecated command names dynamically
+ + t0014: factor out choice of deprecated commands
+
+ The alias tests in t/t0014-alias.sh have been updated to dynamically
+ query the list of deprecated commands using 'git
+ --list-cmds=deprecated' to avoid test failures when running with
+ WITH_BREAKING_CHANGES in a build directory that contains stale
+ executables of formerly deprecated commands.
+
+ Will merge to 'master'.
+ source: <20260728143653.GB11894@coredump.intra.peff.net>
+
+
+* js/mingw-symlink-net-share-leak (2026-07-28) 1 commit
+ (merged to 'next' on 2026-07-29 at 250fe7f194)
+ + mingw: skip symlink type auto-detection for network share targets
+
+ Git for Windows has been updated to avoid auto-detecting the symlink
+ type if the target path starts with a slash, preventing NTLM
+ credential leaks when checking out repositories with crafted
+ symbolic links pointing to network shares.
+
+ Will merge to 'master'.
+ source: <pull.2189.git.1785239196007.gitgitgadget@gmail.com>
+
+
+* ns/merge-base-is-ancestor-tests (2026-07-25) 1 commit
+ - merge-base: add tests for --is-ancestor
+
+ Tests for 'git merge-base --is-ancestor' have been added to cover
+ exit codes (0 for success, 1 for non-ancestor, 128 for errors) and
+ to ensure it cannot be combined with '--all'.
+
+ Waiting for response.
+ cf. <9a47d529-6195-435b-90a6-e511856f128e@gmail.com>
+ source: <pull.2186.git.1784998828879.gitgitgadget@gmail.com>
+
+
+* jc/add-resolved (2026-07-29) 4 commits
+ - add: introduce '--resolved' option
+ - read-cache: add remove_file_from_index_with_flags()
+ - merge-ll: consolidate conflict marker scanning logic
+ - read-cache: reindent
+
+ 'git add' has been taught a new '--resolved' option to stage
+ conflict-resolved paths, while leaving unrelated local changes
+ unstaged. It scans the unmerged paths for leftover conflict markers
+ and aborts if any are found.
+
+ Will merge to 'next'?
+ cf. <xmqqse51algy.fsf@gitster.g>
+ source: <20260729172524.4022621-1-gitster@pobox.com>
--------------------------------------------------
[Stalled]
@@ -156,9 +368,9 @@ Release tarballs are available at:
geometric repack as usual, while a separate cruft pack is written to
collect unreachable objects.
- Waiting for response for too long, stalled.
- cf. <aj8cvDCMcw+RayyO@nand.local>
- cf. <aj8cOhH6hGVZIFft@nand.local>
+ Waiting for response.
+ cf. <xmqqwlugo4nk.fsf@gitster.g>
+ cf. <e3d2e46443d0b32ce29215563dde04ebcf850679.1782500507.git.me@ttaylorr.com>
source: <cover.1782500507.git.me@ttaylorr.com>
@@ -169,10 +381,8 @@ Release tarballs are available at:
The 'git checkout --track=...' command has been taught to optionally
fetch the branch from the remote that the new branch will work with.
- Will be discarded.
- cf. <xmqq5x37h6fj.fsf@gitster.g>
- cf. <CAL71e4MiijEiM26TKJcOYT7L4pfQeMM_F2oT3U3igP-wOZm2Ag@mail.gmail.com>
- cf. <xmqq8q71clob.fsf@gitster.g>
+ Will discard.
+ cf. <xmqqtsr0tvci.fsf@gitster.g>
source: <pull.2281.v15.git.git.1782338098.gitgitgadget@gmail.com>
@@ -185,8 +395,8 @@ Release tarballs are available at:
the path with a dot, matching standard shell-completion behavior.
Waiting for response, stalled.
- cf. <xmqqbjd37i4y.fsf@gitster.g>
cf. <xmqq4ihpclo8.fsf@gitster.g>
+ cf. <xmqqik71t3nr.fsf@gitster.g>
source: <pull.2311.v3.git.git.1781978156.gitgitgadget@gmail.com>
@@ -207,8 +417,8 @@ Release tarballs are available at:
replace outdated terminology, define key terms upfront, and document
how comment lines in the input are treated.
- Expecting a reroll for too long, stalled.
- cf. <729baf6b-53ea-4e8d-95ab-5935667e66c2@app.fastmail.com>
+ Will discard.
+ cf. <xmqq1pedthkv.fsf@gitster.g>
source: <V3_CV_doc_int-tr_key_format.8a3@msgid.xyz>
@@ -221,22 +431,113 @@ Release tarballs are available at:
Documentation for 'git replay' has been updated to refer to its
configuration variables.
- Waiting for response for too long, stalled.
- cf. <87cxwxofgv.fsf@emacs.iotcl.com>
+ Will discard.
cf. <xmqqv7a5b6n7.fsf@gitster.g>
source: <V3_CV_doc_replay_config.780@msgid.xyz>
--------------------------------------------------
[Cooking]
+* jc/remote-insteadof-leakfix (2026-07-25) 1 commit
+ (merged to 'next' on 2026-07-27 at 8cf88af88b)
+ + remote: plug memory leaks
+
+ rewrites_release() in 'remote.c' has been updated to free 'struct
+ rewrite' instances, their '.instead_of' arrays, and their contents.
+
+ Will merge to 'master'.
+ cf. <20260725161819.GA2343104@coredump.intra.peff.net>
+ source: <xmqqpl0b12gj.fsf@gitster.g>
+
+
+* tb/pack-with-duplicates (2026-07-24) 5 commits
+ - pack-bitmap: handle duplicate pack entries during MIDX reuse
+ - test-tool bitmap: reject packs with duplicate objects
+ - midx: verify duplicate pack entries by OID and offset
+ - packfile: recover delta cycles through duplicate entries
+ - t5308: test reverse indexes with duplicate objects
+
+ The handling of packfiles with duplicate object entries has been
+ hardened. Specifically, reverse index lookup, delta cycle
+ recovery, multi-pack-index verification, and pack reuse paths have
+ been updated to correctly handle or gracefully reject duplicate
+ entries.
+
+ Needs review.
+ cf. <xmqqecgs3vg6.fsf@gitster.g>
+ source: <cover.1784927134.git.ttaylorr@openai.com>
+
+
+* ps/cat-file-remote-object-info-type (2026-07-25) 6 commits
+ - cat-file: unify default format
+ - serve: advertise type capability
+ - fetch-object-info: request all supported options dynamically
+ - fetch-object-info: parse type from server response
+ - protocol-caps: add type support to object-info
+ - Merge branch 'ps/cat-file-remote-object-info' into ps/cat-file-remote-object-info-type
+ (this branch uses ps/cat-file-remote-object-info.)
+
+ The 'remote-object-info' command for 'git cat-file --batch-command'
+ has been extended to support the '%(objecttype)' placeholder.
+
+ Needs review.
+ cf. <xmqqecglajnj.fsf@gitster.g>
+ source: <20260725-objecttype-support-v1-0-2d4ca3bbabf1@gmail.com>
+
+
+* rs/branch-delete-bisect-warning (2026-07-25) 1 commit
+ (merged to 'next' on 2026-07-28 at c0e15e73b6)
+ + branch: report active bisect run when rejecting delete
+
+ 'git branch -d' has been taught to report when a branch cannot be
+ deleted because it is being used in an active bisect run.
+
+ Will merge to 'master'.
+ cf. <xmqqbjbtyd80.fsf@gitster.g>
+ cf. <871pcndynd.fsf@emacs.iotcl.com>
+ source: <590382fb-731b-4e14-911e-ff68356d1082@web.de>
+
+
+* jk/ci-static-analysis-image-bump (2026-07-26) 2 commits
+ (merged to 'next' on 2026-07-29 at 457a175861)
+ + ci: bump ubuntu image version for static-analysis job
+ + bloom: silence CHECK_ASSERTION_SIDE_EFFECTS false positive
+
+ The image version used by the static-analysis CI job has been bumped
+ to ubuntu-latest (Ubuntu 24.04), which brings in a newer Coccinelle
+ version that resolves a severe performance regression. A false
+ positive warning from the CHECK_ASSERTION_SIDE_EFFECTS build with
+ GCC 15 in the Bloom filter code has also been silenced to facilitate
+ the image upgrade.
+
+ Will merge to 'master'.
+ cf. <xmqqo6ftvhed.fsf@gitster.g>
+ source: <20260726083254.GA3528497@coredump.intra.peff.net>
+
+
+* jk/diff-relative-cached-unmerged-more (2026-07-26) 3 commits
+ - diff-lib: skip paths outside prefix in oneway_diff()
+ - diff-lib: drop stale comment about advancing o->pos
+ - Merge branch 'jk/diff-relative-cached-unmerged' into jk/diff-relative-cached-unmerged-more
+ (this branch uses jk/diff-relative-cached-unmerged.)
+
+ The code path that deals with relative paths in the diff-lib has
+ been cleaned up.
+
+ Waiting for review.
+ cf. <xmqqo6frdqy5.fsf@gitster.g>
+ cf. <20260728171249.GA643101@coredump.intra.peff.net>
+ source: <20260726084550.GC2366012@coredump.intra.peff.net>
+
+
* af/clone-revision-v0-segfault-fix (2026-07-24) 1 commit
- - builtin/clone: fix segfault when using --revision with protocol v0
+ (merged to 'next' on 2026-07-27 at 57c0e98bfb)
+ + builtin/clone: fix segfault when using --revision with protocol v0
- 'git clone --revision' talking to a server that does not support
- protocol v2 (falling back to protocol v0) segfaulted, which has
- been corrected.
+ A segfault when 'git clone --revision' talks to a server that does not
+ support protocol v2 (falling back to protocol v0) has been corrected.
- Will merge to 'next'.
+ Will merge to 'master'.
cf. <xmqqldb08jcd.fsf@gitster.g>
source: <20260724124138.666877-1-adrian.friedli@mt.com>
@@ -251,7 +552,8 @@ Release tarballs are available at:
syscall fails has also been improved to name both the source and
the destination.
- Needs review.
+ Waiting for response.
+ cf. <xmqqbjbsgjfu.fsf@gitster.g>
source: <pull.2356.v4.git.git.1785097071.gitgitgadget@gmail.com>
@@ -269,11 +571,10 @@ Release tarballs are available at:
detangled from repository initialization.
Waiting for response.
- cf. <xmqq5x248fk9.fsf@gitster.g>
- cf. <xmqqh5lo6xi2.fsf@gitster.g>
- cf. <xmqq5x246x35.fsf@gitster.g>
- cf. <xmqqfr15v6ba.fsf@gitster.g>
- cf. <xmqqbjbtv5y6.fsf@gitster.g>
+ cf. <amkcNhMTKqWdLXwX@denethor>
+ cf. <amkXcmwzbBYsMgjc@denethor>
+ cf. <amkOb3rvWFUpnT28@denethor>
+ cf. <amkMipjGA_7cwpOR@denethor>
source: <20260724-pks-odb-create-on-disk-v1-0-3b3d265d979b@pks.im>
@@ -300,8 +601,8 @@ Release tarballs are available at:
'rebase.noEdit' can be used to set the default behavior.
Waiting for a response.
- cf. <xmqqldb4xlqa.fsf@gitster.g>
cf. <db7edc66-9b2a-47bc-98db-87d01885cef0@gmail.com>
+ cf. <xmqqse5brq8s.fsf@gitster.g>
source: <20260721140443.1809379-2-hugo@hsal.es>
@@ -323,13 +624,14 @@ Release tarballs are available at:
* en/submodule-insteadof-remote-match (2026-07-22) 1 commit
- - submodule: resolve insteadOf aliases when matching remote
+ (merged to 'next' on 2026-07-27 at a1cbd7aa11)
+ + submodule: resolve insteadOf aliases when matching remote
The remote-matching logic for submodules has been corrected to
resolve 'url.*.insteadOf' aliases before comparing the inventoried
URL from '.gitmodules' with the URLs of configured remotes.
- Will merge to 'next'.
+ Will merge to 'master'.
cf. <xmqqldb05dlo.fsf@gitster.g>
source: <20260723002132.3989727-1-ccjmne@gmail.com>
@@ -369,28 +671,11 @@ Release tarballs are available at:
prevent failures when branch aliases are present.
Waiting for response.
- cf. <5bece313-6ffb-450b-add1-29652b64de10@gmail.com>
- cf. <00e529b6-7ae7-463f-a4b3-0991e9411aba@gmail.com>
- cf. <amSSYagL0jTgzElD@mbp>
- cf. <xmqq7bmhycxq.fsf@gitster.g>
+ cf. <61291144-60da-4e37-83ef-fe09e91c4f51@gmail.com>
+ cf. <xmqqwludan2m.fsf@gitster.g>
source: <pull.2126.v3.git.1784708107.gitgitgadget@gmail.com>
-* bc/rust-hash-cleanups (2026-07-18) 2 commits
- (merged to 'next' on 2026-07-21 at 51627468a0)
- + rust: discard hash context when finished
- + hash: initialize context before cloning
-
- A few memory problems in the Rust interface to C hash functions have
- been corrected. The 'Clone' implementation of 'CryptoHasher' now
- properly initializes the context before cloning, and its 'Drop'
- implementation now discards the context to prevent leaks.
-
- Will merge to 'master'.
- cf. <20260719080754.GA429688@coredump.intra.peff.net>
- source: <20260719010842.17991-1-sandals@crustytoothpaste.net>
-
-
* ja/doc-synopsis-style-yet-more (2026-07-23) 4 commits
- doc: convert git-request-pull synopsis and options to new style
- doc: convert git-send-email synopsis and options to new style
@@ -402,6 +687,7 @@ Release tarballs are available at:
updated to the modern style.
Needs review.
+ cf. <740b24631de2c2aff01dcb461f60121fbd11bfe1.1784841567.git.gitgitgadget@gmail.com>
source: <pull.2185.v2.git.1784841567.gitgitgadget@gmail.com>
@@ -446,7 +732,9 @@ Release tarballs are available at:
root, superproject working tree, object database, etc.), supporting
both absolute and relative path formats.
- Needs review.
+ Waiting for review.
+ cf. <amjUPEgenletgbp5@denethor>
+ cf. <CA+rGoLfJ5Kc_HV7YfJ-y5SpMjb7t7f5ifUKcd=39eTjqzzQF5w@mail.gmail.com>
source: <20260726104343.16933-1-jayatheerthkulkarni2005@gmail.com>
@@ -489,8 +777,9 @@ Release tarballs are available at:
* pw/rebase-fixup-fixes (2026-07-26) 2 commits
- - rebase: remember fixup -c after skipping fixup/squash
- - rebase -i: fix counting of fixups after rebase --skip
+ (merged to 'next' on 2026-07-28 at 736307fae5)
+ + rebase: remember fixup -c after skipping fixup/squash
+ + rebase -i: fix counting of fixups after rebase --skip
Two bugs in how 'git rebase' handles skipped 'fixup' and 'squash'
commands have been fixed. One bug caused an incorrect commit count to
@@ -498,7 +787,8 @@ Release tarballs are available at:
and another prevented the editor from opening when the final command
in a chain containing 'fixup -c' was skipped.
- Will merge to 'next'?
+ Will merge to 'master'.
+ cf. <xmqqtspo3x31.fsf@gitster.g>
cf. <xmqqse55tp1k.fsf@gitster.g>
source: <cover.1785080337.git.phillip.wood@dunelm.org.uk>
@@ -515,23 +805,22 @@ Release tarballs are available at:
wildcard pathspecs are used.
Waiting for a response.
- cf. <20260720094218.GA681989@coredump.intra.peff.net>
- cf. <alvulw2fk67duo8n@com-79390>
+ cf. <20260718083757.GD22588@coredump.intra.peff.net>
+ cf. <xmqqwlut1gzc.fsf@gitster.g>
source: <20260717-toon-speed-up-last-modified-v1-0-410418f18614@iotcl.com>
* hn/bisect-reset-when-found (2026-07-20) 2 commits
- (merged to 'next' on 2026-07-22 at 1dc394ad9b)
- + bisect: add --reset-when-found to leave when done
- + bisect: let bisect_reset() optionally check out quietly
+ - bisect: add --reset-when-found to leave when done
+ - bisect: let bisect_reset() optionally check out quietly
The 'git bisect' command has been taught a
'--reset-when-found[=<where>]' option that tells the command to
automatically run 'git bisect reset' to jump back to the original
state or to the found culprit.
- Will merge to 'master'.
- cf. <xmqqldb5d1d9.fsf@gitster.g>
+ Waiting for response.
+ cf. <faa22968-54ac-4e4f-8324-3326ffb00c5b@kdbg.org>
source: <pull.2335.v3.git.git.1784538619.gitgitgadget@gmail.com>
@@ -554,16 +843,14 @@ Release tarballs are available at:
about unchecked returns.
Waiting for response.
- cf. <alcvmX3b6y92KE4y@pks.im>
- cf. <alcvnm0xiOv5W0w_@pks.im>
- cf. <xmqqldbdqciy.fsf@gitster.g>
- cf. <xmqqh5m1qcfh.fsf@gitster.g>
- cf. <xmqqh5lui6wg.fsf@gitster.g>
cf. <xmqqcxwii6wd.fsf@gitster.g>
+ cf. <alcvnm0xiOv5W0w_@pks.im>
source: <pull.2179.git.1784069325.gitgitgadget@gmail.com>
-* jk/diff-relative-cached-unmerged (2026-07-14) 1 commit
+* jk/diff-relative-cached-unmerged (2026-07-28) 2 commits
+ (merged to 'next' on 2026-07-28 at 1ac873b5f9)
+ + diff-lib: add idx/tree sanity check to oneway_diff
(merged to 'next' on 2026-07-25 at 8829f9b348)
+ diff: ignore unmerged paths outside prefix with --relative --cached
(this branch is used by jk/diff-relative-cached-unmerged-more.)
@@ -573,20 +860,7 @@ Release tarballs are available at:
prefix.
Will merge to 'master'.
- cf. <xmqqjyqwp9jh.fsf@gitster.g>
- source: <20260715060523.GA517940@coredump.intra.peff.net>
-
-
-* jc/submodule-helper-avoid-zu (2026-07-15) 1 commit
- (merged to 'next' on 2026-07-19 at b12d5d76f5)
- + submodule--helper: avoid use of %zu for now
-
- An accidental use of the '%zu' format specifier in 'git
- submodule--helper' has been corrected to use 'PRIuMAX' and cast the
- value to 'uintmax_t' to avoid portability issues.
-
- Will merge to 'master'.
- source: <xmqq4ii0ko9t.fsf@gitster.g>
+ source: <20260728151458.GB41931@coredump.intra.peff.net>
* ds/trace2-tolerate-failed-timestamp (2026-07-15) 1 commit
@@ -598,8 +872,6 @@ Release tarballs are available at:
timestamps in the traces.
Waiting for response.
- cf. <alpXW5U6sndZtgqV@com-79390>
- cf. <c8d443a5-3cfb-4752-8716-cf0d8fadd9d3@gmail.com>
cf. <xmqqzezlhgyo.fsf@gitster.g>
cf. <al4yrXXoZiHLwSvE@com-79390>
source: <pull.2178.git.1784131932489.gitgitgadget@gmail.com>
@@ -614,24 +886,12 @@ Release tarballs are available at:
before the walk reaches it does not prematurely mutate its tracked
line ranges, making it safer for potential lookahead evaluations.
- Waiting for review.
- cf. <xmqqjyqk3w7d.fsf@gitster.g>
- cf. <CAC2QwmKP16cyw0get3hEWP8GjcFkUHB3uXxcQi9hBCCM-B+ECw@mail.gmail.com>
+ Will merge to 'next'?
+ cf. <xmqq8q6wpmuy.fsf@gitster.g>
+ cf. <xmqqcxw8pnsa.fsf@gitster.g>
source: <pull.2169.git.1784143793613.gitgitgadget@gmail.com>
-* rs/remote-curl-simplify-push-specs (2026-07-14) 1 commit
- (merged to 'next' on 2026-07-19 at ff1b5528ba)
- + remote-curl: simplify passing of push specs
-
- The passing of push destination specifications in the 'remote-curl'
- helper has been simplified by removing the explicit 'count' parameter
- and relying on the NULL-termination of the array.
-
- Will merge to 'master'.
- source: <935883f3-3be4-4c51-9711-5208b9ef9ca1@web.de>
-
-
* cc/fast-import-usage (2026-07-16) 7 commits
- fast-import: use struct option for usage string
- fast-import: move command state globals into 'struct fast_import_state'
@@ -647,40 +907,9 @@ Release tarballs are available at:
Waiting for response.
cf. <xmqq4ihyehyb.fsf@gitster.g>
- cf. <xmqqcxwmeiwq.fsf@gitster.g>
source: <20260716165517.433849-1-christian.couder@gmail.com>
-* ps/copy-wo-the-repository (2026-07-16) 1 commit
- (merged to 'next' on 2026-07-20 at 9e38da0efc)
- + copy: drop dependency on `the_repository`
-
- The copy_file() and copy_file_with_time() functions have been
- refactored to take a repository parameter, allowing the removal of the
- implicit dependency on the global 'the_repository' variable in
- 'copy.c'.
-
- Will merge to 'master'.
- cf. <b0df688a-3b26-48f6-8b1c-98530483885e@gmail.com>
- cf. <xmqqo6g54k7m.fsf@gitster.g>
- source: <20260716-pks-copy-wo-the-repository-v2-1-8f5e32942929@pks.im>
-
-
-* ps/refspec-wo-the-repository (2026-07-16) 3 commits
- (merged to 'next' on 2026-07-20 at 31044c3fc9)
- + refspec: stop depending on `the_repository`
- + refspec: let callers pass in hash algorithm when parsing items
- + refspec: group related structures and functions
-
- The dependency on the global 'the_repository' variable in the
- 'refspec.c' API has been removed by passing the hash algorithm
- explicitly to refspec-parsing functions and storing it in 'struct
- refspec'.
-
- Will merge to 'master'.
- source: <20260716-pks-refspec-wo-the-repository-v1-0-aa40844d067f@pks.im>
-
-
* ps/writev (2026-07-16) 5 commits
- fast-import: use writev(3p) to send cat-blob responses
- sideband: use writev(3p) to send pktlines
@@ -695,25 +924,10 @@ Release tarballs are available at:
Waiting for response.
cf. <f8050598-392f-44c9-8d66-0454740a7a12@kdbg.org>
- cf. <a2676ec6-39d5-4220-8549-10a17daec668@hogyros.de>
- cf. <xmqqwluuekbh.fsf@gitster.g>
+ cf. <xmqqo6fso2s8.fsf@gitster.g>
source: <20260716-pks-reintroduce-writev-v1-0-ea9038c884bc@pks.im>
-* sc/wt-status-avoid-quadratic-insertion (2026-07-18) 1 commit
- (merged to 'next' on 2026-07-20 at 9330d42a4a)
- + wt-status: avoid repeated insertion for untracked paths
-
- The enumeration of untracked and ignored files in 'git status' has
- been optimized by avoiding quadratic complexity when inserting into
- string lists, reducing the construction cost from O(n^2) to O(n log
- n).
-
- Will merge to 'master'.
- cf. <20260718083828.GE22588@coredump.intra.peff.net>
- source: <20260718081449.26747-1-sahityajb@gmail.com>
-
-
* tb/send-pack-no-ref-delta (2026-07-12) 4 commits
- send-pack: honor `no-ref-delta` capability
- pack-objects: support reuse with `--no-ref-delta`
@@ -724,12 +938,16 @@ Release tarballs are available at:
encoded packfiles when the other side asks it to.
Needs review.
+ cf. <alQ7WKITYDXfiVn9@com-79390>
source: <alQ7WKITYDXfiVn9@com-79390>
-* tn/packfile-uri-concurrency (2026-07-25) 3 commits
+* tn/packfile-uri-concurrency (2026-07-26) 6 commits
- fetch-pack: accept "pack" output for packfile URIs
+ - http: permit unlinking partial packs on Windows
- http: avoid concurrent appends to partial packs
+ - http: accept HTTP 416 for complete partial packs
+ - http: avoid closing index-pack input twice
- http-fetch: correct --index-pack-arg documentation
Concurrent downloads of packfiles via packfile URIs and dumb HTTP have
@@ -739,11 +957,9 @@ Release tarballs are available at:
'fetch-pack' command has also been updated to tolerate pre-existing
'.keep' files.
- Expecting a reroll.
- cf. <20260726092027.GA3529827@coredump.intra.peff.net>
- cf. <20260726102712.GA3535709@coredump.intra.peff.net>
- cf. <20260726100421.12648-1-tnyman@openai.com>
- source: <cover.1785047139.git.tnyman@openai.com>
+ Needs review.
+ cf. <cover.1785047139.git.tnyman@openai.com>
+ source: <cover.1785111375.git.tnyman@openai.com>
* rs/tempfile-wo-the-repository (2026-07-14) 5 commits
@@ -783,6 +999,7 @@ Release tarballs are available at:
limits, avoiding potential truncation issues on 64-bit Windows.
Needs review.
+ cf. <pull.2175.git.1783615780.gitgitgadget@gmail.com>
source: <pull.2175.git.1783615780.gitgitgadget@gmail.com>
@@ -800,6 +1017,7 @@ Release tarballs are available at:
also fails.
Needs review.
+ cf. <20260716140956.1023740-1-paulius.zaleckas@gmail.com>
source: <20260716140956.1023740-1-paulius.zaleckas@gmail.com>
@@ -811,7 +1029,7 @@ Release tarballs are available at:
to spawn a 'git apply' subprocess.
Needs review.
- cf. <xmqqechab03t.fsf@gitster.g>
+ cf. <20260711061246.58079-1-gatlavishweshwarreddy26@gmail.com>
source: <20260711061246.58079-1-gatlavishweshwarreddy26@gmail.com>
@@ -826,8 +1044,6 @@ Release tarballs are available at:
Ejected due to conflicts with 'pw/rebase-drop-notes-with-commit'.
Waiting for response.
- cf. <690b965e-5f07-4aa4-a64c-96e60a86d73b@gmail.com>
- cf. <xmqqh5m494yh.fsf@gitster.g>
cf. <b4cf8f14-1ffa-4395-bc3e-936538574665@gmail.com>
source: <20260711-fz-autosquash-empty-v3-1-d227b63eb511@gmail.com>
@@ -842,22 +1058,24 @@ Release tarballs are available at:
Apache handles concurrent requests.
Needs review.
+ cf. <pull.2171.v2.git.1783704657.gitgitgadget@gmail.com>
source: <pull.2171.v2.git.1783704657.gitgitgadget@gmail.com>
* ps/odb-pluggable-housekeeping (2026-07-12) 12 commits
- - odb: make optimizations pluggable
- - builtin/gc: fix signedness issues in ODB-related functionality
- - builtin/gc: refactor ODB optimizations to operate on "files" source
- - builtin/gc: introduce `odb_optimize_required()`
- - builtin/gc: move geometric repacking into `odb_optimize()`
- - builtin/gc: introduce object database optimization options
- - builtin/gc: inline config values specific to the "files" backend
- - builtin/gc: make repack arguments self-contained
- - builtin/gc: extract object database optimizations into separate function
- - builtin/gc: move worktree and rerere tasks before object optimizations
- - odb: run "pre-auto-gc" hook for all maintenance tasks
- - t7900: simplify how we check for maintenance tasks
+ (merged to 'next' on 2026-07-28 at 1e622f0e29)
+ + odb: make optimizations pluggable
+ + builtin/gc: fix signedness issues in ODB-related functionality
+ + builtin/gc: refactor ODB optimizations to operate on "files" source
+ + builtin/gc: introduce `odb_optimize_required()`
+ + builtin/gc: move geometric repacking into `odb_optimize()`
+ + builtin/gc: introduce object database optimization options
+ + builtin/gc: inline config values specific to the "files" backend
+ + builtin/gc: make repack arguments self-contained
+ + builtin/gc: extract object database optimizations into separate function
+ + builtin/gc: move worktree and rerere tasks before object optimizations
+ + odb: run "pre-auto-gc" hook for all maintenance tasks
+ + t7900: simplify how we check for maintenance tasks
Object database housekeeping in 'git gc' and 'git maintenance' has
been refactored to be pluggable. The files-backend-specific logic,
@@ -866,34 +1084,11 @@ Release tarballs are available at:
files object database source, enabling future alternative object
database backends to implement their own housekeeping services.
- Waiting for response.
+ Will merge to 'master'.
cf. <xmqqh5m2yhkm.fsf@gitster.g>
- cf. <xmqqwluyyhv1.fsf@gitster.g>
- cf. <amCmwKjbq2aNt8mZ@pks.im>
- cf. <xmqqwluhvhtu.fsf@gitster.g>
source: <20260713-b4-pks-odb-optimize-v2-0-9c2c3ee94b38@pks.im>
-* ps/refs-wo-the-repository (2026-07-15) 7 commits
- (merged to 'next' on 2026-07-19 at 12685f410c)
- + refs: remove remaining uses of `the_repository`
- + worktree: pass repository to public functions
- + worktree: pass repository to file-local functions
- + worktree: refactor code to use available repositories
- + refs/files: drop `USE_THE_REPOSITORY_VARIABLE`
- + refs/packed: de-globalize handling of "core.packedRefsTimeout"
- + Merge branch 'ps/refs-writing-subcommands' into ps/refs-wo-the-repository
-
- The ref subsystem and the worktree API have been refactored to pass a
- repository pointer down the call chain, allowing them to drop
- references to the global 'the_repository' variable. As part of this,
- the handling of the 'core.packedRefsTimeout' configuration has been
- moved into the per-repository ref store structure.
-
- Will merge to 'master'.
- source: <20260716-pks-refs-wo-the-repository-v3-0-db0a804e0224@pks.im>
-
-
* ds/sparse-index-ita-crash (2026-07-06) 1 commit
- sparse-index: avoid crash on intent-to-add entry outside the cone
@@ -902,6 +1097,7 @@ Release tarballs are available at:
fixed by avoiding collapsing such subtrees.
Needs review.
+ cf. <pull.2167.git.1783345853272.gitgitgadget@gmail.com>
source: <pull.2167.git.1783345853272.gitgitgadget@gmail.com>
@@ -941,6 +1137,7 @@ Release tarballs are available at:
the header is ultimately rejected.
Needs review.
+ cf. <20260702041759.51572-1-zhihao.yao@njit.edu>
source: <20260702041759.51572-1-zhihao.yao@njit.edu>
@@ -952,34 +1149,12 @@ Release tarballs are available at:
test_path_is_missing() helper functions instead of raw 'test -[fde]'
commands.
- Waiting for response, stalled.
- cf. <xmqqmrwbsybn.fsf@gitster.g>
+ Waiting for response for too long, stalled.
+ cf. <xmqqik60o22y.fsf@gitster.g>
cf. <akTKHfKPsP3-Rn31@pks.im>
source: <20260630020220.1559190-1-bblima@usp.br>
-* pw/rebase-drop-notes-with-commit (2026-07-15) 9 commits
- (merged to 'next' on 2026-07-20 at 5475c9f935)
- + sequencer: do not record dropped commits as rewritten
- + sequencer: use an enum to represent result of picking a commit
- + sequencer: simplify pick_one_commit()
- + sequencer: remove unnecessary condition in pick_one_commit()
- + sequencer: simplify handling of fixup with conflicts
- + sequencer: remove unnecessary "or" in pick_one_commit()
- + sequencer: never reschedule on failed commit
- + sequencer: be more careful with external merge
- + t3400: restore coverage for note copying with apply backend
-
- The rebase post-rewrite notes-copying logic has been corrected. When
- a commit is dropped during rebase (e.g., because its changes are
- already upstream), it is no longer recorded as rewritten, preventing
- its notes from being copied to an unrelated commit.
-
- Will merge to 'master'.
- cf. <xmqqy0f5d25g.fsf@gitster.g>
- source: <cover.1784128921.git.phillip.wood@dunelm.org.uk>
-
-
* ty/migrate-excludes-file (2026-07-13) 10 commits
(merged to 'next' on 2026-07-23 at 749560a29c)
+ repository: adjust the comment of config_values_private_
@@ -1014,9 +1189,7 @@ Release tarballs are available at:
Ejected for now, as it causes too many evil merges with other topics.
Waiting for response.
- cf. <xmqqqzkx9t95.fsf@gitster.g>
- cf. <xmqqjyqpb96n.fsf@gitster.g>
- cf. <al6Yz_QMlyU1GETv@fruit.crustytoothpaste.net>
+ cf. <xmqqcxxi3eov.fsf@gitster.g>
source: <20260713-pks-libgit-in-subdir-v4-0-696240876eb1@pks.im>
@@ -1035,25 +1208,22 @@ Release tarballs are available at:
the specified range and path.
Needs review.
- cf. <xmqq8q8bpl03.fsf@gitster.g>
source: <pull.2152.v2.git.1782581342.gitgitgadget@gmail.com>
* hn/history-squash (2026-07-20) 5 commits
- (merged to 'next' on 2026-07-23 at 2790c83e45)
- + history: re-edit a squash with every message
- + sequencer: share the squash message marker helpers and flags
- + history: add squash subcommand to fold a range
- + history: give commit_tree_ext a message template
- + history: extract helper for a commit's parent tree
+ - history: re-edit a squash with every message
+ - sequencer: share the squash message marker helpers and flags
+ - history: add squash subcommand to fold a range
+ - history: give commit_tree_ext a message template
+ - history: extract helper for a commit's parent tree
The experimental 'git history' command has been taught a new 'squash'
subcommand to fold a range of commits into a single commit, with any
descendants replayed on top.
- Will merge to 'master'.
- cf. <DK1KIF2OI8IF.11188A3YEQV1C@lfurio.us>
- cf. <DK1KIH6CXW0X.1U2V3GU8L6HB7@lfurio.us>
+ Needs review.
+ cf. <f5f7af53-df3e-4902-b350-8fcf8ccb02ad@gmail.com>
source: <pull.2337.v10.git.git.1784536024.gitgitgadget@gmail.com>
@@ -1069,39 +1239,23 @@ Release tarballs are available at:
logic, and reachability closure for bitmaps was broken.
Needs review.
+ cf. <cover.1781294771.git.me@ttaylorr.com>
source: <cover.1781294771.git.me@ttaylorr.com>
-* td/ref-filter-memoize-contains (2026-06-12) 3 commits
- (merged to 'next' on 2026-07-19 at 5b640e33a1)
- + commit-reach: die on contains walk errors
- + ref-filter: memoize --contains with generations
- + commit-reach: reject cycles in contains walk
-
- 'git branch --contains' and 'git for-each-ref --contains' have been
- optimized to use the memoized commit traversal previously used only by
- 'git tag --contains', significantly speeding up connectivity checks
- across many candidate refs with shared history.
-
- Will merge to 'master'.
- cf. <20260716091924.GB1212956@coredump.intra.peff.net>
- source: <20260612-ref-filter-memoized-contains-v4-0-5ed39fd001dd@gmail.com>
-
-
-* tc/replay-linearize (2026-07-07) 3 commits
- (merged to 'next' on 2026-07-09 at 371c2e9c3b)
- + replay: offer an option to linearize the commit topology
- + replay: resolve the replay base outside pick_regular_commit()
- + replay: add helper to put entry into replayed_commits
+* tc/replay-linearize (2026-07-28) 3 commits
+ - replay: offer an option to linearize the commit topology
+ - replay: resolve the replay base outside pick_regular_commit()
+ - replay: add helper to put entry into replayed_commits
The 'git replay' command has been taught the '--linearize' option to
drop merge commits and linearize the replayed history, mimicking 'git
rebase --no-rebase-merges'.
- On hold, waiting for response from the author.
- cf. <xmqq5x2qz42z.fsf@gitster.g>
- cf. <CABPp-BGzU9KHGF1nipi2HZaa1AiikMKGGaapQzHVH06wO4V1ww@mail.gmail.com>
- source: <20260707-toon-git-replay-drop-merges-v7-0-808ab9b4afa6@iotcl.com>
+ Needs review.
+ Kicked back to 'seen'.
+ cf. <xmqqy0evc6n9.fsf@gitster.g>
+ source: <20260728-toon-git-replay-drop-merges-v8-0-ced11dffe749@iotcl.com>
* ps/cat-file-remote-object-info (2026-07-24) 13 commits
@@ -1151,8 +1305,6 @@ Release tarballs are available at:
while leaving all output formatting (word diff, color, blame, etc.) to
Git's standard pipeline.
- Ejected for now, as it conflicts badly with 'mm/line-log-limited-ops'.
-
Needs review.
source: <pull.2120.v6.git.1785091889.gitgitgadget@gmail.com>
@@ -1183,6 +1335,7 @@ Release tarballs are available at:
--fixup' variations.
Needs review.
+ cf. <cover.1779792311.git.erik@cervined.in>
source: <cover.1779792311.git.erik@cervined.in>
@@ -1199,31 +1352,11 @@ Release tarballs are available at:
to remove local branches that are already merged into their tracked
remote-tracking branches.
- Will merge to 'next'?
- cf. <xmqqy0ez14s9.fsf@gitster.g>
+ Needs review.
+ cf. <1f282ad4-9937-4c95-89d4-70f7a1c883a8@gmail.com>
source: <pull.2285.v23.git.git.1784979136.gitgitgadget@gmail.com>
-* ps/shift-root-in-graph (2026-07-14) 7 commits
- (merged to 'next' on 2026-07-19 at bebf13a239)
- + graph: add --[no-]graph-indent and log.graphIndent
- + graph: move config reading into graph_read_config()
- + graph: wrap cascading commits after 4 columns
- + graph: indent visual root in graph
- + graph: add a 2 commit buffer for lookahead
- + revision: add next_commit_to_show()
- + lib-log-graph: move check_graph function
-
- 'git log --graph' has been modified to visually distinguish parentless
- 'root' commits (and commits that become roots due to history
- simplification) by indenting them, preventing them from appearing
- falsely related to unrelated commits rendered immediately above them.
-
- Will merge to 'master'.
- cf. <CA+J6zkQNzEAhhY74qDrOwfFVrshEF7YFxWRRkwE3ttJo15ZbAg@mail.gmail.com>
- source: <20260714-ps-pre-commit-indent-v12-0-d50938e006df@gmail.com>
-
-
* kk/merge-base-exhaustion (2026-07-11) 11 commits
- commit-reach: remove commit-date ordering fallback
- commit-reach: move min_generation check into paint_queue_get()