To: git@vger.kernel.org
-Subject: What's cooking in git.git (Oct 2025, #08; Thu, 23)
-X-master-at: c54a18ef67e59cdbcd77d6294916d42c98c62d1d
-X-next-at: 9642f0746afcd024a1d644aa35c3a96e7f258616
+Subject: What's cooking in git.git (Oct 2025, #09; Sat, 25)
+X-master-at: 4e98b730f18d59b670ee57b803e5048b9d14b968
+X-next-at: 1543da99c27235b2546b704d05475f87972d1197
Bcc: lwn@lwn.net, gitster@pobox.com
-What's cooking in git.git (Oct 2025, #08; Thu, 23)
+What's cooking in git.git (Oct 2025, #09; Sat, 25)
--------------------------------------------------
Here are the topics that have been cooking in my tree. Commits
--------------------------------------------------
[Graduated to 'master']
-* bc/sha1-256-interop-01 (2025-10-09) 9 commits
- (merged to 'next' on 2025-10-14 at c571bab975)
- + t1010: use BROKEN_OBJECTS prerequisite
- + t: allow specifying compatibility hash
- + fsck: consider gpgsig headers expected in tags
- + rev-parse: allow printing compatibility hash
- + docs: add documentation for loose objects
- + docs: improve ambiguous areas of pack format documentation
- + docs: reflect actual double signature for tags
- + docs: update offset order for pack index v3
- + docs: update pack index v3 format
-
- The beginning of SHA1-SHA256 interoperability work.
- source: <20251009215626.3089287-1-sandals@crustytoothpaste.net>
-
-
-* je/doc-pull (2025-10-15) 4 commits
- (merged to 'next' on 2025-10-16 at 71e7a0cac0)
- + 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
+* jc/diff-from-contents-fix (2025-10-22) 1 commit
+ (merged to 'next' on 2025-10-23 at fae07d2113)
+ + diff: make sure the other caller of diff_flush_patch_quietly() is silent
+ (this branch is used by ly/diff-name-only-with-diff-from-content; uses jk/diff-from-contents-fix.)
- Documentation updates.
- source: <pull.1976.v3.git.1760534011.gitgitgadget@gmail.com>
+ The code to squelch output from "git diff -w --name-status"
+ etc. for paths that "git diff -w -p" would have stayed silent
+ leaked output from dry-run patch generation, which has been
+ corrected.
+ source: <xmqqy0p4wcac.fsf@gitster.g>
+
+
+* jc/t1016-setup-fix (2025-10-10) 1 commit
+ (merged to 'next' on 2025-10-24 at 7d5464a96f)
+ + t1016: make sure to use specified GPG
+
+ GPG signing test set-up has been broken for a year, which has been
+ corrected.
+ source: <xmqqsefq7947.fsf@gitster.g>
+
+
+* jk/diff-from-contents-fix (2025-10-17) 2 commits
+ (merged to 'next' on 2025-10-20 at 19442a804e)
+ + diff: restore redirection to /dev/null for diff_from_contents
+ + Merge branch 'ly/diff-name-only-with-diff-from-content' into jk/diff-from-contents-fix
+ (this branch is used by jc/diff-from-contents-fix and ly/diff-name-only-with-diff-from-content.)
+
+ Recently we attempted to improve "git diff -w" and friends to
+ handle cases where patch output would be suppressed, but it
+ introduced a bug that emits unnecessary output, which has been
+ corrected.
+
+ Will merge to 'master' and then to 'maint'.
+ source: <20251017083641.GB4073661@coredump.intra.peff.net>
-* js/ci-github-actions-update (2025-10-16) 4 commits
- (merged to 'next' on 2025-10-17 at 6fa7439b70)
- + build(deps): bump actions/github-script from 7 to 8
- + build(deps): bump actions/setup-python from 5 to 6
- + build(deps): bump actions/checkout from 4 to 5
- + build(deps): bump actions/download-artifact from 4 to 5
+* jk/status-z-short-fix (2025-10-17) 1 commit
+ (merged to 'next' on 2025-10-20 at 0d649c97b7)
+ + status: make coloring of "-z --short" consistent
+
+ The "--short" option of "git status" that meant output for humans
+ and "-z" option to show NUL delimited output format did not mix
+ well, and colored some but not all things. The command has been
+ updated to color all elements consistently in such a case.
+ source: <20251017084455.GA4096702@coredump.intra.peff.net>
+
+
+* js/t7500-pwd-windows-fix (2025-10-20) 1 commit
+ (merged to 'next' on 2025-10-20 at d3996041e8)
+ + t7500: fix tests with absolute path following ":(optional)" on Windows
+
+ Test fix.
+ source: <6a83c7d1-7cd4-432e-a0ab-7b18ce3af08d@kdbg.org>
+
- CI update.
- source: <pull.1990.git.1760629692.gitgitgadget@gmail.com>
+* ps/t7528-ssh-agent-uds-workaround (2025-10-23) 1 commit
+ (merged to 'next' on 2025-10-23 at 9642f0746a)
+ + t7528: work around ETOOMANY in OpenSSH 10.1 and newer
+ Recent OpenSSH creates the Unix domain socket to communicate with
+ ssh-agent under $HOME instead of /tmp, which causes our test to
+ fail doe to overly long pathname in our test environment, which has
+ been worked around by using "ssh-agent -T".
+ source: <20251023-b4-pks-t7528-ssh-agent-socket-name-too-long-v1-1-f15eeec199f3@pks.im>
-* so/t2401-use-test-path-helpers (2025-10-15) 1 commit
- (merged to 'next' on 2025-10-16 at b6fe4d2222)
- + t2401: update path checks using test_path helpers
- Test modernization.
- source: <20251015140329.13691-2-solobarine@gmail.com>
+* rj/doc-technical-fixes (2025-10-16) 4 commits
+ (merged to 'next' on 2025-10-23 at 0af15d1860)
+ + doc: add large-object-promisors.adoc to the docs build
+ + doc: commit-graph.adoc: fix up some formatting
+ + doc: sparse-checkout.adoc: fix asciidoc warnings
+ + doc: remembering-renames.adoc: fix asciidoc warnings
+
+ Documentation mark-up fixes.
+ source: <20251016200301.1595204-1-ramsay@ramsayjones.plus.com>
+
+
+* rs/add-patch-document-p-for-pager (2025-10-21) 1 commit
+ (merged to 'next' on 2025-10-22 at 7937ae0274)
+ + add-patch: fully document option P
+
+ Show 'P'ipe command in "git add -p".
+ source: <0188c766-d788-476d-a4d4-f95a6f59b31b@web.de>
+
+
+* tb/unicode-width-table-17 (2025-10-21) 1 commit
+ (merged to 'next' on 2025-10-22 at 6382b8bd44)
+ + unicode: update the width tables to Unicode 17
+
+ Unicode width table update.
+ source: <20251021094849.93284-1-tboegi@web.de>
+
+
+* tu/credential-makefile-updates (2025-10-20) 1 commit
+ (merged to 'next' on 2025-10-22 at 1a8d65324c)
+ + contrib/credential: harmonize Makefiles
+
+ Build procedure for a few credential helpers (in contrib/) have
+ been updated.
+ source: <0a61b0b3-365b-c198-6afd-f26fcd5a9c20@mailbox.tu-dresden.de>
--------------------------------------------------
[New Topics]
+* jk/diff-patch-dry-run-cleanup (2025-10-24) 6 commits
+ - diff: simplify run_external_diff() quiet logic
+ - diff: drop dry-run redirection to /dev/null
+ - diff: replace diff_options.dry_run flag with NULL file
+ - diff: drop save/restore of color_moved in dry-run mode
+ - diff: send external diff output to diff_options.file
+ - Merge branch 'ly/diff-name-only-with-diff-from-content' into jk/diff-patch-dry-run-cleanup
+ (this branch uses ly/diff-name-only-with-diff-from-content.)
+
+ Finishing touches to fixes to the recent regression in "git diff -w
+ --quiet" and anything that needs to internally generate patch to
+ see if it turns empty.
+
+ Will merge to 'next'.
+ source: <20251024170522.GA2344972@coredump.intra.peff.net>
+
+
+* qj/doc-first-contrib-check-lore (2025-10-24) 1 commit
+ - MyFirstContribution: add tip to confirm patches reached the mailing list
+ (this branch uses ps/ci-rust and ps/rust-cbindgen.)
+
+ Doc update.
+
+ Comments?
+ source: <20251024-b4-pks-rust-cbindgen-v2-0-4b4bd4f18490@pks.im>
+
+
+* rs/merge-base-optim (2025-10-24) 1 commit
+ - commit-reach: avoid commit_list_insert_by_date()
+
+ The code to walk revision graph to compute merge base has been
+ optimized.
+
+ Will merge to 'next'.
+ source: <87a00cb8-8faf-48ec-91aa-009e6e906363@web.de>
+
+
+* rs/add-patch-quit (2025-10-24) 2 commits
+ - add-patch: quit on EOF
+ - add-patch: quit without skipping undecided hunks
+
+ The 'q'(uit) command in "git add -p" has been improved to quit
+ without doing any meaningless work before leaving, and giving EOF
+ (typically control-D) to the prompt is made to behave the same way.
+
+ Will merge to 'next'.
+ source: <13529bee-1e02-4c20-9461-6569312bfe4f@web.de>
+
+--------------------------------------------------
+[Cooking]
+
* ey/commit-graph-changed-paths-config (2025-10-17) 1 commit
(merged to 'next' on 2025-10-23 at 48fd936ff1)
+ commit-graph: add new config for changed-paths & recommend it in scalar
source: <pull.1983.v2.git.1760734739642.gitgitgadget@gmail.com>
-* jc/diff-from-contents-fix (2025-10-22) 1 commit
- (merged to 'next' on 2025-10-23 at fae07d2113)
- + diff: make sure the other caller of diff_flush_patch_quietly() is silent
- (this branch is used by ly/diff-name-only-with-diff-from-content; uses jk/diff-from-contents-fix.)
-
- The code to squelch output from "git diff -w --name-status"
- etc. for paths that "git diff -w -p" would have stayed silent
- leaked output from dry-run patch generation, which has been
- corrected.
-
- Will merge to 'master'.
- source: <xmqqy0p4wcac.fsf@gitster.g>
-
-
* ob/gpg-interface-cleanup (2025-10-23) 2 commits
- - gpg-interface: do not use misdesigned strbuf_split*()
- - gpg-interface: do not use misdesigned strbuf_split*()
+ (merged to 'next' on 2025-10-24 at ce6d041635)
+ + gpg-interface: do not use misdesigned strbuf_split*()
+ + gpg-interface: do not use misdesigned strbuf_split*()
strbuf_split*() to split a string into multiple strbufs is often a
wrong API to use. A few uses of it have been removed by
simplifying the code.
- Will merge to 'next'.
+ Will merge to 'master'.
+ cf. <CAP8UFD1fousSKKduFAaZrsV9REnOaRDOQYcqB+rTQ0Ys60OWGA@mail.gmail.com>
source: <cover.1761217100.git.belkid98@gmail.com>
* rz/bisect-help-unknown (2025-10-22) 1 commit
- - bisect: fix handling of `help` and invalid subcommands
+ (merged to 'next' on 2025-10-24 at d0633ab14d)
+ + bisect: fix handling of `help` and invalid subcommands
"git bisect" command did not react correctly to "git bisect help"
and "git bisect unknown", which has been corrected.
- Will merge to 'next'?
+ Will merge to 'master'.
source: <pull.2078.git.git.1761122173126.gitgitgadget@gmail.com>
-* ps/rust-cbindgen (2025-10-23) 4 commits
+* ps/rust-cbindgen (2025-10-24) 6 commits
- rust: generate bindings via cbindgen
- meson: rename Rust library target
- ci: use Debian instead of deprecated i386/ubuntu
+ - gitlab-ci: backfill missing Linux jobs
+ - gitlab-ci: reorder Linux job matrix to match GitHub's order
- Merge branch 'ps/ci-rust' into ps/rust-cbindgen
- (this branch uses ps/ci-rust.)
+ (this branch is used by qj/doc-first-contrib-check-lore; uses ps/ci-rust.)
Introduce cbindgen in the build framework to help interfacing with
Rust.
Comments?
- source: <20251023-b4-pks-rust-cbindgen-v1-0-c19b61b03127@pks.im>
-
-
-* ps/t7528-ssh-agent-uds-workaround (2025-10-23) 1 commit
- (merged to 'next' on 2025-10-23 at 9642f0746a)
- + t7528: work around ETOOMANY in OpenSSH 10.1 and newer
-
- Recent OpenSSH creates the Unix domain socket to communicate with
- ssh-agent under $HOME instead of /tmp, which causes our test to
- fail doe to overly long pathname in our test environment, which has
- been worked around by using "ssh-agent -T".
-
- Will merge to 'master'.
- source: <20251023-b4-pks-t7528-ssh-agent-socket-name-too-long-v1-1-f15eeec199f3@pks.im>
+ source: <20251024-b4-pks-rust-cbindgen-v2-0-4b4bd4f18490@pks.im>
* jk/match-pathname-fix (2025-10-13) 1 commit
The wildmatch code had a corner case bug that mistakenly makes
"foo**/bar" match with "foobar", which has been corrected.
- Will merge to 'next'?
+ Will merge to 'next'.
source: <20251014003404.GC1507@coredump.intra.peff.net>
---------------------------------------------------
-[Cooking]
-
-* js/t7500-pwd-windows-fix (2025-10-20) 1 commit
- (merged to 'next' on 2025-10-20 at d3996041e8)
- + t7500: fix tests with absolute path following ":(optional)" on Windows
-
- Test fix.
-
- Will merge to 'master'.
- source: <6a83c7d1-7cd4-432e-a0ab-7b18ce3af08d@kdbg.org>
-
* kf/log-shortlog-completion-fix (2025-10-20) 1 commit
- - completion: complete some 'git log' options
+ (merged to 'next' on 2025-10-24 at 2300659a0a)
+ + completion: complete some 'git log' options
"git shortlog" knows "--committer" and "--author" options, which
the command line completion (in contrib/) did not handle well,
which has been corrected.
- Will merge to 'next'?
+ Will merge to 'master'.
source: <pull.2073.v2.git.git.1760981577441.gitgitgadget@gmail.com>
* ly/diff-name-only-with-diff-from-content (2025-10-19) 3 commits
- - diff: stop output garbled message in dry run mode
- - Merge branch 'jc/diff-from-contents-fix' into ly/diff-name-only-with-diff-from-content
- - Merge branch 'jk/diff-from-contents-fix' into ly/diff-name-only-with-diff-from-content
- (this branch uses jc/diff-from-contents-fix and jk/diff-from-contents-fix.)
+ (merged to 'next' on 2025-10-24 at 237c19e4e6)
+ + diff: stop output garbled message in dry run mode
+ + Merge branch 'jc/diff-from-contents-fix' into ly/diff-name-only-with-diff-from-content
+ + Merge branch 'jk/diff-from-contents-fix' into ly/diff-name-only-with-diff-from-content
+ (this branch is used by jk/diff-patch-dry-run-cleanup.)
Regression fixes for a topic that has already been merged.
- Will merge to 'next' after the dust settles.
+ Will merge to 'master'.
source: <20251019163024.18939-1-yldhome2d2@gmail.com>
source: <20251021182601.2687284-1-jltobler@gmail.com>
-* ps/maintenance-geometric (2025-10-21) 10 commits
+* ps/maintenance-geometric (2025-10-23) 11 commits
- builtin/maintenance: introduce "geometric" strategy
- builtin/maintenance: make "gc" strategy accessible
- builtin/maintenance: extend "maintenance.strategy" to manual maintenance
- builtin/maintenance: run maintenance tasks depending on type
+ - builtin/maintenance: improve readability of strategies
- builtin/maintenance: don't silently ignore invalid strategy
- builtin/maintenance: make the geometric factor configurable
- builtin/maintenance: introduce "geometric-repack" task
avoids doing maintenance tasks that rebuilds everything from
scratch.
- Comments?
- source: <20251021-pks-maintenance-geometric-strategy-v2-0-f0d727832b80@pks.im>
-
-
-* rs/add-patch-document-p-for-pager (2025-10-21) 1 commit
- (merged to 'next' on 2025-10-22 at 7937ae0274)
- + add-patch: fully document option P
-
- Show 'P'ipe command in "git add -p".
-
- Will merge to 'master'.
- source: <0188c766-d788-476d-a4d4-f95a6f59b31b@web.de>
-
-
-* tb/unicode-width-table-17 (2025-10-21) 1 commit
- (merged to 'next' on 2025-10-22 at 6382b8bd44)
- + unicode: update the width tables to Unicode 17
-
- Unicode width table update.
-
- Will merge to 'master'.
- source: <20251021094849.93284-1-tboegi@web.de>
+ Will merge to 'next'.
+ source: <20251024-pks-maintenance-geometric-strategy-v3-0-9b5b3bdb4387@pks.im>
* en/xdiff-cleanup-2 (2025-10-15) 9 commits
source: <pull.1991.git.1760731558.gitgitgadget@gmail.com>
-* jk/diff-from-contents-fix (2025-10-17) 2 commits
- (merged to 'next' on 2025-10-20 at 19442a804e)
- + diff: restore redirection to /dev/null for diff_from_contents
- + Merge branch 'ly/diff-name-only-with-diff-from-content' into jk/diff-from-contents-fix
- (this branch is used by jc/diff-from-contents-fix and ly/diff-name-only-with-diff-from-content.)
-
- Recently we attempted to improve "git diff -w" and friends to
- handle cases where patch output would be suppressed, but it
- introduced a bug that emits unnecessary output, which has been
- corrected.
-
- Will merge to 'master' and then to 'maint'.
- source: <20251017083641.GB4073661@coredump.intra.peff.net>
-
-
-* jk/status-z-short-fix (2025-10-17) 1 commit
- (merged to 'next' on 2025-10-20 at 0d649c97b7)
- + status: make coloring of "-z --short" consistent
-
- The "--short" option of "git status" that meant output for humans
- and "-z" option to show NUL delimited output format did not mix
- well, and colored some but not all things. The command has been
- updated to color all elements consistently in such a case.
-
- Will merge to 'master'.
- source: <20251017084455.GA4096702@coredump.intra.peff.net>
-
-
-* tu/credential-makefile-updates (2025-10-20) 1 commit
- (merged to 'next' on 2025-10-22 at 1a8d65324c)
- + contrib/credential: harmonize Makefiles
-
- Build procedure for a few credential helpers (in contrib/) have
- been updated.
-
- Will merge to 'master'.
- source: <0a61b0b3-365b-c198-6afd-f26fcd5a9c20@mailbox.tu-dresden.de>
-
-
* ps/symlink-symref-deprecation (2025-10-14) 1 commit
- - refs/files: deprecate writing symrefs as symbolic links
+ (merged to 'next' on 2025-10-24 at b37ca35280)
+ + refs/files: deprecate writing symrefs as symbolic links
"Symlink symref" has been added to the list of things that will
disappear at Git 3.0 boundary.
- Will merge to 'next'.
- source: <20251014-pks-ref-files-deprecate-symbolic-links-v1-1-4bcd6a4ef6f5@pks.im>
+ Will merge to 'master'.
+ source: <20251015-pks-ref-files-deprecate-symbolic-links-v2-1-0529ba48db41@pks.im>
* kh/doc-patch-id-1 (2025-10-13) 2 commits
- doc: patch-id: convert to the modern synopsis style
- Merge branch 'kh/doc-patch-id-markup-fix' into kh/doc-patch-id-1
- Will merge to 'next'?
+ Will merge to 'next'.
source: <v2-38645ea253c.1760369708.git.code@khaugsbakk.name>
source: <20240703153738.916469-1-tmz@pobox.com>
-* jc/t1016-setup-fix (2025-10-10) 1 commit
- - t1016: make sure to use specified GPG
-
- GPG signing test set-up has been broken for a year, which has been
- corrected.
-
- Will merge to 'next'.
- source: <xmqqsefq7947.fsf@gitster.g>
-
-
* cc/fast-import-strip-signed-tags (2025-10-13) 5 commits
(merged to 'next' on 2025-10-22 at c25f8aa54a)
+ fast-import: add '--signed-tags=<mode>' option
+ ci: deduplicate calls to `apt-get update`
+ Merge branch 'ps/gitlab-ci-windows-improvements' into ps/ci-rust
+ Merge branch 'ps/rust-balloon' into ps/ci-rust
- (this branch is used by ps/rust-cbindgen.)
+ (this branch is used by ps/rust-cbindgen and qj/doc-first-contrib-check-lore.)
CI improvements to handle the recent Rust integration better.
* ps/remove-packfile-store-get-packs (2025-10-09) 7 commits
- - packfile: rename `packfile_store_get_all_packs()`
- - packfile: introduce macro to iterate through packs
- - packfile: drop `packfile_store_get_packs()`
- - builtin/grep: simplify how we preload packs
- - builtin/gc: convert to use `packfile_store_get_all_packs()`
- - object-name: convert to use `packfile_store_get_all_packs()`
- - Merge branch 'tb/incremental-midx-part-3.1' into ps/remove-packfile-store-get-packs
+ (merged to 'next' on 2025-10-24 at e2f6fba6fe)
+ + packfile: rename `packfile_store_get_all_packs()`
+ + packfile: introduce macro to iterate through packs
+ + packfile: drop `packfile_store_get_packs()`
+ + builtin/grep: simplify how we preload packs
+ + builtin/gc: convert to use `packfile_store_get_all_packs()`
+ + object-name: convert to use `packfile_store_get_all_packs()`
+ + Merge branch 'tb/incremental-midx-part-3.1' into ps/remove-packfile-store-get-packs
(this branch uses tb/incremental-midx-part-3.1.)
Two slightly different ways to get at "all the packfiles" in API
has been cleaned up.
- Will merge to 'next' after tb/incremental-midx-part-3.1 settles.
+ Will merge to 'master'.
source: <20251009-pks-packfiles-convert-get-all-v2-0-0d73b87ce711@pks.im>
AI guidelines.
- Will merge to 'next'?
+ Will merge to 'next'.
cf. <xmqqv7ki1xf1.fsf@gitster.g>
source: <20251001140310.527097-1-christian.couder@gmail.com>
source: <a203b35538847f3c9358a5ae26fb4ebea5734cfc.1759420102.git.msuchanek@suse.de>
-* rj/doc-technical-fixes (2025-10-16) 4 commits
- (merged to 'next' on 2025-10-23 at 0af15d1860)
- + doc: add large-object-promisors.adoc to the docs build
- + doc: commit-graph.adoc: fix up some formatting
- + doc: sparse-checkout.adoc: fix asciidoc warnings
- + doc: remembering-renames.adoc: fix asciidoc warnings
-
- Documentation mark-up fixes.
-
- Will merge to 'master'.
- source: <20251016200301.1595204-1-ramsay@ramsayjones.plus.com>
-
-
* sa/replay-atomic-ref-updates (2025-10-22) 3 commits
- replay: add replay.refAction config option
- replay: make atomic ref updates the default behavior
in a transaction by default, instead of emitting where each refs
should point at and leaving the actual update to another command.
- Will merge to 'next'?
+ Expecting a (hopefully small and final) reroll.
+ cf. <xmqqzf9encl1.fsf@gitster.g>
source: <20251022185045.29256-1-siddharthasthana31@gmail.com>