From: Junio C Hamano Date: Mon, 29 Sep 2025 20:11:31 +0000 (-0700) Subject: What's cooking (2025/09 #11) X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=eb9108a96de8be94b9dc94a79ea4c4bcb530e07f;p=thirdparty%2Fgit.git What's cooking (2025/09 #11) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index 540151d342..0ed15c1f15 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, #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: + + +* 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: + + +* 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 ` + + doc: git-checkout: clarify ARGUMENT DISAMBIGUATION + + doc: git-checkout: clarify intro sentence + + Doc updates. + cf. <236a79f4-e9a2-4335-bbff-79ae0cc67e9b@app.fastmail.com> + source: + + +* 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=
" 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: + + +* 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: + + +* 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: + 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 and 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: + 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: +* 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: + + +* 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: -* 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 and params + + Documentation updates. + 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-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. - source: + Will merge to 'next'. + source: -* 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. - 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: - - -* 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: + 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: -* 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: - - -* 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. - source: - - -* 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: - - -* 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=
" 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: * 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: - - -* 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: * 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: - - * 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. - source: - - -* 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 ` - + 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: + cf. + 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: + +-------------------------------------------------- +[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. + source: + + +* 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: