From: Junio C Hamano Date: Fri, 29 Aug 2025 17:07:16 +0000 (-0700) Subject: What's cooking (2025/08 #12) X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=aa78479fd93771377c33f1ab5842c67fcdc40a2d;p=thirdparty%2Fgit.git What's cooking (2025/08 #12) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index f9840460cc..29797cb12c 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 (Aug 2025, #11; Mon, 25) -X-master-at: f814da676ae46aac5be0a98b99373a76dee6cedb -X-next-at: d7d06c2dae85021966c6d9224e6b2efb4454bd77 +Subject: What's cooking in git.git (Aug 2025, #12; Fri, 29) +X-master-at: 6ad802182101d622e6a4132f48292ddfa79e2024 +X-next-at: 3baa7cb742e267e07c93c00c15fa04107b8e9fab Bcc: lwn@lwn.net, gitster@pobox.com -What's cooking in git.git (Aug 2025, #11; Mon, 25) +What's cooking in git.git (Aug 2025, #12; Fri, 29) -------------------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -48,99 +48,241 @@ Release tarballs are available at: -------------------------------------------------- [Graduated to 'master'] -* dk/help-all (2025-08-03) 3 commits - (merged to 'next' on 2025-08-13 at 6dce87c0b5) - + builtin: also setup gently for --help-all - + parse-options: refactor flags for usage_with_options_internal - + Merge branch 'ua/t1517-short-help-tests' into dk/help-all +* ad/t1517-short-help-tests-fix (2025-08-19) 1 commit + (merged to 'next' on 2025-08-21 at f686ad352a) + + t/t1517: mark tests that fail with GIT_TEST_INSTALLED - "git cmd --help-all" now works outside repositories. - source: <20250803012613.54086-1-ben.knoble+github@gmail.com> + Test fix. + source: <20250819074631.3303-1-adam@dinwoodie.org> -* dk/t7005-editor-updates (2025-08-13) 3 commits - (merged to 'next' on 2025-08-17 at ad0ab2e2a9) - + t7005: sanitize test environment for subsequent tests - + t7005: stop abusing --exec-path - + t7005: use modern test style +* bc/doc-compat-object-format-not-working (2025-08-25) 1 commit + (merged to 'next' on 2025-08-26 at 5224444f11) + + docs: note that extensions.compatobjectformat is incomplete - Test clean-up. - source: <20250812170256.71751-1-ben.knoble+github@gmail.com> + The compatObjectFormat extension is used to hide an incomplete + feature that is not yet usable for any purpose other than + developing the feature further. Document it as such to discourage + its use by mere mortals. + source: <20250825221101.611876-1-sandals@crustytoothpaste.net> -* ds/doc-count-objects-fix (2025-08-14) 1 commit - (merged to 'next' on 2025-08-17 at 1740ef34dd) - + count-objects: document count-objects pack +* ds/doc-community-discord (2025-08-20) 1 commit + (merged to 'next' on 2025-08-21 at 7f9aa8da4e) + + doc: add discord to ways of getting help - Docfix. - source: + Discord has been added to the first contribution documentation as + another way to ask for help. + source: -* ja/doc-lint-sections-and-synopsis (2025-08-11) 6 commits - (merged to 'next' on 2025-08-17 at 413ff100cd) - + doc lint: check that synopsis manpages have synopsis inlines - + doc:git-for-each-ref: fix styling and typos - + doc: check for absence of the form --[no-]parameter - + doc: check for absence of multiple terms in each entry of desc list - + doc: check well-formedness of delimited sections - + doc: test linkgit macros for well-formedness +* je/doc-rebase (2025-08-22) 5 commits + (merged to 'next' on 2025-08-26 at 0d9a1d75d5) + + doc: git-rebase: update discussion of internals + + doc: git-rebase: move --onto explanation down + + doc: git rebase: clarify arguments syntax + + doc: git rebase: dedup merge conflict discussion + + doc: git-rebase: start with an example - Doc lint updates to encourage the newer and easier-to-use - `synopsis` format, with fixes to a handful of existing uses. - source: + Documentation for "git rebase" has been updated. + source: -* lo/repo-info (2025-08-16) 5 commits - (merged to 'next' on 2025-08-19 at 9569e192d0) - + repo: add the --format flag - + repo: add the field layout.shallow - + repo: add the field layout.bare - + repo: add the field references.format - + repo: declare the repo command - (this branch is used by lo/repo-info-step-2.) +* jk/describe-blob (2025-08-18) 5 commits + (merged to 'next' on 2025-08-21 at 671998ff24) + + describe: pass commit to describe_commit() + + describe: handle blob traversal with no commits + + describe: catch unborn branch in describe_blob() + + describe: error if blob not found + + describe: pass oid struct by const pointer - A new subcommand "git repo" gives users a way to grab various - repository characteristics. - source: <20250816224603.3307-1-lucasseikioshiro@gmail.com> + "git describe " misbehaves and/or crashes in some corner + cases, which has been taught to exit with failure gracefully. + source: <20250818205812.GA1018043@coredump.intra.peff.net> -* ps/commit-graph-wo-globals (2025-08-14) 6 commits - (merged to 'next' on 2025-08-17 at e2889596be) - + commit-graph: stop passing in redundant repository - + commit-graph: stop using `the_repository` - + commit-graph: stop using `the_hash_algo` - + commit-graph: refactor `parse_commit_graph()` to take a repository - + commit-graph: store the hash algorithm instead of its length - + commit-graph: stop using `the_hash_algo` via macros +* jk/fetch-check-graph-objects-fix (2025-08-23) 1 commit + (merged to 'next' on 2025-08-26 at 51a561116f) + + fetch-pack: re-scan when double-checking graph objects + + Under a race against another process that is repacking the + repository, especially a partially cloned one, "git fetch" may + mistakenly think some objects we do have are missing, which has + been corrected. + source: <20250824050040.GA228050@coredump.intra.peff.net> + + +* jk/no-clobber-dangling-symref-with-fetch (2025-08-19) 4 commits + (merged to 'next' on 2025-08-21 at 29b96663c0) + + refs: do not clobber dangling symrefs + + t5510: prefer "git -C" to subshell for followRemoteHEAD tests + + t5510: stop changing top-level working directory + + t5510: make confusing config cleanup more explicit + + "git fetch" can clobber a symref that is dangling when the + remote-tracking HEAD is set to auto update, which has been + corrected. + source: <20250819192004.GA1058857@coredump.intra.peff.net> + + +* js/doc-gitk-history (2025-08-19) 1 commit + (merged to 'next' on 2025-08-21 at e7e1a08f82) + + doc/gitk: update reference to the external project + + Manual page for "gitk" is updated with the current maintainer's + name. + source: <249056e7-1332-4e6f-8d07-16c80fd4913e@kdbg.org> - Remove dependency on the_repository and other globals from the - commit-graph code, and other changes unrelated to de-globaling. - source: <20250815-b4-pks-commit-graph-wo-the-repository-v4-0-b6b651178cce@pks.im> +* js/progress-delay-fix (2025-08-25) 1 commit + (merged to 'next' on 2025-08-26 at 4e832eb295) + + progress: pay attention to (customized) delay time -* tc/diff-tree-max-depth (2025-08-07) 3 commits - (merged to 'next' on 2025-08-15 at dddb2275d4) - + diff: teach tree-diff a max-depth parameter - + within_depth: fix return for empty path - + combine-diff: zero memory used for callback filepairs + The start_delayed_progress() function in the progress eye-candy API + did not clear its internal state, making an initial delay value + larger than 1 second ineffective, which has been corrected. + source: <7b848623-ce64-4679-9b5e-9d91d947b269@kdbg.org> - "git diff-tree" learned "--max-depth" option. - source: <20250807-toon-max-depth-v2-0-50b7e5c81665@iotcl.com> + +* ps/reftable-libgit2-cleanup (2025-08-12) 8 commits + (merged to 'next' on 2025-08-21 at ff82e3fa11) + + refs/reftable: always reload stacks when creating lock + + reftable: don't second-guess errors from flock interface + + reftable/stack: handle outdated stacks when compacting + + reftable/stack: allow passing flags to `reftable_stack_add()` + + reftable/stack: fix compiler warning due to missing braces + + reftable/stack: reorder code to avoid forward declarations + + reftable/writer: drop Git-specific `QSORT()` macro + + reftable/writer: fix type used for number of records + + Code clean-ups. + source: <20250812-pks-reftable-fixes-for-libgit2-v3-0-cf3b2267867e@pks.im> + + +* sg/line-log-merge-optim (2025-08-24) 4 commits + (merged to 'next' on 2025-08-26 at e110ef974a) + + line-log: simplify condition checking for merge commits + + line-log: initialize diff queue in process_ranges_ordinary_commit() + + line-log: get rid of the parents array in process_ranges_merge_commit() + + line-log: avoid unnecessary tree diffs when processing merge commits + + "git log -L..." compared trees of multiple parents with the tree of the + merge result in an unnecessarily inefficient way. + source: <20250824190644.2573279-1-szeder.dev@gmail.com> -------------------------------------------------- [New Topics] -* bc/doc-compat-object-format-not-working (2025-08-26) 1 commit - - docs: note that extensions.compatobjectformat is incomplete +* ag/doc-sendmail-gmail-example-update (2025-08-26) 1 commit + - docs: update sendmail docs to use more secure SMTP server for Gmail - The compatObjectFormat extension is used to hide an incomplete - feature that is not yet usable for any purpose other than - developing the feature further. Document it as such to discourage - its use by mere mortals. + Doc update. + + Will merge to 'next'? + source: <20250826150919.5239-1-gargaditya08@live.com> + + +* da/cargo-serialize (2025-08-26) 1 commit + - Makefile: build libgit-rs and libgit-sys serially + + Makefile tried to run multiple "cargo build" which would not work + very well; serialize their execution to work it around. Will merge to 'next'. - source: <20250825221101.611876-1-sandals@crustytoothpaste.net> + source: <20250826233525.2635432-1-davvid@gmail.com> + + +* en/rust-xdiff (2025-08-22) 6 commits + - ivec: create a vector type that is interoperable between C and Rust + - github workflows: upload Cargo.lock + - win+Meson: do allow linking with the Rust-built xdiff + - github workflows: install rust + - xdiff: introduce rust + - doc: add a policy for using Rust + + Rust! + + Comments? + source: + + +* je/doc-checkout (2025-08-29) 5 commits + - doc: git-checkout: clarify restoring files section + - doc: git-checkout: deduplicate --detach explanation + - doc: git-checkout: don't use "reset" + - doc: git-checkout: clarify `git checkout ` + - doc: git-checkout: clarify intro + + Doc updates. + source: + + +* kn/clang-format-bitfields (2025-08-26) 1 commit + - Documentation: note styling for bit fields + + CodingGuidelines now spells out how bitfields are to be written. + + Will merge to 'next'? + source: <20250826121928.22317-1-karthik.188@gmail.com> + + +* jk/curl-global-trace-components (2025-08-27) 1 commit + - curl: add support for curl_global_trace() components + + Adjust to the way newer versions of cURL selectivel enables tracing + options, so that our tests can continue to work. + + Will merge to 'next'? + source: <20250827080702.GA3572995@coredump.intra.peff.net> + + +* kh/you-still-use-whatchanged-fix (2025-08-29) 4 commits + - BreakingChanges: remove claim about whatchanged reports + - whatchanged: remove not-even-shorter clause + - whatchanged: tell users the git-log(1) equivalent + - you-still-use-that??: help the user help themselves + + 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: + + +* ds/ls-files-lazy-unsparse (2025-08-15) 1 commit + - ls-files: conditionally leave index sparse + + "git ls-files ..." should not necessarily have to expand + the index fully if a sparsified directory is excluded by the + pathspec; the code is taught to expand the index on demand to avoid + this. + + Will merge to 'next'. + source: + + +* pc/range-diff-memory-limit (2025-08-29) 1 commit + - range-diff: add configurable memory limit for cost matrix + + "git range-diff" learned a way to limit the memory consumed by + O(N*N) cost matrix. + + Will merge to 'next'? + source: + + +* ne/alloc-free-and-null (2025-08-29) 1 commit + - alloc: fix dangling pointer in alloc_state cleanup + + The clear_alloc_state() API function was not fully clearing the + structure for reuse, but since nobody reuses it, replace it with a + variant that frees the structure as well, making the callers simpler. + Will merge to 'next'? + source: + +-------------------------------------------------- +[Cooking] * ds/doc-ggg-pr-fork-clarify (2025-08-23) 1 commit (merged to 'next' on 2025-08-25 at 71aea64ee4) @@ -155,18 +297,6 @@ Release tarballs are available at: source: -* jk/fetch-check-graph-objects-fix (2025-08-23) 1 commit - - fetch-pack: re-scan when double-checking graph objects - - Under a race against another process that is repacking the - repository, especially a partially cloned one, "git fetch" may have - mistakenly think some objects we do have are missing, which has - been corrected. - - Will merge to 'next'. - source: <20250824050040.GA228050@coredump.intra.peff.net> - - * js/doc-sending-patch-via-thunderbird (2025-08-22) 1 commit (merged to 'next' on 2025-08-25 at 1e63ebff8c) + doc/format-patch: adjust Thunderbird MUA hint to new add-on @@ -177,18 +307,6 @@ Release tarballs are available at: source: <6ec34bbc-6811-41fa-aa06-1d54fd2acb0c@kdbg.org> -* js/progress-delay-fix (2025-08-25) 1 commit - - progress: pay attention to (customized) delay time - - The start_delayed-Progress() function in the progress eye-candy API - did not clear its internal state, making an initial delay value - larger than 1 second ineffective, which has been corrected. - - Will merge to 'next'. - cf. - source: <7b848623-ce64-4679-9b5e-9d91d947b269@kdbg.org> - - * kh/doc-config-typofix (2025-08-24) 1 commit (merged to 'next' on 2025-08-25 at f82e0a4c9b) + doc: config: replace backtick with apostrophe for possessive @@ -212,22 +330,7 @@ Release tarballs are available at: source: <9110f085-aec0-42e9-9774-b153ece6284f@web.de> -* sg/line-log-merge-optim (2025-08-24) 4 commits - - line-log: simplify condition checking for merge commits - - line-log: initialize diff queue in process_ranges_ordinary_commit() - - line-log: get rid of the parents array in process_ranges_merge_commit() - - line-log: avoid unnecessary tree diffs when processing merge commits - - "git log -L..." compared trees of multiple parents with the tree of the - merge result in an unnecessarily inefficient way. - - Will merge to 'next'. - source: <20250824190644.2573279-1-szeder.dev@gmail.com> - --------------------------------------------------- -[Cooking] - -* lo/repo-info-step-2 (2025-08-20) 3 commits +* lo/repo-info-step-2 (2025-08-26) 3 commits - repo: add the field objects.format - repo: add the flag -z as an alias for --format=nul - Merge branch 'lo/repo-info' into lo/repo-info-step-2 @@ -236,9 +339,9 @@ Release tarballs are available at: "--format=nul", and learns to report the objects format used in the repository. - Expecting a reroll. - cf. <6186055.lOV4Wx5bFT@cayenne> - source: <20250820144247.79197-1-lucasseikioshiro@gmail.com> + Waiting for review responses. + cf. + source: <20250826183205.19566-1-lucasseikioshiro@gmail.com> * jc/doc-includeif-hasconfig-remote-url-fix (2025-08-21) 1 commit @@ -309,32 +412,6 @@ Release tarballs are available at: source: <20250816213642.3517822-1-adrian.ratiu@collabora.com> -* jk/describe-blob (2025-08-18) 5 commits - (merged to 'next' on 2025-08-21 at 671998ff24) - + describe: pass commit to describe_commit() - + describe: handle blob traversal with no commits - + describe: catch unborn branch in describe_blob() - + describe: error if blob not found - + describe: pass oid struct by const pointer - - "git describe " misbehaves and/or crashes in some corner - cases, which has been taught to exit with failure gracefully. - - Will merge to 'master'. - source: <20250818205812.GA1018043@coredump.intra.peff.net> - - -* ds/doc-community-discord (2025-08-20) 1 commit - (merged to 'next' on 2025-08-21 at 7f9aa8da4e) - + doc: add discord to ways of getting help - - Discord has been added to the first contribution documentation as - another way to ask for help. - - Will merge to 'master'. - source: - - * je/doc-add (2025-08-19) 2 commits (merged to 'next' on 2025-08-25 at 0c84501ed2) + doc: git-add: simplify discussion of ignored files @@ -346,21 +423,6 @@ Release tarballs are available at: source: -* jk/no-clobber-dangling-symref-with-fetch (2025-08-19) 4 commits - (merged to 'next' on 2025-08-21 at 29b96663c0) - + refs: do not clobber dangling symrefs - + t5510: prefer "git -C" to subshell for followRemoteHEAD tests - + t5510: stop changing top-level working directory - + t5510: make confusing config cleanup more explicit - - "git fetch" can clobber a symref that is dangling when the - remote-tracking HEAD is set to auto update, which has been - corrected. - - Will merge to 'master'. - source: <20250819192004.GA1058857@coredump.intra.peff.net> - - * ds/path-walk-repack-fix (2025-08-25) 2 commits - path-walk: create initializer for path lists - path-walk: fix setup of pending objects @@ -368,21 +430,11 @@ Release tarballs are available at: "git repack --path-walk" lost objects in some corner cases, which has been corrected. - Will merge 'next'. + Will merge to 'next'. + cf. source: -* js/doc-gitk-history (2025-08-19) 1 commit - (merged to 'next' on 2025-08-21 at e7e1a08f82) - + doc/gitk: update reference to the external project - - Manual page for "gitk" is updated with the current maintainer's - name. - - Will merge to 'master'. - source: <249056e7-1332-4e6f-8d07-16c80fd4913e@kdbg.org> - - * sg/line-log-boundary-fixes (2025-08-18) 2 commits - line-log: show all line ranges touched by the same diff range - line-log: fix assertion error @@ -403,16 +455,6 @@ Release tarballs are available at: source: <20250820212319.41044-1-jn.avila@free.fr> -* ad/t1517-short-help-tests-fix (2025-08-19) 1 commit - (merged to 'next' on 2025-08-21 at f686ad352a) - + t/t1517: mark tests that fail with GIT_TEST_INSTALLED - - Test fix. - - Will merge to 'master'. - source: <20250819074631.3303-1-adam@dinwoodie.org> - - * jc/longer-disambiguation-fix (2025-08-14) 1 commit - abbrev: allow extending beyond 32 chars to disambiguate @@ -431,46 +473,18 @@ Release tarballs are available at: Test updates. - Expecting a reroll after 2.51 final. + Expecting a reroll. + cf. source: <20250804073002.1586332-1-toon@iotcl.com> -* je/doc-rebase (2025-08-22) 5 commits - - doc: git-rebase: update discussion of internals - - doc: git-rebase: move --onto explanation down - - doc: git rebase: clarify arguments syntax - - doc: git rebase: dedup merge conflict discussion - - doc: git-rebase: start with an example - - Documentation for "git rebase" has been updated. - - Will merge to 'next'. - source: - - -* ps/reftable-libgit2-cleanup (2025-08-12) 8 commits - (merged to 'next' on 2025-08-21 at ff82e3fa11) - + refs/reftable: always reload stacks when creating lock - + reftable: don't second-guess errors from flock interface - + reftable/stack: handle outdated stacks when compacting - + reftable/stack: allow passing flags to `reftable_stack_add()` - + reftable/stack: fix compiler warning due to missing braces - + reftable/stack: reorder code to avoid forward declarations - + reftable/writer: drop Git-specific `QSORT()` macro - + reftable/writer: fix type used for number of records - - Code clean-ups. - - Will merge to 'master'. - source: <20250812-pks-reftable-fixes-for-libgit2-v3-0-cf3b2267867e@pks.im> - - * lc/rebase-trailer (2025-08-03) 2 commits - rebase: support --trailer - trailer: append trailers in-process and drop the fork to `interpret-trailers` Expecting a reroll. cf. <198826af571.62b85cb31711042.2415806544948206668@linux.beauty> + cf. source: <20250803150059.402017-1-me@linux.beauty> @@ -489,8 +503,9 @@ Release tarballs are available at: Further code clean-up for multi-pack-index code paths. - Comments? + Will merge to 'next'? cf. + cf. source: <20250811-b4-pks-midx-deduplicate-source-info-v3-0-e442bdf2b4ad@pks.im> @@ -502,8 +517,8 @@ Release tarballs are available at: hash function implementation used to hash lines have been updated to the one used for ELF symbol lookup by Glibc. - Still being discussed (AUG13) - cf. + Will merge to 'next'. + cf. source: <20250728190520.10962-1-amonakov@ispras.ru> @@ -535,10 +550,12 @@ Release tarballs are available at: areas of interest. Needs to wait for the base topic to solidify. + Waiting for review responses. + cf. source: -* pw/3.0-commentchar-auto-deprecation (2025-07-31) 4 commits +* pw/3.0-commentchar-auto-deprecation (2025-08-26) 4 commits - commit: print advice when core.commentString=auto - config: warn on core.commentString=auto - breaking-changes: deprecate support for core.commentString=auto @@ -549,17 +566,18 @@ Release tarballs are available at: trouble to support for little benefit. Will merge to 'next'? - source: + source: -* tc/last-modified (2025-08-05) 4 commits - - fixup! last-modified: new subcommand to show when files were last modified +* tc/last-modified (2025-08-05) 3 commits - last-modified: use Bloom filters when available - t/perf: add last-modified perf script - last-modified: new subcommand to show when files were last modified A new command "git last-modified" is proposed to show the closest ancestor commit that touched each path. + + Will merge to 'next'. source: <20250730175510.987383-1-toon@iotcl.com> @@ -603,4 +621,5 @@ Release tarballs are available at: communicated from the server side. Expecting a reroll. + cf. source: <20250731072401.3817074-1-christian.couder@gmail.com>