From 9641a3b84457927f9d740fbc30a6cd7fdad95094 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Thu, 2 Oct 2025 14:06:42 -0700 Subject: [PATCH] What's cooking (2025/10 #01) --- whats-cooking.txt | 613 ++++++++++++++++++++++++---------------------- 1 file changed, 315 insertions(+), 298 deletions(-) diff --git a/whats-cooking.txt b/whats-cooking.txt index 0ed15c1f15..74c88fa05e 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, #11; Mon, 29) -X-master-at: 821f583da6d30a84249f75f33501504d597bc16b -X-next-at: 236ee7b076decfb1705c4b47c2af13735720bd19 +Subject: What's cooking in git.git (Oct 2025, #01; Thu, 2) +X-master-at: 5099f64a82ccc80f3c6567589bfeb5e9a1b9fd6b +X-next-at: e8671fe553c8b23de1b9a0f494eb2b7ff9064e62 Bcc: lwn@lwn.net, gitster@pobox.com -What's cooking in git.git (Sep 2025, #11; Mon, 29) +What's cooking in git.git (Oct 2025, #01; Thu, 2) -------------------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -48,153 +48,291 @@ Release tarballs are available at: -------------------------------------------------- [Graduated to 'master'] -* 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 +* cc/fast-import-strip-signed-commits (2025-09-17) 2 commits + (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". + + source: <20250917181427.3193500-1-christian.couder@gmail.com> + - The stash.index configuration variable can be set to make "git stash - pop/apply" pretend that it was invoked with "--index". - source: +* jt/odb-transaction (2025-09-16) 7 commits + (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 + The work to build on the bulk-checkin infrastructure to create many + objects at once in a transaction and to abstract it into the + generic object layer continues. + + source: <20250916182938.2193476-1-jltobler@gmail.com> -* jc/3.0-default-initial-branch-to-main-addendum (2025-09-17) 1 commit - (merged to 'next' on 2025-09-22 at dc4168c337) - + initial branch: give hints after switching the default name - (this branch uses pw/3.0-default-initial-branch-to-main.) - Keep giving hint about the default initial branch name for users - who may be surprised after Git 3.0 switch-over. - source: +* kh/you-still-use-whatchanged-fix (2025-09-17) 9 commits + (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 + The "do you still use it?" message given by a command that is + deeply deprecated and allow us to suggest alternatives has been + updated. + + 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: <175809074627.1696783.67425889158412786@noble.neil.brown.name> - - -* 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. - 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> +* ms/refs-optimize (2025-09-19) 9 commits + (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"... + + source: <20250919082647.535213-1-meetsoni3017@gmail.com> + + +* ps/config-get-color-fixes (2025-09-22) 5 commits + (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. + + source: <20250922-pks-config-color-v4-0-28b7d2697eed@pks.im> + + +* ps/meson-build-docs (2025-09-11) 3 commits + (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". + + source: <20250911-b4-pks-meson-docs-target-v1-0-a92c666ecef9@pks.im> -------------------------------------------------- [New Topics] +* tb/incremental-midx-part-3.1 (2025-09-29) 51 commits + - SQUASH??? play well with other topics by preemptively including "repository.h" + - builtin/repack.c: clean up unused `#include`s + - repack: move `write_cruft_pack()` out of the builtin + - repack: move `write_filtered_pack()` out of the builtin + - repack: move `pack_kept_objects` to `struct pack_objects_args` + - repack: move `finish_pack_objects_cmd()` out of the builtin + - builtin/repack.c: pass `write_pack_opts` to `finish_pack_objects_cmd()` + - repack: extract `write_pack_opts_is_local()` + - repack: move `find_pack_prefix()` out of the builtin + - builtin/repack.c: use `write_pack_opts` within `write_cruft_pack()` + - builtin/repack.c: introduce `struct write_pack_opts` + - repack: 'write_midx_included_packs' API from the builtin + - builtin/repack.c: inline packs within `write_midx_included_packs()` + - builtin/repack.c: pass `repack_write_midx_opts` to `midx_included_packs` + - builtin/repack.c: inline `remove_redundant_bitmaps()` + - builtin/repack.c: reorder `remove_redundant_bitmaps()` + - repack: keep track of MIDX pack names using existing_packs + - builtin/repack.c: use a string_list for 'midx_pack_names' + - builtin/repack.c: extract opts struct for 'write_midx_included_packs()' + - builtin/repack.c: remove ref snapshotting from builtin + - repack: remove pack_geometry API from the builtin + - builtin/repack.c: pass 'packdir' to `pack_geometry_remove_redundant()` + - builtin/repack.c: pass 'pack_kept_objects' to `pack_geometry_init()` + - builtin/repack.c: rename various pack_geometry functions + - builtin/repack.c: remove "repack_promisor_objects()" from the builtin + - builtin/repack.c: pass "packtmp" to `repack_promisor_objects()` + - repack: remove 'generated_pack' API from the builtin + - builtin/repack.c: provide pack locations to `generated_pack_install()` + - builtin/repack.c: pass "packtmp" to `generated_pack_populate()` + - builtin/repack.c: factor our "generated_pack_install" + - builtin/repack.c: rename "struct generated_pack_data" + - repack: remove 'existing_packs' API from the builtin + - builtin/repack.c: avoid unnecessary numeric casts in existing_packs + - builtin/repack.c: pass "packdir" when removing packs + - repack: remove 'remove_redundant_pack' from the builtin + - builtin/repack.c: rename many 'struct existing_packs' functions + - repack: remove 'prepare_pack_objects' from the builtin + - repack: move 'delta_base_offset' to 'struct pack_objects_args' + - builtin/repack.c: pass both pack_objects args to repack_config + - repack: introduce new compilation unit + - builtin/repack.c: avoid using `hash_to_hex()` in pack geometry + - builtin/repack.c: avoid "the_hash_algo" in `finish_pack_objects_cmd()` + - builtin/repack: avoid "the_hash_algo" in `repack_promisor_objects()` + - builtin/repack.c: avoid "the_hash_algo" in `write_oid()` + - builtin/repack.c: avoid "the_hash_algo" when deleting packs + - builtin/repack.c: avoid "the_repository" when repacking promisor objects + - builtin/repack.c: avoid "the_repository" when removing packs + - builtin/repack.c: avoid "the_repository" when taking a ref snapshot + - builtin/repack.c: avoid "the_repository" in existing packs API + - builtin/repack.c: avoid "the_repository" in `cmd_repack()` + - Merge branch 'ps/packfile-store' into tb/incremental-midx-part-3.1 + (this branch uses ps/packfile-store.) + + source: + + +* cc/doc-submitting-patches-with-ai (2025-10-01) 1 commit + - SubmittingPatches: add section about AI + + AI guidelines. + source: <20251001140310.527097-1-christian.couder@gmail.com> + + +* kn/ref-cache-seek-fix (2025-10-01) 1 commit + (merged to 'next' on 2025-10-02 at 5896b8c896) + + refs/ref-cache: fix SEGFAULT when seeking in empty directories + + Fix handling of an empty subdirectory of .git/refs/ in the + ref-files backend. + + Will merge to 'master'. + source: <20251001-583-git-for-each-ref-start-after-v3-1-000f03837a92@gmail.com> + + +* mh/doc-credential-url-prefix (2025-10-01) 1 commit + (merged to 'next' on 2025-10-02 at dd0d9a1c59) + + docs/gitcredentials: describe URL prefix matching + + Doc update to describe a feature that has already been implemented. + + Will merge to 'master'. + source: + + +* ml/reflog-write-committer-info-fix (2025-09-30) 1 commit + (merged to 'next' on 2025-10-02 at 9a61d07bac) + + builtin/reflog: respect user config in "write" subcommand + + "git reflog write" did not honor the configured user.name/email + which has been corrected. + + Will merge to 'master'. + source: <20250930195320.23825-1-git@lohmann.sh> + + +* ps/history (2025-10-01) 13 commits + - builtin/history: implement "split" subcommand + - cache-tree: allow writing in-memory index as tree + - add-patch: add support for in-memory index patching + - add-patch: remove dependency on "add-interactive" subsystem + - add-patch: split out `struct interactive_options` + - add-patch: split out header from "add-interactive.h" + - builtin/history: implement "reword" subcommand + - builtin: add new "history" command + - replay: parse commits before dereferencing them + - replay: stop using `the_repository` + - replay: extract logic to pick commits + - wt-status: provide function to expose status for trees + - Merge branch 'sa/replay-atomic-ref-updates' into ps/history + (this branch uses sa/replay-atomic-ref-updates.) + + "git history" history rewriting UI. + source: <20251001-b4-pks-history-builtin-v4-0-8e61ddb86317@pks.im> + + +* en/make-libgit-a (2025-10-01) 3 commits + - make: delete REFTABLE_LIB, add reftable to LIB_OBJS + - make: delete XDIFF_LIB, add xdiff to LIB_OBJS + - make: move xdiff and reftable objects before GITLIBS + + Instead of three library archives (one for git, one for reftable, + and one for xdiff), roll everything into a single libgit.a archive. + This would help later effort to FFI into Rust. + + Comments? + source: + + +* ms/doc-worktree-side-by-side (2025-10-02) 4 commits + - amend! doc: git-worktree: Add side by side branch checkout example + - doc: git-worktree: Add side by side branch checkout example + - amend! doc: git-worktree: Link to examples + - doc: git-worktree: Link to examples + + Document "git worktree add" and use of out-of-tree worktrees with + examples. + + Comments? + source: + + +* ps/gitlab-ci-windows-improvements (2025-10-02) 5 commits + - t8020: fix test failure due to indeterministic tag sorting + - gitlab-ci: upload Meson test logs as JUnit reports + - gitlab-ci: drop workaround for Python certificate store on Windows + - gitlab-ci: ignore failures to disable realtime monitoring + - gitlab-ci: dedup instructions to disable realtime monitoring + + GitLab CI improvements. + + Will merge to 'next'. + source: <20251002-pks-gitlab-ci-windows-improvements-v1-0-6a8b6b45d728@pks.im> + +-------------------------------------------------- +[Stalled] + +These topics have been expecting updates for quite some time. I'll +eject any of them when they start to conflict with other topics in +'seen' and may drop them from my tree when they are dormant for too +long (let's say 8 weeks is way too long, for now). After that, they +can be proposed again by rerolling them in a shape that would work +well with other topics in 'seen' (and of course 'next' and +"master'). + +* 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> + + +* ac/deglobal-sparse-variables (2025-07-18) 3 commits + . environment: remove the global variable 'sparse_expect_files_outside_of_patterns' + . environment: move access to "core.sparsecheckoutcone" into repo_settings + . environment: move access to "core.sparsecheckout" into repo_settings + + Two global variables related to sparse checkout have been moved to + the repository settings structure. + + Expecting a reroll. + cf. + Ejected out of 'seen' for now. + source: + +-------------------------------------------------- +[Cooking] + * 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.) @@ -218,11 +356,12 @@ Release tarballs are available at: * ja/doc-markup-attached-paragraph-fix (2025-09-27) 1 commit - - doc: change the markup of paragraphs following a nested list item + (merged to 'next' on 2025-09-30 at a91ca5db03) + + doc: change the markup of paragraphs following a nested list item Documentation mark-up fix. - Will merge to 'next'. + Will merge to 'master'. source: <20250927195032.37223-1-jn.avila@free.fr> @@ -240,27 +379,29 @@ Release tarballs are available at: * jt/clang-format-foreach-wo-space-before-parenthesis (2025-09-27) 1 commit - - clang-format: exclude control macros from SpaceBeforeParens + (merged to 'next' on 2025-09-30 at c32668ab36) + + 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'. + Will merge to 'master'. source: <20250927145049.723341-4-jltobler@gmail.com> -* kh/doc-patch-id-markup-fix (2025-09-28) 1 commit +* kh/doc-patch-id-markup-fix (2025-09-29) 1 commit - doc: patch-id: fix accidental literal blocks Documenaotin mark-up fix. Will merge to 'next'? - source: <0520e8f9caf.1759067095.git.code@khaugsbakk.name> + source: * sa/replay-atomic-ref-updates (2025-09-26) 1 commit - replay: make atomic ref updates the default behavior + (this branch is used by ps/history.) "git replay" (experimental) learned to perform ref updates itself in a transaction by default, instead of emitting where each refs @@ -269,42 +410,6 @@ Release tarballs are available at: Comments? source: <20250926230838.35870-2-siddharthasthana31@gmail.com> --------------------------------------------------- -[Stalled] - -These topics have been expecting updates for quite some time. I'll -eject any of them when they start to conflict with other topics in -'seen' and may drop them from my tree when they are dormant for too -long (let's say 8 weeks is way too long, for now). After that, they -can be proposed again by rerolling them in a shape that would work -well with other topics in 'seen' (and of course 'next' and -"master'). - -* 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> - - -* ac/deglobal-sparse-variables (2025-07-18) 3 commits - . environment: remove the global variable 'sparse_expect_files_outside_of_patterns' - . environment: move access to "core.sparsecheckoutcone" into repo_settings - . environment: move access to "core.sparsecheckout" into repo_settings - - Two global variables related to sparse checkout have been moved to - the repository settings structure. - - Expecting a reroll. - cf. - Ejected out of 'seen' for now. - source: - --------------------------------------------------- -[Cooking] * kh/format-patch-range-diff-notes (2025-09-25) 3 commits - format-patch: handle range-diff on notes correctly for single patches @@ -331,14 +436,19 @@ well with other topics in 'seen' (and of course 'next' and source: -* je/doc-push-upstream (2025-09-23) 4 commits +* je/doc-push-upstream (2025-09-30) 6 commits + - SQUASH??? + - doc: git-push: add explanation of `git push origin main` - 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: + + Expecting a reroll. + cf. <5044672.31r3eYUQgx@cayenne> + source: * jk/diff-no-index-with-pathspec-fix (2025-09-24) 1 commit @@ -366,14 +476,15 @@ well with other topics in 'seen' (and of course 'next' and * 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 + (merged to 'next' on 2025-09-30 at 6d1e5fd288) + + 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. - Will merge to 'next'. + Will merge to 'master'. source: @@ -477,72 +588,14 @@ well with other topics in 'seen' (and of course 'next' and source: -* ps/config-get-color-fixes (2025-09-22) 5 commits - (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 'master'. - source: <20250922-pks-config-color-v4-0-28b7d2697eed@pks.im> - - -* ps/meson-build-docs (2025-09-11) 3 commits - (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 'master'. - source: <20250911-b4-pks-meson-docs-target-v1-0-a92c666ecef9@pks.im> - - * ps/odb-clean-stale-wrappers (2025-09-10) 1 commit - - odb: drop deprecated wrapper functions + (merged to 'next' on 2025-09-30 at 90f1033b8c) + + odb: drop deprecated wrapper functions Code clean-up. - Will merge to 'next'. - source: <20250910-b4-pks-odb-drop-wrappers-v1-1-6ed660cb1eec@pks.im> - - -* jt/odb-transaction (2025-09-16) 7 commits - (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 'master'. - source: <20250916182938.2193476-1-jltobler@gmail.com> - - -* cc/fast-import-strip-signed-commits (2025-09-17) 2 commits - (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 'master'. - source: <20250917181427.3193500-1-christian.couder@gmail.com> + source: <20250910-b4-pks-odb-drop-wrappers-v1-1-6ed660cb1eec@pks.im> * ps/commit-graph-per-object-source (2025-09-04) 6 commits @@ -560,41 +613,24 @@ well with other topics in 'seen' (and of course 'next' and source: <20250904-b4-pks-commit-graph-via-source-v1-0-d932c2481e1a@pks.im> -* 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 +* ps/rust-balloon (2025-10-02) 9 commits + (merged to 'next' on 2025-10-02 at fe4cdc2dfa) + + 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. - Comments? - source: <20250925-b4-pks-rust-breaking-change-v7-0-4e49dcb904d5@pks.im> - - -* ms/refs-optimize (2025-09-19) 9 commits - (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 'master'. - source: <20250919082647.535213-1-meetsoni3017@gmail.com> + cf. + source: <20251002-b4-pks-rust-breaking-change-v8-0-3a89fd5b1ce7@pks.im> * sj/string-list (2025-09-17) 4 commits @@ -641,25 +677,6 @@ well with other topics in 'seen' (and of course 'next' and source: <20250923-b4-pks-packfiles-store-v6-0-b48f2a882759@pks.im> -* kh/you-still-use-whatchanged-fix (2025-09-17) 9 commits - (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 'master'. - source: - - * ds/sparse-checkout-clean (2025-09-12) 7 commits (merged to 'next' on 2025-09-25 at 00b296f153) + t: expand tests around sparse merges and clean -- 2.47.3