]> git.ipfire.org Git - thirdparty/git.git/commitdiff
What's cooking (2025/09 #11)
authorJunio C Hamano <gitster@pobox.com>
Mon, 29 Sep 2025 20:11:31 +0000 (13:11 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 29 Sep 2025 20:11:31 +0000 (13:11 -0700)
whats-cooking.txt

index 540151d3424190e5fcf5176131df9357b5b9298a..0ed15c1f15575a2dc2127816b5af74d99b589108 100644 (file)
@@ -1,10 +1,10 @@
 To: git@vger.kernel.org
-Subject: What's cooking in git.git (Sep 2025, #10; Thu, 25)
-X-master-at: bb69721404348ea2db0a081c41ab6ebfe75bdec8
-X-next-at: de9c8c526cb441e136815397089584f539713c71
+Subject: What's cooking in git.git (Sep 2025, #11; Mon, 29)
+X-master-at: 821f583da6d30a84249f75f33501504d597bc16b
+X-next-at: 236ee7b076decfb1705c4b47c2af13735720bd19
 Bcc: lwn@lwn.net, gitster@pobox.com
 
-What's cooking in git.git (Sep 2025, #10; Thu, 25)
+What's cooking in git.git (Sep 2025, #11; Mon, 29)
 --------------------------------------------------
 
 Here are the topics that have been cooking in my tree.  Commits
@@ -48,110 +48,226 @@ Release tarballs are available at:
 --------------------------------------------------
 [Graduated to 'master']
 
-* cc/promisor-remote-capability (2025-09-07) 7 commits
-  (merged to 'next' on 2025-09-15 at 367d83c08c)
- + promisor-remote: use string_list_split() in mark_remotes_as_accepted()
- + promisor-remote: allow a client to check fields
- + promisor-remote: use string_list_split() in filter_promisor_remote()
- + promisor-remote: refactor how we parse advertised fields
- + promisor-remote: use string constants for 'name' and 'url' too
- + promisor-remote: allow a server to advertise more fields
- + promisor-remote: refactor to get rid of 'struct strvec'
-
- The "promisor-remote" capability mechanism has been updated to
- allow the "partialCloneFilter" settings and the "token" value to be
- communicated from the server side.
- source: <20250908053056.956907-1-christian.couder@gmail.com>
-
-
-* cs/subtree-squash-split-fix (2025-09-09) 1 commit
-  (merged to 'next' on 2025-09-15 at 4206316342)
- + contrib/subtree: fix split with squashed subtrees
-
- "git subtree" (in contrib/) did not work correctly when splitting
- squashed subtrees, which has been improved.
- source: <20250910031124.1807856-1-ask+git@howdoi.land>
-
-
-* jk/add-i-color (2025-09-08) 4 commits
-  (merged to 'next' on 2025-09-15 at 48aae5184a)
- + contrib/diff-highlight: mention interactive.diffFilter
- + add-interactive: manually fall back color config to color.ui
- + add-interactive: respect color.diff for diff coloring
- + stash: pass --no-color to diff plumbing child processes
- (this branch is used by jk/color-variable-fixes.)
-
- Some among "git add -p" and friends ignored color.diff and/or
- color.ui configuration variables, which is an old regression, which
+* dk/stash-apply-index (2025-09-21) 4 commits
+  (merged to 'next' on 2025-09-23 at 04e76cf5be)
+ + stash: honor stash.index in apply, pop modes
+ + stash: refactor private config globals
+ + t3905: remove unneeded blank line
+ + t3903: reduce dependencies on previous tests
+
+ The stash.index configuration variable can be set to make "git stash
+ pop/apply" pretend that it was invoked with "--index".
+ source: <cover.1758505011.git.ben.knoble+github@gmail.com>
+
+
+* jc/3.0-default-initial-branch-to-main-addendum (2025-09-17) 1 commit
+  (merged to 'next' on 2025-09-22 at dc4168c337)
+ + initial branch: give hints after switching the default name
+ (this branch uses pw/3.0-default-initial-branch-to-main.)
+
+ Keep giving hint about the default initial branch name for users
+ who may be surprised after Git 3.0 switch-over.
+ source: <cover.1757518141.git.phillip.wood@dunelm.org.uk>
+
+
+* je/doc-checkout (2025-09-10) 7 commits
+  (merged to 'next' on 2025-09-23 at b776ac7a24)
+ + doc: git-checkout: clarify restoring files section
+ + doc: git-checkout: split up restoring files section
+ + doc: git-checkout: deduplicate --detach explanation
+ + doc: git-checkout: clarify `-b` and `-B`
+ + doc: git-checkout: clarify `git checkout <branch>`
+ + doc: git-checkout: clarify ARGUMENT DISAMBIGUATION
+ + doc: git-checkout: clarify intro sentence
+
+ Doc updates.
+ cf. <236a79f4-e9a2-4335-bbff-79ae0cc67e9b@app.fastmail.com>
+ source: <pull.1962.v4.git.1757531669.gitgitgadget@gmail.com>
+
+
+* jk/color-variable-fixes (2025-09-16) 13 commits
+  (merged to 'next' on 2025-09-23 at 8aa3006a1e)
+ + config: store want_color() result in a separate bool
+ + add-interactive: retain colorbool values longer
+ + color: return bool from want_color()
+ + color: use git_colorbool enum type to store colorbools
+ + pretty: use format_commit_context.auto_color as colorbool
+ + diff: stop passing ecbdata->use_color as boolean
+ + diff: pass o->use_color directly to fill_metainfo()
+ + diff: don't use diff_options.use_color as a strict bool
+ + diff: simplify color_moved check when flushing
+ + grep: don't treat grep_opt.color as a strict bool
+ + color: return enum from git_config_colorbool()
+ + color: use GIT_COLOR_* instead of numeric constants
+ + Merge branch 'jk/add-i-color' into jk/color-variable-fixes
+
+ Some places in the code confused a variable that is *not* a boolean
+ to enable color but is an enum that records what the user requested
+ to do about color.  A couple of bugs of this sort have been fixed,
+ while the code has been cleaned up to prevent similar bugs in the
+ future.
+ source: <20250916201036.GA612463@coredump.intra.peff.net>
+ source: <20250916202408.GI612873@coredump.intra.peff.net>
+
+
+* jk/setup-revisions-freefix (2025-09-19) 6 commits
+  (merged to 'next' on 2025-09-23 at e30036fad0)
+ + revision: retain argv NULL invariant in setup_revisions()
+ + treewide: pass strvecs around for setup_revisions_from_strvec()
+ + treewide: use setup_revisions_from_strvec() when we have a strvec
+ + revision: add wrapper to setup_revisions() from a strvec
+ + revision: manage memory ownership of argv in setup_revisions()
+ + stash: tell setup_revisions() to free our allocated strings
+
+ There are double frees and leaks around setup_revisions() API used
+ in "git stash show", which has been fixed, and setup_revisions()
+ API gained a wrapper to make it more ergonomic when using it with
+ strvec-manged argc/argv pairs.
+ source: <20250919223351.GA3906184@coredump.intra.peff.net>
+
+
+* kn/refs-files-case-insensitive (2025-09-17) 4 commits
+  (merged to 'next' on 2025-09-23 at 51c2a665f0)
+ + refs/files: handle D/F conflicts during locking
+ + refs/files: handle F/D conflicts in case-insensitive FS
+ + refs/files: use correct error type when lock exists
+ + refs/files: catch conflicts on case-insensitive file-systems
+
+ Deal more gracefully with directory / file conflicts when the files
+ backend is used for ref storage, by failing only the ones that are
+ involved in the conflict while allowing others.
+ source: <20250917-587-git-fetch-1-fails-fetches-on-case-insensitive-repositories-v4-0-da3c74a08ed0@gmail.com>
+
+
+* nb/send-email-no-dup-reply-to (2025-09-16) 1 commit
+  (merged to 'next' on 2025-09-18 at d7081e00ec)
+ + send-email: don't duplicate Reply-to: in intro message
+
+ "git send-email --compose --reply-to=<address>" used to add
+ duplicated Reply-To: header, which made mailservers unhappy.  This
  has been corrected.
- source: <20250908164157.GA1323487@coredump.intra.peff.net>
+ source: <175809074627.1696783.67425889158412786@noble.neil.brown.name>
 
 
-* rs/get-oid-with-flags-cleanup (2025-09-10) 1 commit
-  (merged to 'next' on 2025-09-15 at ff8d1faae9)
- + use repo_get_oid_with_flags()
+* ps/clar-updates (2025-09-22) 2 commits
+  (merged to 'next' on 2025-09-22 at c811e8c172)
+ + t/unit-tests: update to 10e96bc
+  (merged to 'next' on 2025-09-15 at 73402f7652)
+ + t/unit-tests: update clar to fcbed04
 
- Code clean-up.
- source: <906196ac-2fd7-4c07-9e8f-22d67b0b64f9@web.de>
+ Import a newer version of the clar unit testing framework.
+ source: <20250910-b4-pks-clar-update-v1-1-26a196237e0a@pks.im>
+ source: <20250922-pks-clar-update-v1-1-9154e7d1b7a1@pks.im>
+
+
+* pw/3.0-default-initial-branch-to-main (2025-09-10) 4 commits
+  (merged to 'next' on 2025-09-22 at 01bbebdab6)
+ + t0613: stop setting default initial branch
+ + t9902: switch default branch name to main
+ + t4013: switch default branch name to main
+ + breaking-changes: switch default branch to main
+ (this branch is used by jc/3.0-default-initial-branch-to-main-addendum.)
+
+ Declare that "git init" that is not otherwise configured uses
+ 'main' as the initial branch, not 'master', starting Git 3.0.
+ source: <cover.1757518141.git.phillip.wood@dunelm.org.uk>
+
+
+* pw/rebase-i-cleanup-fix (2025-09-18) 2 commits
+  (merged to 'next' on 2025-09-22 at 2d0aec7821)
+ + sequencer: remove VERBATIM_MSG flag
+ + rebase -i: respect commit.cleanup when picking fixups
+
+ "git rebase -i" failed to clean-up the commit log message when the
+ command commits the final one in a chain of "fixup" commands, which
+ has been corrected.
+ source: <cover.1758186038.git.phillip.wood@dunelm.org.uk>
+
+
+* tc/last-modified-recursive-fix (2025-09-18) 1 commit
+  (merged to 'next' on 2025-09-23 at 3be2b08060)
+ + last-modified: fix bug when some paths remain unhandled
+
+ "git last-modified" operating in non-recursive mode used to trigger
+ a BUG(), which has been corrected.
+ source: <20250918-toon-fix-last-modified-v3-1-0c3910e224f6@iotcl.com>
 
 --------------------------------------------------
 [New Topics]
 
-* kh/format-patch-range-diff-notes (2025-09-25) 3 commits
- - format-patch: handle range-diff on notes correctly for single patches
- - revision: add rdiff_log_arg to rev_info
- - range-diff: rename other_arg to log_arg
+* rj/doc-missing-technical-docs (2025-09-25) 1 commit
+ - doc: add some missing technical documents
+ (this branch is used by rj/doc-technical-rfc.)
 
- "git format-patch --range-diff=... --notes=..." did not drive the
- underlying range-diff with correct --notes parameter, ending up
- comparing with different set of notes from its main patch output
- you would get from "git format-patch --notes=..." for a singleton
- patch.
+ Doc updates.
 
  Will merge to 'next'?
- source: <v2-cover.1758819879.git.code@khaugsbakk.name>
+ source: <2326e1c8-19a3-4454-ab71-0a6cfa8cf8e9@ramsayjones.plus.com>
 
 
-* je/doc-pull (2025-09-23) 4 commits
- - doc: git-pull: clarify how to exit a conflicted merge
- - doc: git-pull: delete the example
- - doc: git-pull: clarify options for integrating remote branch
- - doc: git-pull: move <repository> and <refspec> params
+* rj/doc-technical-rfc (2025-09-25) 3 commits
+ - doc: commit-graph.adoc: fix up some formatting
+ - doc: sparse-checkout.adoc: fix asciidoc warnings
+ - doc: remembering-renames.adoc: fix asciidoc warnings
+ (this branch uses rj/doc-missing-technical-docs.)
 
- Documentation updates.
- source: <pull.1976.git.1758656702.gitgitgadget@gmail.com>
+ Documenation mark-up fixes.
 
+ RFC.
+ source: <875fb7a0-6dd9-412b-a34a-21758c339871@ramsayjones.plus.com>
 
-* je/doc-push-upstream (2025-09-23) 4 commits
- - doc: git-push: clarify "what to push"
- - doc: git-push: clarify "where to push"
- - doc: add an UPSTREAM BRANCHES section to pull/push/fetch
- - doc: git-push: clarify intro
 
- Documentation updates.
- source: <pull.1964.v3.git.1758649472.gitgitgadget@gmail.com>
+* ja/doc-markup-attached-paragraph-fix (2025-09-27) 1 commit
+ - doc: change the markup of paragraphs following a nested list item
 
+ Documentation mark-up fix.
 
-* jk/diff-no-index-with-pathspec-fix (2025-09-24) 1 commit
- - diff --no-index: fix logic for paths ending in '/'
+ Will merge to 'next'.
+ source: <20250927195032.37223-1-jn.avila@free.fr>
 
- An earlier addition to "git diff --no-index A B" to limit the
- output with pathspec after the two directories misbehaved when
- these directories were given with a trailing slash, which has been
- corrected.
- source: <20250924-jk-fix-no-index-path-with-slash-v1-1-6b2028c0de92@intel.com>
 
+* jc/optional-path (2025-09-28) 3 commits
+ - parseopt: values of pathname type can be prefixed with :(optional)
+ - config: values of pathname type can be prefixed with :(optional)
+ - t7500: make each piece more independent
 
-* jt/repo-stats (2025-09-24) 6 commits
- - builtin/repo: add progress meter for stats
- - builtin/repo: add keyvalue and nul format for stats
- - builtin/repo: add object counts in stats output
- - builtin/repo: introduce stats subcommand
- - ref-filter: allow NULL filter pattern
- - builtin/repo: rename repo_info() to cmd_repo_info()
+ Configuration variables that take a pathname as a value
+ (e.g. blame.ignorerevsfile) can be marked as optional by prefixing
+ ":(optoinal)" before its value.
+
+ Comments?
+ source: <cover.1759094936.git.ben.knoble+github@gmail.com>
+
+
+* jt/clang-format-foreach-wo-space-before-parenthesis (2025-09-27) 1 commit
+ - clang-format: exclude control macros from SpaceBeforeParens
+
+ Clang-format update to let our control macros formatted the way we
+ had them traditionally, e.g., "for_each_string_list_item()" without
+ space before the parentheses.
+
+ Will merge to 'next'.
+ source: <20250927145049.723341-4-jltobler@gmail.com>
+
+
+* kh/doc-patch-id-markup-fix (2025-09-28) 1 commit
+ - doc: patch-id: fix accidental literal blocks
+
+ Documenaotin mark-up fix.
+
+ Will merge to 'next'?
+ source: <0520e8f9caf.1759067095.git.code@khaugsbakk.name>
 
- "git repo stats", a new command.
- source: <20250924212426.2930029-1-jltobler@gmail.com>
+
+* sa/replay-atomic-ref-updates (2025-09-26) 1 commit
+ - replay: make atomic ref updates the default behavior
+
+ "git replay" (experimental) learned to perform ref updates itself
+ in a transaction by default, instead of emitting where each refs
+ should point at and leaving the actual update to another command.
+
+ Comments?
+ source: <20250926230838.35870-2-siddharthasthana31@gmail.com>
 
 --------------------------------------------------
 [Stalled]
@@ -190,25 +306,66 @@ well with other topics in 'seen' (and of course 'next' and
 --------------------------------------------------
 [Cooking]
 
-* jk/setup-revisions-freefix (2025-09-19) 6 commits
-  (merged to 'next' on 2025-09-23 at e30036fad0)
- + revision: retain argv NULL invariant in setup_revisions()
- + treewide: pass strvecs around for setup_revisions_from_strvec()
- + treewide: use setup_revisions_from_strvec() when we have a strvec
- + revision: add wrapper to setup_revisions() from a strvec
- + revision: manage memory ownership of argv in setup_revisions()
- + stash: tell setup_revisions() to free our allocated strings
+* kh/format-patch-range-diff-notes (2025-09-25) 3 commits
+ - format-patch: handle range-diff on notes correctly for single patches
+ - revision: add rdiff_log_arg to rev_info
+ - range-diff: rename other_arg to log_arg
 
- There are double frees and leaks around setup_revisions() API used
- in "git stash show", which has been fixed, and setup_revisions()
- API gained a wrapper to make it more ergonomic when using it with
- strvec-manged argc/argv pairs.
+ "git format-patch --range-diff=... --notes=..." did not drive the
+ underlying range-diff with correct --notes parameter, ending up
+ comparing with different set of notes from its main patch output
+ you would get from "git format-patch --notes=..." for a singleton
+ patch.
 
- Will merge to 'master'.
- source: <20250919223351.GA3906184@coredump.intra.peff.net>
+ Will merge to 'next'?
+ source: <v2-cover.1758819879.git.code@khaugsbakk.name>
 
 
-* js/curl-off-t-fixes (2025-09-21) 3 commits
+* je/doc-pull (2025-09-23) 4 commits
+ - doc: git-pull: clarify how to exit a conflicted merge
+ - doc: git-pull: delete the example
+ - doc: git-pull: clarify options for integrating remote branch
+ - doc: git-pull: move <repository> and <refspec> params
+
+ Documentation updates.
+ source: <pull.1976.git.1758656702.gitgitgadget@gmail.com>
+
+
+* je/doc-push-upstream (2025-09-23) 4 commits
+ - doc: git-push: clarify "what to push"
+ - doc: git-push: clarify "where to push"
+ - doc: add an UPSTREAM BRANCHES section to pull/push/fetch
+ - doc: git-push: clarify intro
+
+ Documentation updates.
+ source: <pull.1964.v3.git.1758649472.gitgitgadget@gmail.com>
+
+
+* jk/diff-no-index-with-pathspec-fix (2025-09-24) 1 commit
+ - diff --no-index: fix logic for paths ending in '/'
+
+ An earlier addition to "git diff --no-index A B" to limit the
+ output with pathspec after the two directories misbehaved when
+ these directories were given with a trailing slash, which has been
+ corrected.
+ source: <20250924-jk-fix-no-index-path-with-slash-v1-1-6b2028c0de92@intel.com>
+
+
+* jt/repo-stats (2025-09-27) 6 commits
+ - builtin/repo: add progress meter for stats
+ - builtin/repo: add keyvalue and nul format for stats
+ - builtin/repo: add object counts in stats output
+ - builtin/repo: introduce stats subcommand
+ - ref-filter: allow NULL filter pattern
+ - builtin/repo: rename repo_info() to cmd_repo_info()
+
+ "git repo stats", a new command.
+
+ Comments?
+ source: <20250927145049.723341-1-jltobler@gmail.com>
+
+
+* js/curl-off-t-fixes (2025-09-26) 3 commits
  - http-push: avoid new compile error
  - imap-send: be more careful when casting to `curl_off_t`
  - http: offer to cast `size_t` to `curl_off_t` safely
@@ -216,18 +373,15 @@ well with other topics in 'seen' (and of course 'next' and
  A few places where an size_t value was cast to curl_off_t without
  checking has been updated to use the existing helper function.
 
- Expecting a (hopefully small) reroll to clarify log message.
- cf. <pull.1974.git.1758457356.gitgitgadget@gmail.com>
- source: <pull.1974.git.1758457356.gitgitgadget@gmail.com>
+ Will merge to 'next'.
+ source: <pull.1974.v2.git.1758882772.gitgitgadget@gmail.com>
 
 
-* kn/reftable-consistency-checks (2025-09-18) 9 commits
- - fixup! reftable: check for trailing newline in 'tables.list'
+* kn/reftable-consistency-checks (2025-09-26) 7 commits
  - refs/reftable: add fsck check for checking the table name
  - reftable: add code to facilitate consistency checks
  - fsck: order 'fsck_msg_type' alphabetically
  - Documentation/fsck-msgids: remove duplicate msg id
- - reftable: ensure tables in a stack use sequential update indices
  - reftable: check for trailing newline in 'tables.list'
  - refs: move consistency check msg to generic layer
  - refs: remove unused headers
@@ -235,57 +389,8 @@ well with other topics in 'seen' (and of course 'next' and
  The reftable backend learned to sanity check its on-disk data more
  carefully.
 
- Expecting a reroll.
- cf. <CAOLa=ZQMDjpMLeyHxeePY3VQjD1GhotXA6-GDhTNY_BDu4zSVQ@mail.gmail.com>
- source: <20250918-228-reftable-introduce-consistency-checks-v3-0-271af03eb34d@gmail.com>
-
-
-* pw/rebase-i-cleanup-fix (2025-09-18) 2 commits
-  (merged to 'next' on 2025-09-22 at 2d0aec7821)
- + sequencer: remove VERBATIM_MSG flag
- + rebase -i: respect commit.cleanup when picking fixups
-
- "git rebase -i" failed to clean-up the commit log message when the
- command commits the final one in a chain of "fixup" commands, which
- has been corrected.
-
- Will merge to 'master'.
- source: <cover.1758186038.git.phillip.wood@dunelm.org.uk>
-
-
-* tc/last-modified-recursive-fix (2025-09-18) 1 commit
-  (merged to 'next' on 2025-09-23 at 3be2b08060)
- + last-modified: fix bug when some paths remain unhandled
-
- "git last-modified" operating in non-recursive mode used to trigger
- a BUG(), which has been corrected.
-
- Will merge to 'master'.
- source: <20250918-toon-fix-last-modified-v3-1-0c3910e224f6@iotcl.com>
-
-
-* en/rust-wip (2025-09-16) 18 commits
- . misc::varint: reimplement as test balloon for Rust
- . misc: use BuildHelper
- . build: new crate, misc
- . varint: use explicit width for integers
- . build-helper: cbindgen, let crates generate a header file
- . build-helper: link against libgit.a and any other required C libraries
- . build: new crate, build-helper
- . github workflows: upload Cargo.lock
- . win+Meson: do allow linking with the Rust-built xdiff
- . github workflows: install rust
- . help: report on whether or not Rust is enabled
- . build: introduce rust
- . BreakingChanges: announce Rust becoming mandatory
- . doc: add a policy for using Rust
- . make: merge reftable lib into libgit.a
- . make: merge xdiff lib into libgit.a
- . make: add -fPIE flag
- . cleanup: rename variables that collide with Rust primitive type names
-
- Expecting a reroll, but probably xdiff stuff comes first?
- source: <pull.2043.v2.git.git.1758071798.gitgitgadget@gmail.com>
+ Comments?
+ source: <20250926-228-reftable-introduce-consistency-checks-v4-0-c96fd8551c0d@gmail.com>
 
 
 * bc/sha1-256-interop-01 (2025-09-19) 10 commits
@@ -319,57 +424,15 @@ well with other topics in 'seen' (and of course 'next' and
  source: <pull.1863.v3.git.1758813038.gitgitgadget@gmail.com>
 
 
-* dk/stash-apply-index (2025-09-21) 4 commits
-  (merged to 'next' on 2025-09-23 at 04e76cf5be)
- + stash: honor stash.index in apply, pop modes
- + stash: refactor private config globals
- + t3905: remove unneeded blank line
- + t3903: reduce dependencies on previous tests
-
- The stash.index configuration variable can be set to make "git stash
- pop/apply" pretend that it was invoked with "--index".
-
- Will merge to 'master'.
- source: <cover.1758505011.git.ben.knoble+github@gmail.com>
-
-
-* jk/color-variable-fixes (2025-09-16) 13 commits
-  (merged to 'next' on 2025-09-23 at 8aa3006a1e)
- + config: store want_color() result in a separate bool
- + add-interactive: retain colorbool values longer
- + color: return bool from want_color()
- + color: use git_colorbool enum type to store colorbools
- + pretty: use format_commit_context.auto_color as colorbool
- + diff: stop passing ecbdata->use_color as boolean
- + diff: pass o->use_color directly to fill_metainfo()
- + diff: don't use diff_options.use_color as a strict bool
- + diff: simplify color_moved check when flushing
- + grep: don't treat grep_opt.color as a strict bool
- + color: return enum from git_config_colorbool()
- + color: use GIT_COLOR_* instead of numeric constants
- + Merge branch 'jk/add-i-color' into jk/color-variable-fixes
-
- Some places in the code confused a variable that is *not* a boolean
- to enable color but is an enum that records what the user requested
- to do about color.  A couple of bugs of this sort have been fixed,
- while the code has been cleaned up to prevent similar bugs in the
- future.
-
- Will merge to 'master'.
- source: <20250916201036.GA612463@coredump.intra.peff.net>
- source: <20250916202408.GI612873@coredump.intra.peff.net>
-
-
-* en/xdiff-cleanup (2025-09-23) 13 commits
+* en/xdiff-cleanup (2025-09-26) 12 commits
  - xdiff: change type of xdfile_t.changed from char to bool
- - xdiff: use enum macros NONE(0), SOME(1), TOO_MANY(2) in xprepare.c
+ - xdiff: add macros DISCARD(0), KEEP(1), INVESTIGATE(2) in xprepare.c
  - xdiff: rename rchg -> changed in xdfile_t
- - xdiff: delete rchg aliasing
  - xdiff: delete chastore from xdfile_t
  - xdiff: delete fields ha, line, size in xdlclass_t in favor of an xrecord_t
  - xdiff: delete redundant array xdfile_t.ha
  - xdiff: delete struct diffdata_t
- - xdiff: delete superfluous local variables that alias fields in xrecord_t
+ - xdiff: delete local variables that alias fields in xrecord_t
  - xdiff: delete superfluous function xdl_get_rec() in xemit
  - xdiff: delete unnecessary fields from xrecord_t and xdfile_t
  - xdiff: delete local variables and initialize/free xdfile_t directly
@@ -378,33 +441,8 @@ well with other topics in 'seen' (and of course 'next' and
  A lot of code clean-up of xdiff.
  Split out of a larger topic.
 
- Expecting a reroll with better log messages.
- cf. <CAH=ZcbC-cB35AGmiKgEQdFa5ee+DftwOQ_dUe4=T+Vq-dxR+qQ@mail.gmail.com>
- source: <pull.2048.v5.git.git.1758662670.gitgitgadget@gmail.com>
-
-
-* jc/3.0-default-initial-branch-to-main-addendum (2025-09-17) 1 commit
-  (merged to 'next' on 2025-09-22 at dc4168c337)
- + initial branch: give hints after switching the default name
- (this branch uses pw/3.0-default-initial-branch-to-main.)
-
- Keep giving hint about the default initial branch name for users
- who may be surprised after Git 3.0 switchover.
-
- Will merge to 'master'.
- source: <cover.1757518141.git.phillip.wood@dunelm.org.uk>
-
-
-* nb/send-email-no-dup-reply-to (2025-09-16) 1 commit
-  (merged to 'next' on 2025-09-18 at d7081e00ec)
- + send-email: don't duplicate Reply-to: in intro message
-
- "git send-email --compose --reply-to=<address>" used to add
- duplicated Reply-To: header, which made mailservers unhappy.  This
- has been corrected.
-
- Will merge to 'master'.
- source: <175809074627.1696783.67425889158412786@noble.neil.brown.name>
+ Will merge to 'next'?
+ source: <pull.2048.v6.git.git.1758926520.gitgitgadget@gmail.com>
 
 
 * ar/submodule-gitdir-tweak (2025-09-08) 10 commits
@@ -429,26 +467,14 @@ well with other topics in 'seen' (and of course 'next' and
 
 
 * je/doc-push (2025-09-23) 2 commits
- - doc: git-push: rewrite refspec specification
- - doc: git-push: create PUSH RULES section
+  (merged to 'next' on 2025-09-29 at 4ff1b675ed)
+ + doc: git-push: rewrite refspec specification
+ + doc: git-push: create PUSH RULES section
 
  Doc updates.
 
- Will merge to 'next'.
- source: <pull.1973.v2.git.1758651049.gitgitgadget@gmail.com>
-
-
-* ps/clar-updates (2025-09-22) 2 commits
-  (merged to 'next' on 2025-09-22 at c811e8c172)
- + t/unit-tests: update to 10e96bc
-  (merged to 'next' on 2025-09-15 at 73402f7652)
- + t/unit-tests: update clar to fcbed04
-
- Import a newer version of the clar unit testing framework.
-
  Will merge to 'master'.
- source: <20250910-b4-pks-clar-update-v1-1-26a196237e0a@pks.im>
- source: <20250922-pks-clar-update-v1-1-9154e7d1b7a1@pks.im>
+ source: <pull.1973.v2.git.1758651049.gitgitgadget@gmail.com>
 
 
 * ps/config-get-color-fixes (2025-09-22) 5 commits
@@ -519,21 +545,6 @@ well with other topics in 'seen' (and of course 'next' and
  source: <20250917181427.3193500-1-christian.couder@gmail.com>
 
 
-* pw/3.0-default-initial-branch-to-main (2025-09-10) 4 commits
-  (merged to 'next' on 2025-09-22 at 01bbebdab6)
- + t0613: stop setting default initial branch
- + t9902: switch default branch name to main
- + t4013: switch default branch name to main
- + breaking-changes: switch default branch to main
- (this branch is used by jc/3.0-default-initial-branch-to-main-addendum.)
-
- Declare that "git init" that is not otherwise configured uses
- 'main' as the initial branch, not 'master', starting Git 3.0.
-
- Will merge to 'master'.
- source: <cover.1757518141.git.phillip.wood@dunelm.org.uk>
-
-
 * ps/commit-graph-per-object-source (2025-09-04) 6 commits
  - odb: move commit-graph into the object sources
  - commit-graph: pass graphs that are to be merged as parameter
@@ -603,79 +614,31 @@ well with other topics in 'seen' (and of course 'next' and
 
 
 * ps/packfile-store (2025-09-23) 16 commits
- - packfile: refactor `get_packed_git_mru()` to work on packfile store
- - packfile: refactor `get_all_packs()` to work on packfile store
- - packfile: refactor `get_packed_git()` to work on packfile store
- - packfile: move `get_multi_pack_index()` into "midx.c"
- - packfile: introduce function to load and add packfiles
- - packfile: refactor `install_packed_git()` to work on packfile store
- - packfile: split up responsibilities of `reprepare_packed_git()`
- - packfile: refactor `prepare_packed_git()` to work on packfile store
- - packfile: reorder functions to avoid function declaration
- - odb: move kept cache into `struct packfile_store`
- - odb: move MRU list of packfiles into `struct packfile_store`
- - odb: move packfile map into `struct packfile_store`
- - odb: move initialization bit into `struct packfile_store`
- - odb: move list of packfiles into `struct packfile_store`
- - packfile: introduce a new `struct packfile_store`
- - Merge branch 'ps/object-store-midx-dedup-info' into ps/packfile-store
+  (merged to 'next' on 2025-09-29 at 342bb57fc2)
+ + packfile: refactor `get_packed_git_mru()` to work on packfile store
+ + packfile: refactor `get_all_packs()` to work on packfile store
+ + packfile: refactor `get_packed_git()` to work on packfile store
+ + packfile: move `get_multi_pack_index()` into "midx.c"
+ + packfile: introduce function to load and add packfiles
+ + packfile: refactor `install_packed_git()` to work on packfile store
+ + packfile: split up responsibilities of `reprepare_packed_git()`
+ + packfile: refactor `prepare_packed_git()` to work on packfile store
+ + packfile: reorder functions to avoid function declaration
+ + odb: move kept cache into `struct packfile_store`
+ + odb: move MRU list of packfiles into `struct packfile_store`
+ + odb: move packfile map into `struct packfile_store`
+ + odb: move initialization bit into `struct packfile_store`
+ + odb: move list of packfiles into `struct packfile_store`
+ + packfile: introduce a new `struct packfile_store`
+ + Merge branch 'ps/object-store-midx-dedup-info' into ps/packfile-store
+ (this branch is used by tb/incremental-midx-part-3.1.)
 
  Code clean-up around the in-core list of all the pack files and
  object database(s).
 
- Will merge to 'next'.
- source: <20250923-b4-pks-packfiles-store-v6-0-b48f2a882759@pks.im>
-
-
-* kn/refs-files-case-insensitive (2025-09-17) 4 commits
-  (merged to 'next' on 2025-09-23 at 51c2a665f0)
- + refs/files: handle D/F conflicts during locking
- + refs/files: handle F/D conflicts in case-insensitive FS
- + refs/files: use correct error type when lock exists
- + refs/files: catch conflicts on case-insensitive file-systems
-
- Deal more gracefully with directory / file conflicts when the files
- backend is used for ref storage, by failing only the ones that are
- involved in the conflict while allowing others.
-
- Will merge to 'master'.
- source: <20250917-587-git-fetch-1-fails-fetches-on-case-insensitive-repositories-v4-0-da3c74a08ed0@gmail.com>
-
-
-* en/rust-xdiff (2025-09-07) 8 commits
- . xdiff: change the types of dstart, dend, rchg, and rindex in xdfile_t
- . xdiff: make xdfile_t.nreff a usize instead of long
- . xdiff: make xdfile_t.nrec a usize instead of long
- . xdiff: split xrecord_t.ha into line_hash and minimal_perfect_hash
- . xdiff: make xrecord_t.size a usize instead of long
- . xdiff: make xrecord_t.ptr a u8 instead of char
- . xdiff: include compat/rust_types.h
- . compat/rust_types.h: define rust primitive types
- . Merge branch 'en/xdiff-cleanup' into en/rust-xdiff
-
- Use Rust-friendly types in xdiff code.
-
- Expecting a reroll based on the updated base topic, but the base
- topic may further be updated first?
- cf. <CAH=ZcbA5hAM9kmO410KzVW7RXWWiwX2oJk6GGPP+6oVYatRVOw@mail.gmail.com>
- source: <pull.2048.git.git.1757274320.gitgitgadget@gmail.com>
-
-
-* je/doc-checkout (2025-09-10) 7 commits
-  (merged to 'next' on 2025-09-23 at b776ac7a24)
- + doc: git-checkout: clarify restoring files section
- + doc: git-checkout: split up restoring files section
- + doc: git-checkout: deduplicate --detach explanation
- + doc: git-checkout: clarify `-b` and `-B`
- + doc: git-checkout: clarify `git checkout <branch>`
- + doc: git-checkout: clarify ARGUMENT DISAMBIGUATION
- + doc: git-checkout: clarify intro sentence
-
- Doc updates.
-
  Will merge to 'master'.
- cf. <236a79f4-e9a2-4335-bbff-79ae0cc67e9b@app.fastmail.com>
- source: <pull.1962.v4.git.1757531669.gitgitgadget@gmail.com>
+ cf. <aNmxQqV3+1Ad12qC@nand.local>
+ source: <20250923-b4-pks-packfiles-store-v6-0-b48f2a882759@pks.im>
 
 
 * kh/you-still-use-whatchanged-fix (2025-09-17) 9 commits
@@ -711,5 +674,55 @@ well with other topics in 'seen' (and of course 'next' and
  prune otherwise unused working-tree files that are outside the
  areas of interest.
 
- Will merge to 'master'.
+ On hold.
+ cf. <3537e220-44b6-4e37-a568-cef34a2fddfd@gmail.com>
  source: <pull.1941.v3.git.1757673011.gitgitgadget@gmail.com>
+
+--------------------------------------------------
+[Discarded]
+
+These have been kept outside 'seen' for some time, and were removed
+for now, until they are resubmit in a shape that plays well with
+other topics in 'seen'.
+
+* en/rust-xdiff (2025-09-07) 8 commits
+ . xdiff: change the types of dstart, dend, rchg, and rindex in xdfile_t
+ . xdiff: make xdfile_t.nreff a usize instead of long
+ . xdiff: make xdfile_t.nrec a usize instead of long
+ . xdiff: split xrecord_t.ha into line_hash and minimal_perfect_hash
+ . xdiff: make xrecord_t.size a usize instead of long
+ . xdiff: make xrecord_t.ptr a u8 instead of char
+ . xdiff: include compat/rust_types.h
+ . compat/rust_types.h: define rust primitive types
+ . Merge branch 'en/xdiff-cleanup' into en/rust-xdiff
+
+ Use Rust-friendly types in xdiff code.
+
+ Expecting a reroll based on the updated base topic, but the base
+ topic may further be updated first?
+ cf. <CAH=ZcbA5hAM9kmO410KzVW7RXWWiwX2oJk6GGPP+6oVYatRVOw@mail.gmail.com>
+ source: <pull.2048.git.git.1757274320.gitgitgadget@gmail.com>
+
+
+* en/rust-wip (2025-09-16) 18 commits
+ . misc::varint: reimplement as test balloon for Rust
+ . misc: use BuildHelper
+ . build: new crate, misc
+ . varint: use explicit width for integers
+ . build-helper: cbindgen, let crates generate a header file
+ . build-helper: link against libgit.a and any other required C libraries
+ . build: new crate, build-helper
+ . github workflows: upload Cargo.lock
+ . win+Meson: do allow linking with the Rust-built xdiff
+ . github workflows: install rust
+ . help: report on whether or not Rust is enabled
+ . build: introduce rust
+ . BreakingChanges: announce Rust becoming mandatory
+ . doc: add a policy for using Rust
+ . make: merge reftable lib into libgit.a
+ . make: merge xdiff lib into libgit.a
+ . make: add -fPIE flag
+ . cleanup: rename variables that collide with Rust primitive type names
+
+ Expecting a reroll, but probably xdiff stuff comes first?
+ source: <pull.2043.v2.git.git.1758071798.gitgitgadget@gmail.com>