From: Junio C Hamano Date: Thu, 25 Sep 2025 20:56:03 +0000 (-0700) Subject: What's cooking (2025/09 #10) X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ff31f76f6cbaf0fcaf95cd0651004ac9ff83be6d;p=thirdparty%2Fgit.git What's cooking (2025/09 #10) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index d2c89ef986..540151d342 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,10 +1,10 @@ To: git@vger.kernel.org -Subject: What's cooking in git.git (Sep 2025, #09; Mon, 22) -X-master-at: ca2559c1d630eb4f04cdee2328aaf1c768907a9e -X-next-at: b178f27e6ddfa8d515dcd445b6bf17119f962c44 +Subject: What's cooking in git.git (Sep 2025, #10; Thu, 25) +X-master-at: bb69721404348ea2db0a081c41ab6ebfe75bdec8 +X-next-at: de9c8c526cb441e136815397089584f539713c71 Bcc: lwn@lwn.net, gitster@pobox.com -What's cooking in git.git (Sep 2025, #09; Mon, 22) +What's cooking in git.git (Sep 2025, #10; Thu, 25) -------------------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -45,39 +45,113 @@ Release tarballs are available at: https://www.kernel.org/pub/software/scm/git/ +-------------------------------------------------- +[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 + has been corrected. + source: <20250908164157.GA1323487@coredump.intra.peff.net> + + +* 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() + + Code clean-up. + source: <906196ac-2fd7-4c07-9e8f-22d67b0b64f9@web.de> + -------------------------------------------------- [New Topics] -* jk/setup-revisions-freefix (2025-09-19) 6 commits - (merged to 'next' on 2025-09-22 at b178f27e6d) - + 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. - Expecting a reroll to fix t3903 - cf. - source: <20250919223351.GA3906184@coredump.intra.peff.net> + Will merge to 'next'? + source: -* js/curl-off-t-fixes (2025-09-21) 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 +* 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 and params - 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. + Documentation updates. + source: - Expecting a (hopefully small) reroll to clarify log message. - cf. - source: + +* 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: + + +* 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-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() + + "git repo stats", a new command. + source: <20250924212426.2930029-1-jltobler@gmail.com> -------------------------------------------------- [Stalled] @@ -116,6 +190,37 @@ 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 + + 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. + + Will merge to 'master'. + source: <20250919223351.GA3906184@coredump.intra.peff.net> + + +* js/curl-off-t-fixes (2025-09-21) 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 + + 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. + source: + + * kn/reftable-consistency-checks (2025-09-18) 9 commits - fixup! reftable: check for trailing newline in 'tables.list' - refs/reftable: add fsck check for checking the table name @@ -130,7 +235,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. - Comments? + Expecting a reroll. + cf. source: <20250918-228-reftable-introduce-consistency-checks-v3-0-271af03eb34d@gmail.com> @@ -148,36 +254,37 @@ well with other topics in 'seen' (and of course 'next' and * tc/last-modified-recursive-fix (2025-09-18) 1 commit - - last-modified: fix bug when some paths remain unhandled + (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 'next'. + 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 + . 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. + Expecting a reroll, but probably xdiff stuff comes first? source: @@ -195,51 +302,52 @@ well with other topics in 'seen' (and of course 'next' and The beginning of SHA1-SHA256 interoperability work. - Comments? + Expecting a reroll. + cf. source: <20250919010911.649831-1-sandals@crustytoothpaste.net> -* pw/add-p-hunk-splitting-fix (2025-09-15) 2 commits +* pw/add-p-hunk-splitting-fix (2025-09-25) 2 commits - add-patch: update hunk splitability after editing - add -p: mark split hunks as undecided Marking a hunk 'selected' in "git add -p" and then splitting made all the split pieces 'selected'; this has been changed to make them - all 'undecided'. + all 'undecided', which gives better end-user experience. - Anybody wants to weign in to tiebreak on the BreakingChanges issue? - cf. - source: + Will merge to 'next'? + source: * dk/stash-apply-index (2025-09-21) 4 commits - - stash: honor stash.index in apply, pop modes - - stash: refactor private config globals - - t3905: remove unneeded blank line - - t3903: reduce dependencies on previous tests + (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 'next'. + Will merge to 'master'. source: * jk/color-variable-fixes (2025-09-16) 13 commits - - 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 - (this branch uses jk/add-i-color.) + (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 @@ -247,29 +355,32 @@ well with other topics in 'seen' (and of course 'next' and while the code has been cleaned up to prevent similar bugs in the future. - Will merge to 'next'. + Will merge to 'master'. source: <20250916201036.GA612463@coredump.intra.peff.net> source: <20250916202408.GI612873@coredump.intra.peff.net> -* en/xdiff-cleanup (2025-09-19) 10 commits - - xdiff: treat xdfile_t.rchg like an enum +* en/xdiff-cleanup (2025-09-23) 13 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: 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 xdl_get_rec() in xemit + - xdiff: delete superfluous 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 - xdiff: delete static forward declarations in xprepare - (this branch is used by en/rust-xdiff.) A lot of code clean-up of xdiff. Split out of a larger topic. - Will merge to 'next'. - source: + Expecting a reroll with better log messages. + cf. + source: * jc/3.0-default-initial-branch-to-main-addendum (2025-09-17) 1 commit @@ -317,53 +428,14 @@ well with other topics in 'seen' (and of course 'next' and source: <20250908140117.262205-1-adrian.ratiu@collabora.com> -* 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. - - Will merge to 'master'. - source: <20250908053056.956907-1-christian.couder@gmail.com> - - -* je/doc-push (2025-09-17) 2 commits +* je/doc-push (2025-09-23) 2 commits - doc: git-push: rewrite refspec specification - doc: git-push: create PUSH RULES section Doc updates. Will merge to 'next'. - source: - - -* 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() - - Code clean-up. - - Will merge to 'master'. - source: <906196ac-2fd7-4c07-9e8f-22d67b0b64f9@web.de> - - -* 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. - - Will merge to 'master'. - source: <20250910031124.1807856-1-ask+git@howdoi.land> + source: * ps/clar-updates (2025-09-22) 2 commits @@ -380,29 +452,31 @@ well with other topics in 'seen' (and of course 'next' and * ps/config-get-color-fixes (2025-09-22) 5 commits - - builtin/config: do not spawn pager when printing color codes - - builtin/config: special-case retrieving colors without a key - - builtin/config: do not die in `get_color()` - - t1300: small style fixups - - t1300: write test expectations in the test's body + (merged to 'next' on 2025-09-25 at 7b69f57ef6) + + builtin/config: do not spawn pager when printing color codes + + builtin/config: special-case retrieving colors without a key + + builtin/config: do not die in `get_color()` + + t1300: small style fixups + + t1300: write test expectations in the test's body The use of "git config get" command to learn how ANSI color sequence is for a particular type, e.g., "git config get --type=color --default=reset no.such.thing", isn't very ergonomic. - Will merge to 'next'. + Will merge to 'master'. source: <20250922-pks-config-color-v4-0-28b7d2697eed@pks.im> * ps/meson-build-docs (2025-09-11) 3 commits - - ci: don't compile whole project when testing docs with Meson - - meson: print docs backend as part of the summary - - meson: introduce a "docs" alias to compile documentation only + (merged to 'next' on 2025-09-25 at d531b1afdc) + + ci: don't compile whole project when testing docs with Meson + + meson: print docs backend as part of the summary + + meson: introduce a "docs" alias to compile documentation only The build procedure based on meson learned a target to only build documentation, similar to "make doc". - Will merge to 'next'. + Will merge to 'master'. source: <20250911-b4-pks-meson-docs-target-v1-0-a92c666ecef9@pks.im> @@ -411,36 +485,37 @@ well with other topics in 'seen' (and of course 'next' and Code clean-up. - Breaks build when merged to 'seen'. - cf. <20250910153759.GA562601@coredump.intra.peff.net> + Will merge to 'next'. source: <20250910-b4-pks-odb-drop-wrappers-v1-1-6ed660cb1eec@pks.im> * jt/odb-transaction (2025-09-16) 7 commits - - odb: add transaction interface - - object-file: update naming from bulk-checkin - - object-file: relocate ODB transaction code - - bulk-checkin: drop flush_odb_transaction() - - builtin/update-index: end ODB transaction when --verbose is specified - - bulk-checkin: remove ODB transaction nesting - - Merge branch 'jt/de-global-bulk-checkin' into jt/odb-transaction + (merged to 'next' on 2025-09-25 at 1a5c704fb9) + + odb: add transaction interface + + object-file: update naming from bulk-checkin + + object-file: relocate ODB transaction code + + bulk-checkin: drop flush_odb_transaction() + + builtin/update-index: end ODB transaction when --verbose is specified + + bulk-checkin: remove ODB transaction nesting + + Merge branch 'jt/de-global-bulk-checkin' into jt/odb-transaction Continue the work to build on the bulk-checkin infrastructure to create many objects at once in a transaction and abstract it into the generic object layer. - Will merge to 'next'. + Will merge to 'master'. source: <20250916182938.2193476-1-jltobler@gmail.com> * cc/fast-import-strip-signed-commits (2025-09-17) 2 commits - - fast-import: add '--signed-commits=' option - - gpg-interface: refactor 'enum sign_mode' parsing + (merged to 'next' on 2025-09-25 at 6c9a275f43) + + fast-import: add '--signed-commits=' option + + gpg-interface: refactor 'enum sign_mode' parsing "git fast-import" learned that "--signed-commits=" option that corresponds to that of "git fast-export". - Will merge to 'next'. + Will merge to 'master'. source: <20250917181427.3193500-1-christian.couder@gmail.com> @@ -469,43 +544,45 @@ well with other topics in 'seen' (and of course 'next' and Declare commit-graph is per object_source, which may not be a good idea. + Comments? cf. source: <20250904-b4-pks-commit-graph-via-source-v1-0-d932c2481e1a@pks.im> -* ps/rust-balloon (2025-09-15) 9 commits - . ci: enable Rust for breaking-changes jobs - . ci: convert "pedantic" job into full build with breaking changes - . BreakingChanges: announce Rust becoming mandatory - . varint: reimplement as test balloon for Rust - . varint: use explicit width for integers - . help: report on whether or not Rust is enabled - . Makefile: introduce infrastructure to build internal Rust library - . Makefile: reorder sources after includes - . meson: add infrastructure to build internal Rust library +* ps/rust-balloon (2025-09-24) 9 commits + - ci: enable Rust for breaking-changes jobs + - ci: convert "pedantic" job into full build with breaking changes + - BreakingChanges: announce Rust becoming mandatory + - varint: reimplement as test balloon for Rust + - varint: use explicit width for integers + - help: report on whether or not Rust is enabled + - Makefile: introduce infrastructure to build internal Rust library + - Makefile: reorder sources after includes + - meson: add infrastructure to build internal Rust library Dip our toes a bit to (optionally) use Rust implemented helper called from our C code. - Retracted, to join forces in en/*rust* topic. - source: <20250915-b4-pks-rust-breaking-change-v5-0-dc3a32fbb216@pks.im> + Comments? + source: <20250925-b4-pks-rust-breaking-change-v7-0-4e49dcb904d5@pks.im> * ms/refs-optimize (2025-09-19) 9 commits - - t: add test for git refs optimize subcommand - - t0601: refactor tests to be shareable - - builtin/refs: add optimize subcommand - - doc: pack-refs: factor out common options - - builtin/pack-refs: factor out core logic into a shared library - - builtin/pack-refs: convert to use the generic refs_optimize() API - - reftable-backend: implement 'optimize' action - - files-backend: implement 'optimize' action - - refs: add a generic 'optimize' API + (merged to 'next' on 2025-09-25 at 5fd0825882) + + t: add test for git refs optimize subcommand + + t0601: refactor tests to be shareable + + builtin/refs: add optimize subcommand + + doc: pack-refs: factor out common options + + builtin/pack-refs: factor out core logic into a shared library + + builtin/pack-refs: convert to use the generic refs_optimize() API + + reftable-backend: implement 'optimize' action + + files-backend: implement 'optimize' action + + refs: add a generic 'optimize' API "git refs optimize" is added for not very well explained reason despite it does the same thing as "git pack-refs"... - Will merge to 'next'. + Will merge to 'master'. source: <20250919082647.535213-1-meetsoni3017@gmail.com> @@ -520,11 +597,12 @@ well with other topics in 'seen' (and of course 'next' and array index that would only fit in size_t but not int or ssize_t to achieve unstated goal. - Will merge to 'next'. + Expecting a reroll. + cf. source: -* ps/packfile-store (2025-09-15) 16 commits +* 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 @@ -545,106 +623,93 @@ well with other topics in 'seen' (and of course 'next' and Code clean-up around the in-core list of all the pack files and object database(s). - Expecting a reroll. - cf. - source: <20250915-b4-pks-packfiles-store-v5-0-d6340350934f@pks.im> + 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 - - 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 + (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 'next'. + 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) 9 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 - (this branch uses en/xdiff-cleanup.) +* 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. + Expecting a reroll based on the updated base topic, but the base + topic may further be updated first? cf. source: * je/doc-checkout (2025-09-10) 7 commits - - 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 ` - - doc: git-checkout: clarify ARGUMENT DISAMBIGUATION - - doc: git-checkout: clarify intro sentence + (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 ` + + doc: git-checkout: clarify ARGUMENT DISAMBIGUATION + + doc: git-checkout: clarify intro sentence Doc updates. - Will merge to 'next'. + Will merge to 'master'. cf. <236a79f4-e9a2-4335-bbff-79ae0cc67e9b@app.fastmail.com> source: * kh/you-still-use-whatchanged-fix (2025-09-17) 9 commits - - BreakingChanges: remove claim about whatchanged reports - - whatchanged: remove not-even-shorter clause - - whatchanged: hint about git-log(1) and aliasing - - you-still-use-that??: help the user help themselves - - t0014: test shadowing of aliases for a sample of builtins - - git: allow alias-shadowing deprecated builtins - - git: move seen-alias bookkeeping into handle_alias(...) - - git: add `deprecated` category to --list-cmds - - Makefile: don’t add whatchanged after it has been removed + (merged to 'next' on 2025-09-25 at de9c8c526c) + + BreakingChanges: remove claim about whatchanged reports + + whatchanged: remove not-even-shorter clause + + whatchanged: hint about git-log(1) and aliasing + + you-still-use-that??: help the user help themselves + + t0014: test shadowing of aliases for a sample of builtins + + git: allow alias-shadowing deprecated builtins + + git: move seen-alias bookkeeping into handle_alias(...) + + git: add `deprecated` category to --list-cmds + + Makefile: don’t add whatchanged after it has been removed Update "do you still use it?" message given by a command that is deeply deprecated and allow us to suggest alternatives. - Will merge to 'next'. - source: - - -* 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 - has been corrected. - Will merge to 'master'. - source: <20250908164157.GA1323487@coredump.intra.peff.net> + source: * ds/sparse-checkout-clean (2025-09-12) 7 commits - - t: expand tests around sparse merges and clean - - sparse-index: point users to new 'clean' action - - sparse-checkout: add --verbose option to 'clean' - - dir: add generic "walk all files" helper - - sparse-checkout: match some 'clean' behavior - - sparse-checkout: add basics of 'clean' command - - sparse-checkout: remove use of the_repository + (merged to 'next' on 2025-09-25 at 00b296f153) + + t: expand tests around sparse merges and clean + + sparse-index: point users to new 'clean' action + + sparse-checkout: add --verbose option to 'clean' + + dir: add generic "walk all files" helper + + sparse-checkout: match some 'clean' behavior + + sparse-checkout: add basics of 'clean' command + + sparse-checkout: remove use of the_repository "git sparse-checkout" subcommand learned a new "clean" action to prune otherwise unused working-tree files that are outside the areas of interest. - Will merge to 'next'. + Will merge to 'master'. source: