]> git.ipfire.org Git - thirdparty/git.git/commitdiff
What's cooking (2026/07 #07)
authorJunio C Hamano <gitster@pobox.com>
Thu, 16 Jul 2026 22:22:24 +0000 (15:22 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 16 Jul 2026 22:22:24 +0000 (15:22 -0700)
whats-cooking.txt

index bf6eeb2dadb408554cc8c3f8e3f5f80329f37e63..a7c0f03d88bdeefe7fa6cf60fd6c3659d677f149 100644 (file)
@@ -1,10 +1,10 @@
 To: git@vger.kernel.org
-Subject: What's cooking in git.git (Jul 2026, #06)
-X-master-at: 55526a18268bbc1ddaf8a6b7850c33d984eac9e9
-X-next-at: 8e2bf96aa5bacd9f277397638fd9823d0be25e88
+Subject: What's cooking in git.git (Jul 2026, #07)
+X-master-at: 44de1520f08d1dfebc3ab2d9f644208eaa5ac925
+X-next-at: 700c83d4f35453396241ab93a8de5d321fb3fa83
 Bcc: lwn@lwn.net, gitster@pobox.com
 
-What's cooking in git.git (Jul 2026, #06)
+What's cooking in git.git (Jul 2026, #07)
 -----------------------------------------
 
 Here are the topics that have been cooking in my tree.  Commits
@@ -51,171 +51,319 @@ Release tarballs are available at:
 --------------------------------------------------
 [Graduated to 'master']
 
-* ad/gpg-strip-cr-before-lf (2026-06-24) 1 commit
-  (merged to 'next' on 2026-07-06 at b099249efd)
- + gpg-interface: fix strip_cr_before_lf to only remove CR before LF
+* jc/history-message-prep-fix (2026-06-29) 1 commit
+  (merged to 'next' on 2026-07-06 at 00534a21ce)
+ + history: streamline message preparation and plug file stream leak
 
- The GPG and SSH signature parsing code has been corrected to strip
- carriage return characters only when they immediately precede line
- feeds, instead of unconditionally stripping all carriage returns.
+ A write file stream resource leak has been fixed as part of a code
+ cleanup.
 
  Graduated to 'master'.
- source: <20260624093618.17456-1-antonio.destefani08@gmail.com>
+ cf. <akO1mhi2u2PntLbt@pks.im>
+ source: <xmqqmrwdxrat.fsf@gitster.g>
 
 
-* hn/branch-push-slip-advice (2026-06-27) 2 commits
-  (merged to 'next' on 2026-07-06 at acdff65ac5)
- + push: suggest <remote> <branch> for a slash slip
- + branch: suggest <remote>/<branch> on upstream slip
+* jk/bloom-leak-fixes (2026-06-30) 3 commits
+  (merged to 'next' on 2026-07-08 at 3b9a1cda3f)
+ + line-log: drop extra copy of range with bloom filters
+ + revision: avoid leaking bloom keyvecs with multiple traversals
+ + bloom: make bloom-filter slab initialization idempotent
 
- When 'git push origin/main' or 'git branch origin main' is run, the
- command is now recognized as a potential typo, and advice has been
added to offer a typo fix.
+ Various memory leaks in the Bloom-filter code paths that are exposed
+ when running tests with the 'GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS=1'
environment variable have been plugged.
 
  Graduated to 'master'.
- cf. <xmqqfr272lq7.fsf@gitster.g>
- source: <pull.2331.v3.git.git.1782583345.gitgitgadget@gmail.com>
+ cf. <b641aed4-ad52-477b-b1d8-9d8e470be46f@gmail.com>
+ cf. <xmqqo6gqobrt.fsf@gitster.g>
+ source: <20260701063538.GA2579765@coredump.intra.peff.net>
 
 
-* jk/format-patch-leakfix (2026-06-29) 2 commits
-  (merged to 'next' on 2026-07-06 at 35aff0d609)
- + format-patch: fix leak of rev_info in prepare_bases()
- + t: move LSan errors from stdout to stderr
+* mg/meson-hook-list-buildfix (2026-07-01) 1 commit
+  (merged to 'next' on 2026-07-08 at 10763a0ebc)
+ + meson: restore hook-list.h to builtin_sources
 
- A memory leak in the '--base' handling of 'git format-patch' has been
- plugged, and the leak reporting of the test suite when running under a
TAP harness has been improved.
+ A racy build failure under Meson has been corrected by ensuring that
+ the generated header file 'hook-list.h' is built before compiling
files in 'builtin_sources' that depend on it.
 
  Graduated to 'master'.
- cf. <akOZy-BygZS8fqPM@pks.im>
- source: <20260630063944.GA3733670@coredump.intra.peff.net>
+ cf. <akZGJP1kVtjBFN_e@pks.im>
+ source: <20260701193928.358825-1-floppym@gentoo.org>
 
 
-* jk/reftable-leakfix (2026-06-28) 1 commit
-  (merged to 'next' on 2026-07-06 at 55ce81f2d5)
- + reftable: fix unlikely leak on API error
+* ps/history-drop (2026-07-01) 11 commits
+  (merged to 'next' on 2026-07-08 at 6fb84708a4)
+ + builtin/history: implement "drop" subcommand
+ + builtin/history: split handling of ref updates into two phases
+ + replay: expose `replay_result_queue_update()`
+ + reset: stop assuming that the caller passes in a clean index
+ + reset: allow the caller to specify the current HEAD object
+ + reset: introduce ability to skip updating HEAD
+ + reset: introduce dry-run mode
+ + reset: modernize flags passed to `reset_working_tree()`
+ + reset: rename `reset_head()`
+ + reset: drop `USE_THE_REPOSITORY_VARIABLE`
+ + read-cache: split out function to drop unmerged entries to stage 0
 
- A memory leak in the 'reftable_writer_new()' initialization function
- has been fixed by delaying the allocation of 'struct reftable_writer'
until after input options are validated.
+ The experimental 'git history' command has been taught a new 'drop'
+ subcommand to remove a commit, with its descendants replayed onto its
parent.
 
  Graduated to 'master'.
- cf. <akIPBJLtPqDjQt-A@pks.im>
- source: <20260628090314.GA661068@coredump.intra.peff.net>
+ cf. <xmqq1pdmprbk.fsf@gitster.g>
+ cf. <CAP8UFD3OAktVQsLuqBNFH2uhEO31PH8ZF3ZT1ZW8k++XE8YLPw@mail.gmail.com>
+ source: <20260701-b4-pks-history-drop-v8-0-19b5cdf1facd@pks.im>
 
 
-* kk/prio-queue-get-put-fusion (2026-06-08) 2 commits
-  (merged to 'next' on 2026-07-06 at aa748c4564)
- + prio-queue: fold lazy_queue into prio_queue for automatic get+put fusion
- + prio-queue: rename .nr to .nr_ and add accessor helpers
- (this branch is used by kk/prio-queue-cascade-sift.)
+* ps/odb-drop-whence (2026-07-02) 7 commits
+  (merged to 'next' on 2026-07-08 at f43ee51cc3)
+ + odb: document object info fields
+ + odb: drop `whence` field from object info
+ + treewide: convert users of `whence` to the new source field
+ + odb: add `source` field to struct object_info_source
+ + odb: make backend-specific fields optional
+ + packfile: thread odb_source_packed through packed_object_info()
+ + Merge branch 'ps/odb-source-packed' into ps/odb-drop-whence
+ (this branch is used by ps/odb-for-each-object-filter.)
+
+ The 'whence' field in 'struct object_info' has been removed.  The
+ backend-specific object information retrieval has been refactored into
+ an opt-in 'struct object_info_source' structure.
+
+ Graduated to 'master'.
+ cf. <xmqqv7b0rmt6.fsf@gitster.g>
+ source: <20260702-b4-pks-odb-drop-whence-v2-0-b0af7468ad95@pks.im>
+
+
+* ps/refs-writing-subcommands (2026-07-06) 5 commits
+  (merged to 'next' on 2026-07-08 at f001147283)
+ + builtin/refs: add "rename" subcommand
+ + builtin/refs: add "create" subcommand
+ + builtin/refs: add "update" subcommand
+ + builtin/refs: add "delete" subcommand
+ + builtin/refs: drop `the_repository`
+ (this branch is used by ps/refs-wo-the-repository.)
 
- The lazy priority queue optimization pattern (deferring actual removal
- in 'prio_queue_get()' to allow get+put fusion) has been folded
- directly into 'prio_queue' itself, speeding up commit traversal
- workflows and simplifying callers.
+ The 'git refs' toolbox has been extended with new 'create', 'delete',
+ 'update', and 'rename' subcommands to create, delete, update, and
+ rename references, respectively.
 
  Graduated to 'master'.
- cf. <xmqqh5mjrbgq.fsf@gitster.g>
- source: <pull.2140.v4.git.1780945851.gitgitgadget@gmail.com>
+ source: <20260706-pks-refs-writing-subcommands-v4-0-d51f6ce7f830@pks.im>
 
 
-* ps/odb-generalize-prepare (2026-06-22) 3 commits
-  (merged to 'next' on 2026-07-06 at 6132517517)
- + odb: introduce `odb_prepare()`
- + odb/source: generalize `reprepare()` callback
- + Merge branch 'ps/odb-source-packed' into ps/odb-generalize-prepare
+* rs/blame-abbrev-marks (2026-07-06) 1 commit
+  (merged to 'next' on 2026-07-08 at e4962bd3d5)
+ + blame: reserve mark column only if necessary
 
- The 'reprepare()' callback for object database sources has been
- generalized into a 'prepare()' callback with an optional flush cache
- flag, and a new 'odb_prepare()' wrapper has been introduced to allow
- pre-opening object database sources.
+ The alignment of commit object name abbreviations in 'git blame'
+ output has been optimized to reserve a column for marks (caret,
+ question mark, or asterisk) only when such marks are actually shown.
 
  Graduated to 'master'.
- cf. <87ik704f1j.fsf@emacs.iotcl.com>
- source: <20260622-b4-pks-odb-generalize-prepare-v1-0-d2a5c5d13144@pks.im>
+ cf. <xmqqzf0397u1.fsf@gitster.g>
+ source: <92991b5e-0667-4315-89d5-1514a5499297@web.de>
 
 --------------------------------------------------
 [New Topics]
 
-* 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`
- - pack-objects: introduce `--no-ref-delta`
- - t/helper: teach pack-deltas to list delta entries
-
- 'git send-pack' has been taught to refrain from sending 'REF_DELTA'
- encoded packfiles when the other side asks it to.
+* js/coverity-unchecked-returns-fix (2026-07-14) 11 commits
+ - bisect: handle dup() failure when redirecting stdout
+ - bisect: check get_terms return at all call sites
+ - bisect: check strbuf_getline_lf return when reading terms
+ - transport-helper: warn when export-marks file cannot be finalized
+ - transport-helper: check dup() return in get_exporter
+ - compat/pread: check initial lseek for errors
+ - last-modified: handle repo_parse_commit() failures
+ - reftable tests: check reftable_table_init_ref_iterator() return
+ - reftable/block: check deflateInit() return value
+ - config: propagate launch_editor() failure in show_editor()
+ - http: die on curl_easy_duphandle failure in get_active_slot
+
+ A handful of code paths have been corrected to check return values
+ from functions like 'curl_easy_duphandle()', 'deflateInit()',
+ 'lseek()', 'dup()', and 'strbuf_getline_lf()', resolving several
+ Coverity warnings about unchecked returns.
+
+ Waiting for response.
+ cf. <xmqqldbdqciy.fsf@gitster.g>
+ cf. <xmqqh5m1qcfh.fsf@gitster.g>
+ cf. <alcvmX3b6y92KE4y@pks.im>
+ cf. <alcvnm0xiOv5W0w_@pks.im>
+ source: <pull.2179.git.1784069325.gitgitgadget@gmail.com>
+
+
+* jk/diff-relative-cached-unmerged (2026-07-14) 1 commit
+ - diff: ignore unmerged paths outside prefix with --relative --cached
+
+ 'git diff --relative' running with '--cached' has been corrected to
+ avoid a segfault when encountering unmerged paths outside the
+ prefix.
 
  Needs review.
- source: <alQ7WKITYDXfiVn9@com-79390>
+ source: <20260715060523.GA517940@coredump.intra.peff.net>
 
 
-* cc/doc-fast-export-synopsis-fix (2026-07-13) 1 commit
- - fast-export: standardize usage string and SYNOPSIS
+* jc/submodule-helper-avoid-zu (2026-07-15) 1 commit
+ - submodule--helper: avoid use of %zu for now
 
- The usage string and SYNOPSIS for 'git fast-export' have been
- standardized to make them consistent with each other and with other
commands.
+ An accidental use of '%zu' format flag in 'git submodule--helper'
+ has been corrected to use 'PRIuMAX' and cast the value to
'uintmax_t', to avoid portability issues.
 
  Will merge to 'next'?
- cf. <alX5Nl8uX4ctVqo3@pks.im>
- source: <20260713124153.245268-1-christian.couder@gmail.com>
+ cf. <87a4rrxg3r.fsf@gentoo.mail-host-address-is-not-set>
+ source: <xmqq4ii0ko9t.fsf@gitster.g>
 
 
-* sk/t1100-modernize (2026-07-14) 2 commits
- - t1100: move creation of expected output into setup test
- t1100: modernize test style
+* sk/t7614-do-not-hide-git-exit-status (2026-07-15) 1 commit
+  (merged to 'next' on 2026-07-16 at 0d143986e7)
+ t7614: avoid hiding git's exit code in a pipe
 
- The test script 't/t1100-commit-tree-options.sh' has been modernized
- by converting test cases to the modern style (using single quotes and
- tab indentation) and moving the creation of the expected file inside
- the setup test so it runs under the protection of the test harness.
+ The test script 't/t7614-merge-signoff.sh' has been updated to avoid
+ suppressing the exit code of 'git' commands in a pipe.
 
- Will merge to 'next'?
- cf. <xmqq4ii1v7x0.fsf@gitster.g>
- source: <20260714122033.61947-1-diy2903@gmail.com>
+ Will merge to 'master'.
+ cf. <xmqq1pd4m4ea.fsf@gitster.g>
+ source: <20260715113344.3490-1-diy2903@gmail.com>
 
 
-* tn/packfile-uri-concurrency (2026-07-13) 2 commits
- - fetch-pack: accept "pack" output for packfile URIs
- - http: use unique tempfiles for packfile URI downloads
+* ds/trace2-tolerate-failed-timestamp (2026-07-15) 1 commit
+ - trace2: tolerate failed timestamp formatting
 
- Concurrent downloads of packfiles via packfile URIs have been
- supported by using unique temporary files, preventing corruption when
- multiple processes fetch the same pack.  The 'fetch-pack' command has
also been updated to tolerate pre-existing '.keep' files.
+ The trace2 telemetry library has been updated to tolerate failures
+ from system calls like 'gettimeofday()' and datetime formatting
+ functions, replacing potential program crashes with blank placeholder
timestamps in the traces.
 
- Expecting a reroll.
- cf. <alaAi4vNwi-KabYV@com-76773>
- source: <alVn-QmK3K91_tkH@com-76773>
+ Needs review.
+ source: <pull.2178.git.1784131932489.gitgitgadget@gmail.com>
 
 
-* rs/strbuf-avoid-redundant-reset (2026-07-14) 1 commit
- - strbuf: avoid redundant reset in strbuf_getwholeline()
+* mm/revision-pure-get-commit-action (2026-07-15) 1 commit
+ - revision: make get_commit_action() a pure predicate
 
- A redundant 'strbuf_reset()' call in the 'HAVE_GETDELIM' path of
- 'strbuf_getwholeline()' has been removed, as 'getdelim()' overwrites
- the buffer and the length is updated afterwards.
+ The 'get_commit_action()' function has been refactored to be a pure
+ predicate by moving the side-effecting line-level log range folding to
+ 'simplify_commit()'.  This ensures that evaluating a commit's action
+ before the walk reaches it does not prematurely mutate its tracked
+ line ranges, making it safer for potential lookahead evaluations.
+
+ Needs review.
+ source: <pull.2169.git.1784143793613.gitgitgadget@gmail.com>
+
+
+* rs/remote-curl-simplify-push-specs (2026-07-14) 1 commit
+ - 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 'next'?
- cf. <xmqq8q7dv82b.fsf@gitster.g>
- source: <d4ffe7fb-f782-4f06-9e3b-f72729d1e225@web.de>
+ cf. <alhr2bb0lUTHtvjO@pks.im>
+ cf. <xmqqpl0nhutx.fsf@gitster.g>
+ source: <935883f3-3be4-4c51-9711-5208b9ef9ca1@web.de>
 
 
-* rs/tempfile-wo-the-repository (2026-07-14) 5 commits
- - use repo_hold_lock_file_for_update{,_mode,_timeout}() with custom repos
- - tempfile: stop using the_repository
- - lockfile: add repo_hold_lock_file_for_update{,_timeout}{,_mode}()
- - refs/packed: use repo_create_tempfile()
- - tempfile: add repo_create_tempfile{,_mode}()
+* js/wincred-fixes (2026-07-16) 2 commits
+  (merged to 'next' on 2026-07-16 at 8c5927f06f)
+ + wincred: prevent silent credential loss when storing OAuth tokens
+ + wincred: avoid memory corruption when erasing a credential
 
- The tempfile and lockfile APIs have been refactored to stop depending
- on the 'the_repository' global variable, and their callers have been
- updated to use the repository-aware variants.
+ The wincred credential helper has been updated to avoid memory
+ corruption when erasing credentials and to prevent silent
+ credential loss when storing OAuth tokens, by correcting buffer
+ allocations and arguments passed to safe-CRT APIs.
+
+ Will merge to 'master'.
+ source: <pull.2182.git.1784212072.gitgitgadget@gmail.com>
+
+
+* kk/no-walk-pathspec-fix (2026-07-16) 2 commits
+ - revision: fix --no-walk path filtering regression
+ - Merge branch 'kk/streaming-walk-pqueue' into kk/no-walk-pathspec-fix
+
+ The 'git rev-list --no-walk' command lost pathspec filtering when the
+ streaming walk was refactored, which has been corrected.
+
+ Will merge to 'next'.
+ source: <pull.2181.git.1784198879711.gitgitgadget@gmail.com>
+
+
+* 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'
+ - fast-import: introduce 'struct fast_import_state'
+ - fast-import: localize 'i' into the 'for' loops using it
+ - api-parse-options.adoc: document hidden and OPT_*_F option macros
+ - api-parse-options.adoc: document per-option flags
+ - parse-options: introduce OPT_HIDDEN_GROUP
+
+ The usage string of 'git fast-import' has been updated to use the
+ 'parse_options' API for displaying help, and its SYNOPSIS in the
+ documentation has been standardized to match.
 
  Needs review.
- source: <20260714175956.54601-1-l.s.r@web.de>
+ 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
+ - 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'.
+
+ Needs review.
+ source: <20260716-pks-copy-wo-the-repository-v2-1-8f5e32942929@pks.im>
+
+
+* ps/refspec-wo-the-repository (2026-07-16) 3 commits
+ - 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'.
+
+ Needs review.
+ 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
+ - wrapper: properly handle MAX_IO_SIZE in writev(3p)
+ - wrapper: introduce writev(3p) wrappers
+ - compat/posix: introduce writev(3p) wrapper
+
+ A compatibility wrapper for 'writev(3p)' has been reintroduced,
+ including fixes for CMake build and 'MAX_IO_SIZE' limits on NonStop.
+ Calls to 'write(3p)' in 'send_sideband()' and 'cat_blob()' have been
+ refactored to use 'writev(3p)' wrappers to reduce syscall overhead.
+
+ Needs review.
+ cf. <f8050598-392f-44c9-8d66-0454740a7a12@kdbg.org>
+ cf. <a2676ec6-39d5-4220-8549-10a17daec668@hogyros.de>
+ source: <20260716-pks-reintroduce-writev-v1-0-ea9038c884bc@pks.im>
+
+
+* sc/wt-status-avoid-quadratic-insertion (2026-07-16) 1 commit
+ - wt-status: avoid quadratic insertion for untracked paths
+
+ The enumeration of untracked and ignored files in 'git status' has
+ been optimized by avoiding quadratic complexity insertion into string
+ lists, reducing the construction cost from O(n^2) to O(n log n).
+
+ Needs review.
+ source: <20260716185045.229320-1-sahityajb@gmail.com>
 
 --------------------------------------------------
 [Stalled]
@@ -250,7 +398,7 @@ Release tarballs are available at:
  the current branch are skipped and duplicate updates are avoided to
  prevent failures when branch aliases are present.
 
- Waiting for response(s) to review comment(s) for too long, stalled.
+ Waiting for response for too long, stalled.
  cf. <f982c386-e329-4ab0-b695-e540bcb9de3d@gmail.com>
  source: <pull.2126.v2.git.1780482436865.gitgitgadget@gmail.com>
 
@@ -275,13 +423,99 @@ Release tarballs are available at:
  period, avoiding failures when multiple processes attempt to update
  the configuration simultaneously.
 
- Waiting for response(s) to review comment(s) for too long, stalled.
+ Waiting for response for too long, stalled.
  cf. <agrIrGwSMFlKTx9x@pks.im>
  source: <20260517132111.1014901-1-joerg@thalheim.io>
 
 --------------------------------------------------
 [Cooking]
 
+* 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`
+ - pack-objects: introduce `--no-ref-delta`
+ - t/helper: teach pack-deltas to list delta entries
+
+ 'git send-pack' has been taught to refrain from sending 'REF_DELTA'
+ encoded packfiles when the other side asks it to.
+
+ Needs review.
+ source: <alQ7WKITYDXfiVn9@com-79390>
+
+
+* cc/doc-fast-export-synopsis-fix (2026-07-13) 1 commit
+  (merged to 'next' on 2026-07-16 at b1dbc0cb3f)
+ + fast-export: standardize usage string and SYNOPSIS
+
+ The usage string and SYNOPSIS for 'git fast-export' have been
+ standardized to make them consistent with each other and with other
+ commands.
+
+ Will merge to 'master'.
+ cf. <alX5Nl8uX4ctVqo3@pks.im>
+ cf. <xmqq4ii228dd.fsf@gitster.g>
+ source: <20260713124153.245268-1-christian.couder@gmail.com>
+
+
+* sk/t1100-modernize (2026-07-14) 2 commits
+  (merged to 'next' on 2026-07-16 at 621ca4ca5f)
+ + t1100: move creation of expected output into setup test
+ + t1100: modernize test style
+
+ The test script 't/t1100-commit-tree-options.sh' has been modernized
+ by converting test cases to the modern style (using single quotes and
+ tab indentation) and moving the creation of the expected file inside
+ the setup test so it runs under the protection of the test harness.
+
+ Will merge to 'master'.
+ cf. <xmqq4ii1v7x0.fsf@gitster.g>
+ source: <20260714122033.61947-1-diy2903@gmail.com>
+
+
+* tn/packfile-uri-concurrency (2026-07-13) 2 commits
+ - fetch-pack: accept "pack" output for packfile URIs
+ - http: use unique tempfiles for packfile URI downloads
+
+ Concurrent downloads of packfiles via packfile URIs have been
+ supported by using unique temporary files, preventing corruption when
+ multiple processes fetch the same pack.  The 'fetch-pack' command has
+ also been updated to tolerate pre-existing '.keep' files.
+
+ Expecting a reroll.
+ cf. <alaAi4vNwi-KabYV@com-76773>
+ source: <alVn-QmK3K91_tkH@com-76773>
+
+
+* rs/strbuf-avoid-redundant-reset (2026-07-14) 1 commit
+  (merged to 'next' on 2026-07-16 at f258ce38ba)
+ + strbuf: avoid redundant reset in strbuf_getwholeline()
+
+ A redundant 'strbuf_reset()' call in the 'HAVE_GETDELIM' path of
+ 'strbuf_getwholeline()' has been removed, as 'getdelim()' overwrites
+ the buffer and the length is updated afterward.
+
+ Will merge to 'master'.
+ cf. <xmqq8q7dv82b.fsf@gitster.g>
+ cf. <20260714214941.GB4095533@coredump.intra.peff.net>
+ source: <d4ffe7fb-f782-4f06-9e3b-f72729d1e225@web.de>
+
+
+* rs/tempfile-wo-the-repository (2026-07-14) 5 commits
+ - use repo_hold_lock_file_for_update{,_mode,_timeout}() with custom repos
+ - tempfile: stop using the_repository
+ - lockfile: add repo_hold_lock_file_for_update{,_timeout}{,_mode}()
+ - refs/packed: use repo_create_tempfile()
+ - tempfile: add repo_create_tempfile{,_mode}()
+
+ The tempfile and lockfile APIs have been refactored to stop depending
+ on the 'the_repository' global variable, and their callers have been
+ updated to use the repository-aware variants.
+
+ Waiting for response.
+ cf. <aldYW4TPUqgDMRcf@pks.im>
+ source: <20260714175956.54601-1-l.s.r@web.de>
+
+
 * js/pack-objects-delta-size-t (2026-07-09) 12 commits
  - git-zlib: widen `git_deflate_bound()` to `size_t`
  - t/helper/test-pack-deltas: widen `do_compress()`'s maxsize local to `size_t`
@@ -296,7 +530,7 @@ Release tarballs are available at:
  - delta: widen `create_delta_index()` parameter to `size_t`
  - diff-delta: widen `struct delta_index`' size fields to `size_t`
 
- The pack-objects and delta-encoding code paths have been updated to
+ The 'pack-objects' and delta-encoding code paths have been updated to
  use 'size_t' instead of 'unsigned long' for object sizes and offset
  limits, avoiding potential truncation issues on 64-bit Windows.
 
@@ -327,9 +561,7 @@ Release tarballs are available at:
  source: <20260710-pks-odb-stream-double-close-v1-1-d5fa233a37c7@pks.im>
 
 
-* pz/fetch-submodule-errors-config (2026-07-14) 4 commits
- - fixup! fetch: add fetch.submoduleErrors to make submodule fetch errors non-fatal
- - fixup! fetch: add fetch.submoduleErrors to make submodule fetch errors non-fatal
+* pz/fetch-submodule-errors-config (2026-07-16) 2 commits
  - fetch: add fetch.submoduleErrors to make submodule fetch errors non-fatal
  - submodule: fix premature failure in recursive submodule fetch
 
@@ -343,8 +575,7 @@ Release tarballs are available at:
  also fails.
 
  Needs review.
- cf. <xmqqldbdvb3x.fsf@gitster.g>
- source: <20260714132959.3368867-1-paulius.zaleckas@gmail.com>
+ source: <20260716140956.1023740-1-paulius.zaleckas@gmail.com>
 
 
 * gr/add-e-use-apply-api (2026-07-10) 1 commit
@@ -366,19 +597,20 @@ Release tarballs are available at:
  '--empty' option, allowing it to be dropped, kept, or to halt the
  rebase.
 
Expecting a reroll.
- cf. <DJXL4KSUEAD4.1EE4ERHJZ00TR@gmail.com>
Waiting for response.
+ cf. <690b965e-5f07-4aa4-a64c-96e60a86d73b@gmail.com>
  source: <20260711-fz-autosquash-empty-v3-1-d227b63eb511@gmail.com>
 
 
 * dm/submodule-update-i-shorthand (2026-07-07) 1 commit
- - submodule--helper: accept '-i' shorthand for update --init
+  (merged to 'next' on 2026-07-15 at 55ef0fb748)
+ + submodule--helper: accept '-i' shorthand for update --init
 
  The '-i' shorthand for the '--init' option, which was accepted by the
  'git submodule update' command until it was broken in a modernization
  of the option-parsing code, has been restored.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  cf. <xmqq8q7ltf51.fsf@gitster.g>
  source: <20260708-submodule-init-v1-1-719456077262@atmark-techno.com>
 
@@ -491,7 +723,7 @@ Release tarballs are available at:
  files object database source, enabling future alternative object
  database backends to implement their own housekeeping services.
 
Needs review.
Waiting for response.
  cf. <xmqqwluyyhv1.fsf@gitster.g>
  source: <20260713-b4-pks-odb-optimize-v2-0-9c2c3ee94b38@pks.im>
 
@@ -549,18 +781,18 @@ Release tarballs are available at:
  source: <pull.2174.v2.git.1783683577.gitgitgadget@gmail.com>
 
 
-* ps/odb-for-each-object-filter (2026-07-13) 10 commits
- - builtin/cat-file: filter objects via object database
- - odb: introduce object filters to `odb_for_each_object()`
- - pack-bitmap: introduce function to open bitmap for a single source
- - pack-bitmap: drop `_1` suffix from functions that open bitmaps
- pack-bitmap: iterate object sources when opening bitmaps
- pack-bitmap: allow aborting iteration of bitmapped objects
- - pack-objects: drop unused return value from add_object_entry()
- - pack-bitmap: mark object filter as `const`
- - odb/source-packed: improve lookup when enumerating objects
- - Merge branch 'ps/odb-drop-whence' into ps/odb-for-each-object-filter
- (this branch uses ps/odb-drop-whence.)
+* ps/odb-for-each-object-filter (2026-07-14) 10 commits
+  (merged to 'next' on 2026-07-16 at 8f30e80d33)
+ + builtin/cat-file: filter objects via object database
+ + odb: introduce object filters to `odb_for_each_object()`
+ + pack-bitmap: introduce function to open bitmap for a single source
+ pack-bitmap: drop `_1` suffix from functions that open bitmaps
+ pack-bitmap: iterate object sources when opening bitmaps
+ + pack-bitmap: allow aborting iteration of bitmapped objects
+ + pack-objects: drop unused return value from add_object_entry()
+ + pack-bitmap: mark object filter as `const`
+ + odb/source-packed: improve lookup when enumerating objects
+ + Merge branch 'ps/odb-drop-whence' into ps/odb-for-each-object-filter
 
  The object database enumeration interface 'odb_for_each_object()'
  has been taught to accept object filters, allowing the underlying
@@ -569,21 +801,19 @@ Release tarballs are available at:
  to use this generic interface, simplifying its code and avoiding
  direct access to ODB backend internals.
 
- Will merge to 'next'?
- cf. <alW0KzSZuZnHmOZD@com-79390>
- source: <20260713-pks-odb-for-each-object-filter-v3-0-b3c65c641073@pks.im>
+ Will merge to 'master'.
+ cf. <874ii0h2uf.fsf@emacs.iotcl.com>
+ source: <20260715-pks-odb-for-each-object-filter-v4-0-616d7adf7fb7@pks.im>
 
 
-* ps/refs-wo-the-repository (2026-07-09) 8 commits
+* ps/refs-wo-the-repository (2026-07-15) 7 commits
  - 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: 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
- (this branch uses ps/refs-writing-subcommands.)
 
  The ref subsystem and the worktree API have been refactored to pass a
  repository pointer down the call chain, allowing them to drop
@@ -591,9 +821,9 @@ Release tarballs are available at:
  the handling of the 'core.packedRefsTimeout' configuration has been
  moved into the per-repository ref store structure.
 
- Expecting a reroll.
- cf. <alCJpxAQwpTQ4g93@pks.im>
- source: <20260709-pks-refs-wo-the-repository-v1-0-1ad6f27529c9@pks.im>
+ Will merge to 'next'?
+ cf. <xmqqldbbhuh0.fsf@gitster.g>
+ source: <20260716-pks-refs-wo-the-repository-v3-0-db0a804e0224@pks.im>
 
 
 * kk/commit-graph-topo-levels-fix (2026-07-09) 2 commits
@@ -652,19 +882,6 @@ Release tarballs are available at:
  source: <pull.2166.v3.git.1783679767.gitgitgadget@gmail.com>
 
 
-* rs/blame-abbrev-marks (2026-07-06) 1 commit
-  (merged to 'next' on 2026-07-08 at e4962bd3d5)
- + blame: reserve mark column only if necessary
-
- The alignment of commit object name abbreviations in 'git blame'
- output has been optimized to reserve a column for marks (caret,
- question mark, or asterisk) only when such marks are actually shown.
-
- Will merge to 'master'.
- cf. <xmqqzf0397u1.fsf@gitster.g>
- source: <92991b5e-0667-4315-89d5-1514a5499297@web.de>
-
-
 * jm/t0213-skip-emulated-ancestry-tests (2026-07-06) 1 commit
  - t0213: skip ancestry tests under user-mode emulation
 
@@ -694,19 +911,6 @@ Release tarballs are available at:
  source: <20260708001557.3581080-1-sandals@crustytoothpaste.net>
 
 
-* mg/meson-hook-list-buildfix (2026-07-01) 1 commit
-  (merged to 'next' on 2026-07-08 at 10763a0ebc)
- + meson: restore hook-list.h to builtin_sources
-
- A racy build failure under Meson has been corrected by ensuring that
- the generated header file 'hook-list.h' is built before compiling
- files in 'builtin_sources' that depend on it.
-
- Will merge to 'master'.
- cf. <akZGJP1kVtjBFN_e@pks.im>
- source: <20260701193928.358825-1-floppym@gentoo.org>
-
-
 * zy/apply-abandoned-header-fix (2026-07-01) 1 commit
  - apply: avoid leaking abandoned git-header state
 
@@ -744,14 +948,15 @@ Release tarballs are available at:
 
 
 * ml/t9811-replace-test-f (2026-07-11) 2 commits
- - t9811: replace 'test -f' and '! test -f' with 'test_path_*'
- - t9811: break long && chains into multiple lines
+  (merged to 'next' on 2026-07-15 at ffb7fcad15)
+ + t9811: replace 'test -f' and '! test -f' with 'test_path_*'
+ + t9811: break long && chains into multiple lines
 
  The test script 't/t9811-git-p4-label-import.sh' has been
  modernized to use 'test_path_is_file' and 'test_path_is_missing'
  instead of raw 'test -f' and '! test -f' calls.
 
- Will merge to 'next'?
+ Will merge to 'master'.
  cf. <alTHrUEh4_O5ROeu@pks.im>
  source: <20260711160447.99708-1-marcelomlage@usp.br>
 
@@ -811,14 +1016,15 @@ Release tarballs are available at:
 
 
 * cl/conditional-config-on-worktree-path (2026-07-09) 2 commits
- - config: add "worktree" and "worktree/i" includeIf conditions
- - config: refactor include_by_gitdir() into include_by_path()
+  (merged to 'next' on 2026-07-15 at 86ca33c437)
+ + config: add "worktree" and "worktree/i" includeIf conditions
+ + config: refactor include_by_gitdir() into include_by_path()
 
  The '[includeIf "condition"]' conditional inclusion facility for
  configuration files has been taught to use the location of the
  worktree in its condition.
 
- Will merge to 'next'?
+ Will merge to 'master'.
  cf. <alTJCTKR9jOWfgbk@pks.im>
  source: <20260710-includeif-worktree-v8-0-04686d8a616c@black-desk.cn>
 
@@ -847,7 +1053,7 @@ Release tarballs are available at:
  'test_path_is_missing' helper functions instead of raw 'test -[fde]'
  commands.
 
- Waiting for response(s) to review comment(s).
+ Waiting for response.
  cf. <akTKHfKPsP3-Rn31@pks.im>
  source: <20260630020220.1559190-1-bblima@usp.br>
 
@@ -883,16 +1089,15 @@ Release tarballs are available at:
  source: <20260707-pks-setup-split-discovery-and-setup-v2-0-aab372cd227c@pks.im>
 
 
-* pw/rebase-drop-notes-with-commit (2026-07-13) 10 commits
+* pw/rebase-drop-notes-with-commit (2026-07-15) 9 commits
  - 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 handing of fixup with conflicts
+ - 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
- - sequencer: move definition of is_final_fixup()
  - t3400: restore coverage for note copying with apply backend
 
  The rebase post-rewrite notes-copying logic has been corrected.  When
@@ -901,24 +1106,7 @@ Release tarballs are available at:
  its notes from being copied to an unrelated commit.
 
  Needs review.
- cf. <alTxn7MmX3aH_7gp@ugly.lan>
- source: <cover.1783948637.git.phillip.wood@dunelm.org.uk>
-
-
-* jk/bloom-leak-fixes (2026-06-30) 3 commits
-  (merged to 'next' on 2026-07-08 at 3b9a1cda3f)
- + line-log: drop extra copy of range with bloom filters
- + revision: avoid leaking bloom keyvecs with multiple traversals
- + bloom: make bloom-filter slab initialization idempotent
-
- Various memory leaks in the Bloom-filter code paths that are exposed
- when running tests with the 'GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS=1'
- environment variable have been plugged.
-
- Will merge to 'master'.
- cf. <b641aed4-ad52-477b-b1d8-9d8e470be46f@gmail.com>
- cf. <xmqqo6gqobrt.fsf@gitster.g>
- source: <20260701063538.GA2579765@coredump.intra.peff.net>
+ source: <cover.1784128921.git.phillip.wood@dunelm.org.uk>
 
 
 * js/ci-dockerized-pid-limit (2026-07-04) 1 commit
@@ -975,53 +1163,34 @@ Release tarballs are available at:
  geometric repack as usual, while a separate cruft pack is written to
  collect unreachable objects.
 
- Waiting for response(s) to review comment(s).
+ Waiting for response.
  cf. <aj8cOhH6hGVZIFft@nand.local>
  source: <cover.1782500507.git.me@ttaylorr.com>
 
 
 * jt/receive-pack-use-odb-transactions (2026-07-10) 11 commits
- - builtin/receive-pack: stage incoming objects via ODB transactions
- - builtin/receive-pack: drop redundant tmpdir env
- - odb/transaction: introduce ODB transaction flags
- - odb/transaction: add transaction env interface
- - odb/transaction: propagate commit errors
- - odb/transaction: propagate begin errors
- - object-file: propagate files transaction errors
- - object-file: drop check for inflight transactions
- - object-file: embed transaction flush logic in commit function
- - object-file: rename files transaction fsync function
- - object-file: rename files transaction prepare function
+  (merged to 'next' on 2026-07-15 at aba57e3365)
+ + builtin/receive-pack: stage incoming objects via ODB transactions
+ + builtin/receive-pack: drop redundant tmpdir env
+ + odb/transaction: introduce ODB transaction flags
+ + odb/transaction: add transaction env interface
+ + odb/transaction: propagate commit errors
+ + odb/transaction: propagate begin errors
+ + object-file: propagate files transaction errors
+ + object-file: drop check for inflight transactions
+ + object-file: embed transaction flush logic in commit function
+ + object-file: rename files transaction fsync function
+ + object-file: rename files transaction prepare function
 
  'git receive-pack' has been refactored to use ODB transaction
  interfaces instead of directly managing 'tmp_objdir' for staging
  incoming objects, bringing it closer to being ODB backend agnostic.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  cf. <alR1P-RGZNmjyiUE@pks.im>
  source: <20260710163722.2962278-1-jltobler@gmail.com>
 
 
-* ps/odb-drop-whence (2026-07-02) 7 commits
-  (merged to 'next' on 2026-07-08 at f43ee51cc3)
- + odb: document object info fields
- + odb: drop `whence` field from object info
- + treewide: convert users of `whence` to the new source field
- + odb: add `source` field to struct object_info_source
- + odb: make backend-specific fields optional
- + packfile: thread odb_source_packed through packed_object_info()
- + Merge branch 'ps/odb-source-packed' into ps/odb-drop-whence
- (this branch is used by ps/odb-for-each-object-filter.)
-
- The 'whence' field in 'struct object_info' has been removed.  The
- backend-specific object information retrieval has been refactored into
- an opt-in 'struct object_info_source' structure.
-
- Will merge to 'master'.
- cf. <xmqqv7b0rmt6.fsf@gitster.g>
- source: <20260702-b4-pks-odb-drop-whence-v2-0-b0af7468ad95@pks.im>
-
-
 * ps/reftable-hardening (2026-07-03) 12 commits
   (merged to 'next' on 2026-07-10 at b8f4dd0ab9)
  + reftable/table: fix OOB read on truncated table
@@ -1046,18 +1215,6 @@ Release tarballs are available at:
  source: <20260703-pks-reftable-hardening-v3-0-b87c555b9920@pks.im>
 
 
-* jc/history-message-prep-fix (2026-06-29) 1 commit
-  (merged to 'next' on 2026-07-06 at 00534a21ce)
- + history: streamline message preparation and plug file stream leak
-
- A write file stream resource leak has been fixed as part of a code
- cleanup.
-
- Will merge to 'master'.
- cf. <akO1mhi2u2PntLbt@pks.im>
- source: <xmqqmrwdxrat.fsf@gitster.g>
-
-
 * ty/migrate-excludes-file (2026-07-13) 10 commits
  - repository: adjust the comment of config_values_private_
  - environment: move object_creation_mode into repo_config_values
@@ -1090,15 +1247,17 @@ Release tarballs are available at:
 
 
 * ps/libgit-in-subdir (2026-07-12) 3 commits
- Move libgit.a sources into separate "lib/" directory
- t/helper: prepare "test-example-tap.c" for introduction of "lib/"
- Merge branch 'ps/odb-source-packed' into ps/libgit-in-subdir
. Move libgit.a sources into separate "lib/" directory
. t/helper: prepare "test-example-tap.c" for introduction of "lib/"
. Merge branch 'ps/odb-source-packed' into ps/libgit-in-subdir
 
  The source files for 'libgit.a' have been moved into a new 'lib/'
  directory to clean up the top-level directory and clearly separate
  library code.
 
- Needs review.
+ Ejected for now, as it causes too many evil merges with other topics.
+
+ Waiting for response.
  cf. <alR9GDNTbdjWB4dq@szeder.dev>
  source: <20260713-pks-libgit-in-subdir-v4-0-696240876eb1@pks.im>
 
@@ -1134,7 +1293,7 @@ Release tarballs are available at:
  source: <pull.2152.v2.git.1782581342.gitgitgadget@gmail.com>
 
 
-* hn/history-squash (2026-07-10) 5 commits
+* hn/history-squash (2026-07-15) 5 commits
  - 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
@@ -1145,26 +1304,8 @@ Release tarballs are available at:
  subcommand to fold a range of commits into a single commit, with any
  descendants replayed on top.
 
- Expecting a reroll.
- cf. <CAHwyqnVYQ6Sk=4ot6=5AbUdqxCrwS15xt_+wX3DB1h369CSqsA@mail.gmail.com>
- source: <pull.2337.v8.git.git.1783674396.gitgitgadget@gmail.com>
-
-
-* ps/refs-writing-subcommands (2026-07-06) 5 commits
-  (merged to 'next' on 2026-07-08 at f001147283)
- + builtin/refs: add "rename" subcommand
- + builtin/refs: add "create" subcommand
- + builtin/refs: add "update" subcommand
- + builtin/refs: add "delete" subcommand
- + builtin/refs: drop `the_repository`
- (this branch is used by ps/refs-wo-the-repository.)
-
- The 'git refs' toolbox has been extended with new 'create', 'delete',
- 'update', and 'rename' subcommands to create, delete, update, and
- rename references, respectively.
-
- Will merge to 'master'.
- source: <20260706-pks-refs-writing-subcommands-v4-0-d51f6ce7f830@pks.im>
+ Needs review.
+ source: <pull.2337.v9.git.git.1784128573.gitgitgadget@gmail.com>
 
 
 * wy/doc-myfirstcontribution-trim-quotes (2026-06-11) 1 commit
@@ -1225,8 +1366,8 @@ Release tarballs are available at:
  'git tag --contains', significantly speeding up connectivity checks
  across many candidate refs with shared history.
 
- Needs review.
- cf. <xmqqqzlpulkp.fsf@gitster.g>
+ Will merge to 'next'?
+ cf. <20260716091924.GB1212956@coredump.intra.peff.net>
  source: <20260612-ref-filter-memoized-contains-v4-0-5ed39fd001dd@gmail.com>
 
 
@@ -1246,7 +1387,7 @@ Release tarballs are available at:
  source: <20260707-toon-git-replay-drop-merges-v7-0-808ab9b4afa6@iotcl.com>
 
 
-* ps/cat-file-remote-object-info (2026-07-14) 13 commits
+* ps/cat-file-remote-object-info (2026-07-15) 13 commits
  - cat-file: make remote-object-info allow-list dynamic
  - cat-file: validate remote atoms with an allow-list
  - cat-file: add remote-object-info to batch-command
@@ -1268,18 +1409,21 @@ Release tarballs are available at:
  filtered on the client based on server-advertised capabilities,
  returning empty strings for inapplicable or unsupported fields.
 
Needs review.
- cf. <xmqq8q7dto8d.fsf@gitster.g>
- source: <20260714-ps-eric-work-rebase-v17-0-afabfc83260e@gmail.com>
Expecting a reroll.
+ cf. <DJZM80YDCMQG.SXP22P43W1J3@gmail.com>
+ source: <20260715-ps-eric-work-rebase-v18-0-34d7adb051bb@gmail.com>
 
 
-* mm/diff-process-hunks (2026-06-14) 6 commits
- - blame: consult diff process for no-hunk detection
- - diff: bypass diff process with --no-ext-diff and in format-patch
- - diff: add long-running diff process via diff.<driver>.process
- - sub-process: separate process lifecycle from hashmap management
- - userdiff: add diff.<driver>.process config
- - xdiff: support external hunks via xpparam_t
+* mm/diff-process-hunks (2026-07-15) 9 commits
+ . line-log: consult diff process for range tracking
+ . diff: consult diff process for --stat counts
+ . blame: consult diff process for no-hunk detection
+ . diff: bypass diff process with --no-ext-diff and in format-patch
+ . diff: add long-running diff process via diff.<driver>.process
+ . sub-process: separate process lifecycle from hashmap management
+ . userdiff: add diff.<driver>.process config
+ . xdiff: support external hunks via xpparam_t
+ . gitattributes: document how external diff drivers relate to diff features
 
  A new 'diff.<driver>.process' configuration has been introduced to
  allow a long-running external process to act as a hunk provider,
@@ -1287,12 +1431,16 @@ Release tarballs are available at:
  while leaving all output formatting (word diff, color, blame, etc.) to
  Git's standard pipeline.
 
- Expecting a reroll for too long, stalled.
- cf. <CAC2Qwm+P=fZOtpfMPeMiSXf3Afk6OLYpTP8Br78_PRA8WNL1Wg@mail.gmail.com>
- source: <pull.2120.v4.git.1781463564.gitgitgadget@gmail.com>
+ Ejected for now, as conflicts badly with mm/line-log-limited-ops.
+
+ Expecting a reroll.
+ cf. <xmqq8q7aj3b0.fsf@gitster.g>
+ cf. <CAC2QwmKRp90hmBAckug9PPvvD53Pi53q5csZhi15LRhzdQasQg@mail.gmail.com>
+ source: <pull.2120.v5.git.1784149323.gitgitgadget@gmail.com>
 
 
-* ty/migrate-trust-executable-bit (2026-06-19) 3 commits
+* ty/migrate-trust-executable-bit (2026-07-16) 4 commits
+ - environment: move has_symlinks into repo_config_values
  - environment: move trust_executable_bit into repo_config_values
  - read-cache: move 'ce_mode_from_stat()' to 'read-cache.c'
  - read-cache: remove redundant extern declarations
@@ -1302,32 +1450,8 @@ Release tarballs are available at:
  to a specific repository instance.
 
  Needs review.
- cf. <xmqqcxx9ukvw.fsf@gitster.g>
- source: <20260619162105.648495-1-cat@malon.dev>
-
-
-* ps/history-drop (2026-07-01) 11 commits
-  (merged to 'next' on 2026-07-08 at 6fb84708a4)
- + builtin/history: implement "drop" subcommand
- + builtin/history: split handling of ref updates into two phases
- + replay: expose `replay_result_queue_update()`
- + reset: stop assuming that the caller passes in a clean index
- + reset: allow the caller to specify the current HEAD object
- + reset: introduce ability to skip updating HEAD
- + reset: introduce dry-run mode
- + reset: modernize flags passed to `reset_working_tree()`
- + reset: rename `reset_head()`
- + reset: drop `USE_THE_REPOSITORY_VARIABLE`
- + read-cache: split out function to drop unmerged entries to stage 0
-
- The experimental 'git history' command has been taught a new 'drop'
- subcommand to remove a commit, with its descendants replayed onto its
- parent.
-
- Will merge to 'master'.
- cf. <xmqq1pdmprbk.fsf@gitster.g>
- cf. <CAP8UFD3OAktVQsLuqBNFH2uhEO31PH8ZF3ZT1ZW8k++XE8YLPw@mail.gmail.com>
- source: <20260701-b4-pks-history-drop-v8-0-19b5cdf1facd@pks.im>
+ cf. <xmqqa4rqfzys.fsf@gitster.g>
+ source: <20260716084941.1101918-1-cat@malon.dev>
 
 
 * za/completion-hide-dotfiles (2026-06-20) 2 commits
@@ -1338,7 +1462,7 @@ Release tarballs are available at:
  updated to hide dotfiles by default unless the user explicitly starts
  the path with a dot, matching standard shell-completion behavior.
 
- Waiting for response(s) to review comment(s), stalled.
+ Waiting for response, stalled.
  cf. <xmqqik71t3nr.fsf@gitster.g>
  source: <pull.2311.v3.git.git.1781978156.gitgitgadget@gmail.com>
 
@@ -1364,7 +1488,7 @@ Release tarballs are available at:
  Documentation for 'git replay' has been updated to refer to its
  configuration variables.
 
- Waiting for response(s) to review comment(s).
+ Waiting for response for too long, stalled.
  cf. <87cxwxofgv.fsf@emacs.iotcl.com>
  source: <V3_CV_doc_replay_config.780@msgid.xyz>
 
@@ -1393,8 +1517,7 @@ Release tarballs are available at:
  The 'git checkout --track=...' command has been taught to optionally
  fetch the branch from the remote the new branch will work with.
 
- Waiting for response(s) to review comment(s).
- cf. <CAL71e4MiijEiM26TKJcOYT7L4pfQeMM_F2oT3U3igP-wOZm2Ag@mail.gmail.com>
+ Needs review.
  source: <pull.2281.v15.git.git.1782338098.gitgitgadget@gmail.com>
 
 
@@ -1412,7 +1535,8 @@ Release tarballs are available at:
  simplification) by indenting them, preventing them from appearing
  falsely related to unrelated commits rendered immediately above them.
 
- Needs review.
+ Will merge to 'next'?
+ cf. <CA+J6zkQNzEAhhY74qDrOwfFVrshEF7YFxWRRkwE3ttJo15ZbAg@mail.gmail.com>
  source: <20260714-ps-pre-commit-indent-v12-0-d50938e006df@gmail.com>