diff --git a/whats-cooking.txt b/whats-cooking.txt index 982fa965a8..6e24e7af6d 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 (Jul 2026, #10) +Subject: What's cooking in git.git (Jul 2026, #11) X-master-at: 9a0c4701dcd5725c4184599322b52933ff5005ca -X-next-at: 3f0d50209424de9b2a3b57975503a767e485f62a +X-next-at: e436a42272e5f75bb9ac8df1355c4593652372fe Bcc: lwn@lwn.net, gitster@pobox.com -What's cooking in git.git (Jul 2026, #10) +What's cooking in git.git (Jul 2026, #11) ----------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -47,255 +47,110 @@ Release tarballs are available at: https://www.kernel.org/pub/software/scm/git/ --------------------------------------------------- -[Graduated to 'master'] - -* cc/doc-fast-export-synopsis-fix (2026-07-13) 1 commit - (merged to 'next' on 2026-07-16 at b1dbc0cb3f) - + fast-export: standardize usage string and SYNOPSIS - - The usage string and SYNOPSIS for 'git fast-export' have been - standardized to make them consistent with each other and with other - commands. - - Graduated to 'master'. - cf. - cf. - source: <20260713124153.245268-1-christian.couder@gmail.com> - - -* cl/b4-cover-change-id (2026-07-10) 1 commit - (merged to 'next' on 2026-07-13 at 15c7ad9a3f) - + b4: include change-id in cover template - - The in-tree 'b4' cover letter template has been updated to include the - 'change-id' trailer, ensuring that sent tags generated by 'b4' contain - the required tracking information for subsequent runs. - - Graduated to 'master'. - source: <20260710-add-change-id-to-b4-template-v1-1-1bd37a25064e@black-desk.cn> - - -* cl/conditional-config-on-worktree-path (2026-07-09) 2 commits - (merged to 'next' on 2026-07-15 at 86ca33c437) - + config: add "worktree" and "worktree/i" includeIf conditions - + config: refactor include_by_gitdir() into include_by_path() - - The '[includeIf "condition"]' conditional inclusion facility for - configuration files has been taught to use the location of the - worktree in its condition. - - Graduated to 'master'. - cf. - source: <20260710-includeif-worktree-v8-0-04686d8a616c@black-desk.cn> - - -* dm/submodule-update-i-shorthand (2026-07-07) 1 commit - (merged to 'next' on 2026-07-15 at 55ef0fb748) - + submodule--helper: accept '-i' shorthand for update --init - - The '-i' shorthand for the '--init' option, which was accepted by the - 'git submodule update' command until it was broken in a modernization - of the option-parsing code, has been restored. - - Graduated to 'master'. - cf. - source: <20260708-submodule-init-v1-1-719456077262@atmark-techno.com> - - -* jt/receive-pack-use-odb-transactions (2026-07-10) 11 commits - (merged to 'next' on 2026-07-15 at aba57e3365) - + builtin/receive-pack: stage incoming objects via ODB transactions - + builtin/receive-pack: drop redundant tmpdir env - + odb/transaction: introduce ODB transaction flags - + odb/transaction: add transaction env interface - + odb/transaction: propagate commit errors - + odb/transaction: propagate begin errors - + object-file: propagate files transaction errors - + object-file: drop check for inflight transactions - + object-file: embed transaction flush logic in commit function - + object-file: rename files transaction fsync function - + object-file: rename files transaction prepare function - (this branch is used by ps/odb-move-loose-object-writing.) - - 'git receive-pack' has been refactored to use ODB transaction - interfaces instead of directly managing 'tmp_objdir' for staging - incoming objects, bringing it closer to being ODB backend agnostic. - - Graduated to 'master'. - cf. - source: <20260710163722.2962278-1-jltobler@gmail.com> - - -* kk/no-walk-pathspec-fix (2026-07-16) 2 commits - (merged to 'next' on 2026-07-16 at 4dd6fb0e7e) - + revision: fix --no-walk path filtering regression - + Merge branch 'kk/streaming-walk-pqueue' into kk/no-walk-pathspec-fix - - The 'git rev-list --no-walk' command has been corrected to restore - pathspec filtering, which was lost when the streaming walk was - refactored. - - Graduated to 'master'. - source: - - -* ml/t9811-replace-test-f (2026-07-11) 2 commits - (merged to 'next' on 2026-07-15 at ffb7fcad15) - + t9811: replace 'test -f' and '! test -f' with 'test_path_*' - + t9811: break long && chains into multiple lines - - The test script 't/t9811-git-p4-label-import.sh' has been - modernized to use 'test_path_is_file' and 'test_path_is_missing' - instead of raw 'test -f' and '! test -f' calls. - - Graduated to 'master'. - cf. - source: <20260711160447.99708-1-marcelomlage@usp.br> - - -* ps/odb-for-each-object-filter (2026-07-14) 10 commits - (merged to 'next' on 2026-07-16 at 8f30e80d33) - + builtin/cat-file: filter objects via object database - + odb: introduce object filters to `odb_for_each_object()` - + pack-bitmap: introduce function to open bitmap for a single source - + pack-bitmap: drop `_1` suffix from functions that open bitmaps - + pack-bitmap: iterate object sources when opening bitmaps - + pack-bitmap: allow aborting iteration of bitmapped objects - + pack-objects: drop unused return value from add_object_entry() - + pack-bitmap: mark object filter as `const` - + odb/source-packed: improve lookup when enumerating objects - + Merge branch 'ps/odb-drop-whence' into ps/odb-for-each-object-filter - - The object database enumeration interface odb_for_each_object() has - been taught to accept object filters, allowing the underlying backends - to optimize the traversal by using reachability bitmaps when - available. 'git cat-file --batch-all-objects' has been updated to use - this generic interface, simplifying its code and avoiding direct - access to ODB backend internals. - - Graduated to 'master'. - cf. <874ii0h2uf.fsf@emacs.iotcl.com> - source: <20260715-pks-odb-for-each-object-filter-v4-0-616d7adf7fb7@pks.im> - - -* ps/odb-stream-double-close-fix (2026-07-10) 1 commit - (merged to 'next' on 2026-07-13 at dd2c5795b7) - + object-file: fix closing object stream twice - - The stream-based object signature verification path has been - corrected to avoid double-closing the stream on read errors. - - Graduated to 'master'. - source: <20260710-pks-odb-stream-double-close-v1-1-d5fa233a37c7@pks.im> - - -* rs/strbuf-avoid-redundant-reset (2026-07-14) 1 commit - (merged to 'next' on 2026-07-16 at f258ce38ba) - + strbuf: avoid redundant reset in strbuf_getwholeline() - - A redundant strbuf_reset() call in the 'HAVE_GETDELIM' path of - strbuf_getwholeline() has been removed, as getdelim() overwrites the - buffer and the length is updated afterward. - - Graduated to 'master'. - cf. - cf. <20260714214941.GB4095533@coredump.intra.peff.net> - source: - - -* sk/t1100-modernize (2026-07-14) 2 commits - (merged to 'next' on 2026-07-16 at 621ca4ca5f) - + t1100: move creation of expected output into setup test - + t1100: modernize test style - - The test script 't/t1100-commit-tree-options.sh' has been modernized - by converting test cases to the modern style (using single quotes and - tab indentation) and moving the creation of the expected file inside - the setup test so it runs under the protection of the test harness. - - Graduated to 'master'. - cf. - source: <20260714122033.61947-1-diy2903@gmail.com> - - -* sk/t7614-do-not-hide-git-exit-status (2026-07-15) 1 commit - (merged to 'next' on 2026-07-16 at 0d143986e7) - + t7614: avoid hiding git's exit code in a pipe - - The test script 't/t7614-merge-signoff.sh' has been updated to avoid - suppressing the exit code of 'git' commands in a pipe. - - Graduated to 'master'. - cf. - source: <20260715113344.3490-1-diy2903@gmail.com> - -------------------------------------------------- [New Topics] -* hs/rebase-continue-edit (2026-07-21) 1 commit - - rebase: add --[no-]edit to --continue +* af/clone-revision-v0-segfault-fix (2026-07-24) 1 commit + - builtin/clone: fix segfault when using --revision with protocol v0 - Support for skipping the editor when continuing a rebase after - conflict resolution has been added with the '--no-edit' option, and - forcing it with '--edit'. A new configuration variable - 'rebase.noEdit' can be used to set the default behavior. + 'git clone --revision' talking to a server that does not support + protocol v2 (falling back to protocol v0) segfaulted, which has + been corrected. + + Will merge to 'next'? + cf. + source: <20260724124138.666877-1-adrian.friedli@mt.com> + + +* lo/mv-missing-dest-dir-check (2026-07-23) 2 commits + - mv: check for missing destination directory before renaming + - mv: name both source and destination when rename fails + + 'git mv' has been updated to check for a missing destination + leading directory during the checking phase, allowing 'git mv -n' + to report the failure. The error message when the rename(2) + syscall fails has also been improved to name both the source and + the destination. + + Waiting for response. + cf. + cf. + source: + + +* ps/odb-make-creation-pluggable (2026-07-23) 5 commits + - odb: make creation of on-disk structures pluggable + - odb/source: introduce function to map source type to name + - setup: defer object database creation + - setup: detangle loading of loose object maps + - loose: load loose object map for the correct source + + The creation of the on-disk data structures for the object database + has been made pluggable, allowing future backends to customize their + setup. As part of this, the initialization of the object database + has been deferred, and the loading of the loose-object map has been + detangled from repository initialization. Needs review. - source: <20260721140443.1809379-2-hugo@hsal.es> - - -* tn/stash-avoid-sparse-index-expansion (2026-07-20) 2 commits - - stash: avoid sparse-index expansion for in-cone paths - - pathspec: use match for sparse-index expansion checks - - The 'git stash push' command has been optimized to avoid unnecessary - sparse index expansion when pathspecs are wholly inside the - sparse-checkout cone. Also, a potential out-of-bounds read in the - sparse-index expansion check helper pathspec_needs_expanded_index() - has been fixed by consistently using the parsed, prefixed path. - - Will merge to 'next'. - cf. - cf. - source: <20260720223118.62821-4-tnyman@openai.com> - - -* en/submodule-insteadof-remote-match (2026-07-21) 1 commit - - submodule: resolve insteadof-aliases when matching remote - - The remote-matching logic for submodules has been corrected to - resolve 'url.*.insteadOf' aliases before comparing the inventoried - URL from '.gitmodules' with the URLs of configured remotes. - - Needs review. - source: <20260721213042.3357346-1-ccjmne@gmail.com> - - -* td/fsmonitor-darwin-cookie-flush (2026-07-21) 1 commit - - fsmonitor: flush pending FSEvents before cookie wait - - The 'fsmonitor' daemon on macOS has been updated to flush pending - FSEvents before waiting for the cookie file, to avoid premature - timeouts on busy systems. - - Needs review. - source: <20260721-fsmonitor-darwin-cookie-flush-v1-1-357dc5e32040@gmail.com> - - -* jc/exclude-first-parent-seen (2026-07-22) 1 commit - - revision: honor --exclude-first-parent-only with SEEN first parent - - Traversals with '--exclude-first-parent-only' have been corrected to - properly stop after the first parent even when it has already been - marked as SEEN. - - Needs review. - source: + cf. + cf. + cf. + source: <20260724-pks-odb-create-on-disk-v1-0-3b3d265d979b@pks.im> -------------------------------------------------- [Stalled] +* tb/repack-geometric-cruft (2026-06-28) 11 commits + - SQUASH??? bare grep !??? + - repack: support combining '--geometric' with '--cruft' + - pack-objects: support '--refs-snapshot' with 'follow-reachable' + - pack-objects: introduce '--stdin-packs=follow-reachable' + - pack-objects: extract `stdin_packs_add_all_pack_entries()` + - repack-geometry: drop unused redundant-pack removal + - repack: delete geometric packs via existing_packs + - repack: teach MIDX retention about geometric rollups + - repack: mark geometric progression of packs as retained + - repack: extract `locate_existing_pack()` helper + - repack: unconditionally exclude non-kept packs + + 'git repack' has been taught to accept '--geometric' and '--cruft' + together. When both are given, non-cruft packs are rolled up by the + geometric repack as usual, while a separate cruft pack is written to + collect unreachable objects. + + Waiting for response for too long, stalled. + cf. + cf. + source: + + +* hn/checkout-track-fetch (2026-06-24) 2 commits + - checkout: extend --track with a "fetch" mode to refresh start-point + - branch: expose helpers for finding the remote owning a tracking ref + + The 'git checkout --track=...' command has been taught to optionally + fetch the branch from the remote that the new branch will work with. + + Waiting for response for too long, stalled. + cf. + cf. + source: + + +* za/completion-hide-dotfiles (2026-06-20) 2 commits + - completion: hide dotfiles by default for path completion + - completion: hide dotfiles for selected path completion + + Path completion for commands like 'git rm' and 'git mv' has been + updated to hide dotfiles by default unless the user explicitly starts + the path with a dot, matching standard shell-completion behavior. + + Waiting for response, stalled. + cf. + cf. + source: + + * kh/doc-trailers (2026-06-10) 10 commits - doc: interpret-trailers: document comment line treatment - doc: interpret-trailers: commit to “trailer block” term @@ -314,24 +169,104 @@ Release tarballs are available at: how comment lines in the input are treated. Expecting a reroll for too long, stalled. - cf. <729baf6b-53ea-4e8d-95ab-5935667e66c2@app.fastmail.com> - cf. + cf. source: +* kh/doc-replay-config (2026-06-05) 4 commits + - doc: replay: move “default” to the right-hand side + - doc: replay: use a nested description list + - doc: replay: improve config description + - doc: link to config for git-replay(1) + + Documentation for 'git replay' has been updated to refer to its + configuration variables. + + Waiting for response for too long, stalled. + cf. <87cxwxofgv.fsf@emacs.iotcl.com> + source: + +-------------------------------------------------- +[Cooking] + * jt/config-lock-timeout (2026-05-17) 1 commit - - config: retry acquiring config.lock, configurable via core.configLockTimeout + (merged to 'next' on 2026-07-24 at 3cb8da6b6a) + + config: retry acquiring config.lock, configurable via core.configLockTimeout Configuration file locking has been updated to retry for a short period, avoiding failures when multiple processes attempt to update the configuration simultaneously. - Waiting for response for too long, stalled. + Will merge to 'master'. cf. + cf. source: <20260517132111.1014901-1-joerg@thalheim.io> --------------------------------------------------- -[Cooking] + +* hs/rebase-continue-edit (2026-07-21) 1 commit + - rebase: add --[no-]edit to --continue + + Support for skipping the editor when continuing a rebase after + conflict resolution has been added with the '--no-edit' option, and + forcing it with '--edit'. A new configuration variable + 'rebase.noEdit' can be used to set the default behavior. + + Waiting for a response. + cf. + source: <20260721140443.1809379-2-hugo@hsal.es> + + +* tn/stash-avoid-sparse-index-expansion (2026-07-20) 2 commits + (merged to 'next' on 2026-07-23 at 8ccf28493e) + + stash: avoid sparse-index expansion for in-cone paths + + pathspec: use match for sparse-index expansion checks + + The 'git stash push' command has been optimized to avoid unnecessary + sparse index expansion when pathspecs are wholly inside the + sparse-checkout cone. Also, a potential out-of-bounds read in the + sparse-index expansion check helper pathspec_needs_expanded_index() + has been fixed by consistently using the parsed, prefixed path. + + Will merge to 'master'. + cf. + cf. + source: <20260720223118.62821-4-tnyman@openai.com> + + +* en/submodule-insteadof-remote-match (2026-07-22) 1 commit + - submodule: resolve insteadOf aliases when matching remote + + The remote-matching logic for submodules has been corrected to + resolve 'url.*.insteadOf' aliases before comparing the inventoried + URL from '.gitmodules' with the URLs of configured remotes. + + Will merge to 'next'? + cf. + source: <20260723002132.3989727-1-ccjmne@gmail.com> + + +* td/fsmonitor-darwin-cookie-flush (2026-07-21) 1 commit + - fsmonitor: flush pending FSEvents before cookie wait + + The 'fsmonitor' daemon on macOS has been updated to flush pending + FSEvents before waiting for the cookie file, to avoid premature + timeouts on busy systems. + + Waiting for a resposne. + cf. + source: <20260721-fsmonitor-darwin-cookie-flush-v1-1-357dc5e32040@gmail.com> + + +* jc/exclude-first-parent-seen (2026-07-22) 1 commit + - revision: honor --exclude-first-parent-only with SEEN first parent + + Traversals with '--exclude-first-parent-only' have been corrected to + properly stop after the first parent even when it has already been + marked as SEEN. + + Will merge to 'next'. + source: + * sn/rebase-update-refs-symrefs (2026-07-22) 2 commits - rebase: guard non-branch symref targets @@ -342,7 +277,9 @@ Release tarballs are available at: the current branch are skipped and duplicate updates are avoided to prevent failures when branch aliases are present. - Needs review. + Waiting for a response. + cf. + cf. <00e529b6-7ae7-463f-a4b3-0991e9411aba@gmail.com> source: @@ -361,7 +298,7 @@ Release tarballs are available at: source: <20260719010842.17991-1-sandals@crustytoothpaste.net> -* ja/doc-synopsis-style-yet-more (2026-07-19) 4 commits +* ja/doc-synopsis-style-yet-more (2026-07-23) 4 commits - doc: convert git-request-pull synopsis and options to new style - doc: convert git-send-email synopsis and options to new style - doc: convert git-format-patch synopsis and options to new style @@ -371,10 +308,8 @@ Release tarballs are available at: 'git imap-send', 'git send-email', and 'git request-pull' have been updated to the modern style. - Expecting a reroll. - cf. <23179740.EfDdHjke4D@piment-oiseau> - cf. <2418232.ElGaqSPkdT@piment-oiseau> - source: + Needs review. + source: * hn/url-push-tracking (2026-07-22) 2 commits @@ -385,9 +320,8 @@ Release tarballs are available at: uniquely matching configured remote is now used to find and update the remote-tracking branch (e.g., '@{push}'). - Will merge to 'next'? + Will merge to 'next'. cf. - cf. <3FE12592-B663-438C-B33E-A251AE08E146@gmail.com> source: @@ -398,7 +332,8 @@ Release tarballs are available at: 'gitweb' has been corrected to work even when the index line carries a trailing file mode. - Needs review. + Will merge to 'next'? + cf. source: @@ -418,17 +353,20 @@ Release tarballs are available at: Waiting for response. cf. <845D6852-98F5-4168-82CD-90B3B476BCF5@gmail.com> + cf. source: <20260717133015.32040-1-jayatheerthkulkarni2005@gmail.com> * sk/userdiff-swift (2026-07-20) 1 commit - - userdiff: add support for Swift + (merged to 'next' on 2026-07-23 at 45dbcc6307) + + userdiff: add support for Swift Userdiff patterns for Swift have been added, with support for Swift-specific constructs such as attributes, modifiers, failable initializers, and generics. - Will merge to 'next'? + Will merge to 'master'. + cf. <2a3a73c5-5e90-44a3-bf6a-6e98ce5e5a59@kdbg.org> cf. <7b541cd5-bd66-4675-818d-8e23eb1c9530@kdbg.org> source: <20260721065736.8747-1-diy2903@gmail.com> @@ -451,7 +389,9 @@ Release tarballs are available at: first refactoring force_object_loose() to use generic ODB write interfaces instead of loose-backend internals. - Needs review. + Will merge to 'next'? + cf. <87jyqnp365.fsf@emacs.iotcl.com> + cf. <87fr1bp0bi.fsf@emacs.iotcl.com> source: <20260717-pks-odb-move-loose-object-writing-v1-0-46446a3cb5b7@pks.im> @@ -480,8 +420,9 @@ Release tarballs are available at: to pre-filter commits, and maintains per-path Bloom filters even when wildcard pathspecs are used. - Expecting a reroll. + Waiting for a response. cf. <87cxwl1lb4.fsf@emacs.iotcl.com> + cf. <20260720094218.GA681989@coredump.intra.peff.net> source: <20260717-toon-speed-up-last-modified-v1-0-410418f18614@iotcl.com> @@ -521,7 +462,6 @@ Release tarballs are available at: Waiting for response. cf. cf. - cf. cf. source: @@ -533,7 +473,7 @@ Release tarballs are available at: avoid a segfault when encountering unmerged paths outside the prefix. - Needs review. + Will merge to 'next'? source: <20260715060523.GA517940@coredump.intra.peff.net> @@ -651,8 +591,7 @@ Release tarballs are available at: Waiting for response. cf. - cf. - cf. + cf. source: <20260716-pks-reintroduce-writev-v1-0-ea9038c884bc@pks.im> @@ -683,7 +622,7 @@ Release tarballs are available at: source: -* tn/packfile-uri-concurrency (2026-07-21) 3 commits +* tn/packfile-uri-concurrency (2026-07-24) 3 commits - fetch-pack: accept "pack" output for packfile URIs - http: avoid concurrent appends to partial packs - http-fetch: correct --index-pack-arg documentation @@ -696,7 +635,8 @@ Release tarballs are available at: '.keep' files. Needs review. - source: + cf. + source: * rs/tempfile-wo-the-repository (2026-07-14) 5 commits @@ -764,6 +704,7 @@ Release tarballs are available at: to spawn a 'git apply' subprocess. Needs review. + cf. source: <20260711061246.58079-1-gatlavishweshwarreddy26@gmail.com> @@ -862,7 +803,7 @@ Release tarballs are available at: script on repositories already managed by the new tool. Expecting a reroll. - cf. <27219.20156.438730.881821@chiark.greenend.org.uk> + cf. <27215.27575.968985.583226@chiark.greenend.org.uk> source: <20260706115816.20267-1-ijackson@chiark.greenend.org.uk> @@ -926,47 +867,24 @@ Release tarballs are available at: source: -* tb/repack-geometric-cruft (2026-06-28) 11 commits - - SQUASH??? bare grep !??? - - repack: support combining '--geometric' with '--cruft' - - pack-objects: support '--refs-snapshot' with 'follow-reachable' - - pack-objects: introduce '--stdin-packs=follow-reachable' - - pack-objects: extract `stdin_packs_add_all_pack_entries()` - - repack-geometry: drop unused redundant-pack removal - - repack: delete geometric packs via existing_packs - - repack: teach MIDX retention about geometric rollups - - repack: mark geometric progression of packs as retained - - repack: extract `locate_existing_pack()` helper - - repack: unconditionally exclude non-kept packs - - 'git repack' has been taught to accept '--geometric' and '--cruft' - together. When both are given, non-cruft packs are rolled up by the - geometric repack as usual, while a separate cruft pack is written to - collect unreachable objects. - - Waiting for response. - cf. - cf. - source: - - * ty/migrate-excludes-file (2026-07-13) 10 commits - - repository: adjust the comment of config_values_private_ - - environment: move object_creation_mode into repo_config_values - - environment: move autorebase into repo_config_values - - environment: move push_default into repo_config_values - - environment: migrate apply_default_whitespace and apply_default_ignorewhitespace - - environment: move askpass_program into repo_config_values - - environment: move pager_program into repo_config_values - - environment: move editor_program into repo_config_values - - environment: move excludes_file into repo_config_values - - repository: introduce repo_config_values_clear() + (merged to 'next' on 2026-07-23 at 749560a29c) + + repository: adjust the comment of config_values_private_ + + environment: move object_creation_mode into repo_config_values + + environment: move autorebase into repo_config_values + + environment: move push_default into repo_config_values + + environment: migrate apply_default_whitespace and apply_default_ignorewhitespace + + environment: move askpass_program into repo_config_values + + environment: move pager_program into repo_config_values + + environment: move editor_program into repo_config_values + + environment: move excludes_file into repo_config_values + + repository: introduce repo_config_values_clear() The 'excludes_file' and various other global configuration variables (including 'editor_program', 'pager_program', 'askpass_program', and 'push_default') have been migrated into the per-repository structure. - Will merge to 'next'. + Will merge to 'master'. cf. source: <20260714032525.1611141-1-cat@malon.dev> @@ -1002,21 +920,23 @@ Release tarballs are available at: the specified range and path. Needs review. + cf. source: * hn/history-squash (2026-07-20) 5 commits - - history: re-edit a squash with every message - - sequencer: share the squash message marker helpers and flags - - history: add squash subcommand to fold a range - - history: give commit_tree_ext a message template - - history: extract helper for a commit's parent tree + (merged to 'next' on 2026-07-23 at 2790c83e45) + + history: re-edit a squash with every message + + sequencer: share the squash message marker helpers and flags + + history: add squash subcommand to fold a range + + history: give commit_tree_ext a message template + + history: extract helper for a commit's parent tree The experimental 'git history' command has been taught a new 'squash' subcommand to fold a range of commits into a single commit, with any descendants replayed on top. - Will merge to 'next'. + Will merge to 'master'. cf. cf. source: @@ -1069,20 +989,21 @@ Release tarballs are available at: source: <20260707-toon-git-replay-drop-merges-v7-0-808ab9b4afa6@iotcl.com> -* ps/cat-file-remote-object-info (2026-07-18) 13 commits - - cat-file: make remote-object-info allow-list adapt to the server - - cat-file: add remote-object-info to batch-command - - transport: add client support for object-info - - serve: advertise object-info feature - - protocol-caps: check object existence regardless of the attributes requested - - fetch-pack: move fetch initialization - - connect: make write_fetch_command_and_capabilities() more generic - - fetch-pack: move write_fetch_command_and_capabilities() to connect.c - - fetch-pack: use unsigned int for hash_algo variable - - fetch-pack: drop the static advertise_sid variable - - t1006: extract helper functions into new 'lib-cat-file.sh' - - cat-file: declare loop counter inside for() - - transport-helper: fix memory leak of helper on disconnect +* ps/cat-file-remote-object-info (2026-07-24) 13 commits + (merged to 'next' on 2026-07-24 at e436a42272) + + cat-file: make remote-object-info allow-list adapt to the server + + cat-file: add remote-object-info to batch-command + + transport: add client support for object-info + + serve: advertise object-info feature + + protocol-caps: check object existence regardless of the attributes requested + + fetch-pack: move fetch initialization + + connect: make write_fetch_command_and_capabilities() more generic + + fetch-pack: move write_fetch_command_and_capabilities() to connect.c + + fetch-pack: use unsigned int for hash_algo variable + + fetch-pack: drop the static advertise_sid variable + + t1006: extract helper functions into new 'lib-cat-file.sh' + + cat-file: declare loop counter inside for() + + transport-helper: fix memory leak of helper on disconnect The 'remote-object-info' command has been added to 'git cat-file --batch-command', allowing clients to request object metadata @@ -1091,8 +1012,8 @@ Release tarballs are available at: filtered on the client based on server-advertised capabilities, returning empty strings for inapplicable or unsupported fields. - Needs review. - source: <20260718-ps-eric-work-rebase-v20-0-0c13962ac532@gmail.com> + Will merge to 'master'. + source: <20260724-ps-eric-work-rebase-v21-0-ba67f024fdff@gmail.com> * mm/diff-process-hunks (2026-07-15) 9 commits @@ -1115,41 +1036,27 @@ Release tarballs are available at: Ejected for now, as it conflicts badly with 'mm/line-log-limited-ops'. Expecting a reroll. - cf. cf. source: * ty/migrate-trust-executable-bit (2026-07-20) 4 commits - - environment: move has_symlinks into repo_config_values - - environment: move trust_executable_bit into repo_config_values - - read-cache: pass 'repo' to 'ce_mode_from_stat()' - - read-cache: remove redundant extern declarations + (merged to 'next' on 2026-07-23 at 4873f289dd) + + environment: move has_symlinks into repo_config_values + + environment: move trust_executable_bit into repo_config_values + + read-cache: pass 'repo' to 'ce_mode_from_stat()' + + read-cache: remove redundant extern declarations The 'trust_executable_bit' (coming from the 'core.filemode' configuration) has been migrated into 'struct repo_config_values' to tie it to a specific repository instance. - Will merge to 'next'. + Will merge to 'master'. cf. cf. source: <20260720105335.3202013-1-cat@malon.dev> -* za/completion-hide-dotfiles (2026-06-20) 2 commits - - completion: hide dotfiles by default for path completion - - completion: hide dotfiles for selected path completion - - Path completion for commands like 'git rm' and 'git mv' has been - updated to hide dotfiles by default unless the user explicitly starts - the path with a dot, matching standard shell-completion behavior. - - Waiting for response, stalled. - cf. - cf. - source: - - * ec/commit-fixup-options (2026-05-26) 2 commits - commit: allow -c/-C for all kinds of --fixup - commit: allow -m/-F for all kinds of --fixup @@ -1162,21 +1069,7 @@ Release tarballs are available at: source: -* kh/doc-replay-config (2026-06-05) 4 commits - - doc: replay: move “default” to the right-hand side - - doc: replay: use a nested description list - - doc: replay: improve config description - - doc: link to config for git-replay(1) - - Documentation for 'git replay' has been updated to refer to its - configuration variables. - - Waiting for response for too long, stalled. - cf. <87cxwxofgv.fsf@emacs.iotcl.com> - source: - - -* hn/branch-delete-merged (2026-07-22) 7 commits +* hn/branch-delete-merged (2026-07-24) 7 commits - branch: add --dry-run for --delete-merged - branch: add branch..deleteMerged opt-out - branch: add --delete-merged @@ -1189,23 +1082,10 @@ Release tarballs are available at: to remove local branches that are already merged into their tracked remote-tracking branches. - Needs review. + Will merge to 'next'? cf. <9b9b9a2c-dd0f-44f8-b80e-565eed9a55a8@gmail.com> cf. - source: - - -* hn/checkout-track-fetch (2026-06-24) 2 commits - - checkout: extend --track with a "fetch" mode to refresh start-point - - branch: expose helpers for finding the remote owning a tracking ref - - The 'git checkout --track=...' command has been taught to optionally - fetch the branch from the remote that the new branch will work with. - - Waiting for response for too long, stalled. - cf. - cf. - source: + source: * ps/shift-root-in-graph (2026-07-14) 7 commits @@ -1247,5 +1127,4 @@ Release tarballs are available at: Needs review. cf. - cf. source: