diff --git a/whats-cooking.txt b/whats-cooking.txt index 9aec41d8d7..423c478687 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 2026, #12) -X-master-at: c73e85354c275c9d409b26445089bc16940fc527 -X-next-at: 7e5102b832995d91251fb2e4744fc476a8089c99 +Subject: What's cooking in git.git (Aug 2026, #13) +X-master-at: 1630431f326e15fcde608827b5ff38422528eb59 +X-next-at: 10538fe6993d66efa04f9fa440a9c16590c0ae0a Bcc: lwn@lwn.net, gitster@pobox.com -What's cooking in git.git (Aug 2026, #12) +What's cooking in git.git (Aug 2026, #13) ----------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -17,10 +17,10 @@ A topic without enough support may be discarded after a long period of no activity (of course, it can be resubmitted when new interest arises). -The 20th batch of topics have now graduated to the 'master' branch. -We have 567 non-merge commits in 'master' since Git 2.55. There -are 76 non-merge commits cooking in 'next' (note that some have -been reverted), and 215 non-merge commits, including those in and +The 21st batch of topics have now graduated to the 'master' branch. +We have 601 non-merge commits in 'master' since Git 2.55. There +are 51 non-merge commits cooking in 'next' (note that some have +been reverted), and 187 non-merge commits, including those in and out of 'next', in 'seen' as of this writing. Copies of the source code to Git live in many repositories, and the @@ -54,65 +54,209 @@ Release tarballs are available at: -------------------------------------------------- [Graduated to 'master'] -* kh/format-rev-doc-synopsis (2026-08-17) 2 commits - (merged to 'next' on 2026-08-20 at b9c47eddd0) - + doc: format-rev: use [synopsis] on code block - + doc: format-rev: quote subject placeholder before and after +* fr/pack-objects-trace-pack-bytes (2026-08-19) 1 commit + (merged to 'next' on 2026-08-24 at dcc6a34978) + + pack-objects: trace pack bytes written - The documentation for 'git format-rev' has been updated to use the - [synopsis] block definition on code blocks to properly highlight - placeholders, and a quoting inconsistency in the running text has - been fixed. + The pack-objects command has been updated to record the total bytes + written to pack files in trace2 output, allowing performance + analysis of different compression settings by comparing the + resulting pack sizes. Graduated to 'master'. - cf. - source: + cf. + cf. <20260820082102.GA2973952@coredump.intra.peff.net> + source: -* sk/object-name-use-after-free (2026-08-17) 1 commit - (merged to 'next' on 2026-08-20 at b0804dff5f) - + object-name: avoid use-after-free in get_oid_with_context_1() +* jt/receive-pack-pluggable-writes (2026-08-20) 9 commits + (merged to 'next' on 2026-08-24 at cf024e685d) + + odb/transaction: add transaction interface to write packfiles + + odb: return temporary ODB source when set + + builtin/receive-pack: explicitly pass packfile fd + + builtin/receive-pack: report unpack errors via strbuf + + builtin/receive-pack: lift global state out of unpack() + + builtin/receive-pack: read unpack limit config lazily + + builtin/receive-pack: pass shallow file explicitly + + odb/transaction: add transaction finalize interface + + builtin/receive-pack: properly clean up keep files - A heap-use-after-free bug in the object name parsing code when - reporting failures with a relative path to a sparse directory has - been corrected. + The 'git receive-pack' command has been updated to use a new ODB + transaction interface for writing incoming packfiles, making it more + backend-agnostic. Graduated to 'master'. - cf. - source: <20260817082127.81132-1-diy2903@gmail.com> + cf. + cf. + source: <20260820234940.894624-1-jltobler@gmail.com> + + +* kh/trailers-no-urls (2026-08-20) 1 commit + (merged to 'next' on 2026-08-24 at 11e10f8626) + + trailers: stop recognizing URLs as trailers + + Merge branch 'kh/doc-trailers' into kh/trailers-no-urls + + The trailer parsing machinery has been updated to avoid mistaking + lines that begin with a URL (e.g., 'https://...') as trailer lines. + This prevents intended textual URLs from being mangled or mistakenly + treated as metadata keys. + + Graduated to 'master'. + cf. <20260821004248.GA296777@coredump.intra.peff.net> + cf. + source: + + +* ps/odb-eagerly-load-alternates (2026-08-17) 5 commits + (merged to 'next' on 2026-08-24 at a431cd5887) + + odb: drop `alternates_db` field + + odb: drop `loaded_alternates` field + + odb: eagerly initialize alternates + + odb: decouple source path comparisons from `the_repository` + + setup: create ref and object databases after config is written + + Merge branch 'ps/odb-make-creation-pluggable' into ps/odb-eagerly-load-alternates + (this branch is used by ps/odb-alternates-at-creation and ps/odb-pluggable-fsck.) + + The object database layer has been simplified by eagerly loading + alternate object directories upon initialization, instead of + deferring it to the first object lookup. This eliminates the need + for scattered lazy-loading calls throughout the codebase and paves + the way for integrating alternates with the pluggable backends. + + Graduated to 'master'. + cf. + cf. + source: <20260817-pks-odb-eagerly-prepare-alternates-v3-0-1115a7e02467@pks.im> + + +* ps/odb-generic-corrupt-objects (2026-08-19) 5 commits + (merged to 'next' on 2026-08-23 at fe72e268a1) + + odb: handle `OBJECT_INFO_DIE_IF_CORRUPT` generically + + odb/source: allow `read_object_info()` to bubble up error messages + + odb/source: let callers discern missing and corrupt objects + + odb/source: introduce error status when reading objects + + odb/source-packed: flag known-bad objects as corrupt and not missing + (this branch is used by en/midx-missing-pack-fallback.) + + The object database (odb) API has been refactored to distinguish + between missing objects and corrupt ones by returning more + descriptive error statuses. Both the packed and loose backends now + faithfully propagate error details using a generic strbuf error + mechanism, removing backend-specific leakage from central lookup + paths. + + Graduated to 'master'. + cf. + source: <20260819-pks-odb-generic-corrupt-objects-v2-0-a984e3a0ad6f@pks.im> + + +* ps/odb-geometric-repack-loose-threshold (2026-08-11) 1 commit + (merged to 'next' on 2026-08-24 at f91738c4a4) + + odb/files: be less aggressive with geometric repacking + + The threshold for geometric repacking to trigger based on loose + object count has been adjusted to match that of 'git gc --auto', + preventing over-aggressive repacking during concurrent writes. + + Graduated to 'master'. + cf. + cf. + source: <20260811-pks-geometric-maintenance-reduce-frequency-v1-1-7a54c42355ac@pks.im> + + +* ps/odb-pluggable-pack-generation (2026-08-20) 6 commits + (merged to 'next' on 2026-08-24 at 4d8acd97d0) + + bundle: generate packfiles via the object database + + bundle: get (mostly) rid of `the_repository` + + builtin/bundle: refactor option handling for progress meter + + send-pack: generate packfiles via the object database + + upload-pack: generate packfiles via the object database + + odb: introduce interface to generate packfiles + (this branch is used by ps/odb-pluggable-fsck.) + + The mechanism to generate a packfile corresponding to the result of + a fetch/push has been made pluggable through a set of object + database callback functions, removing hardcoded references to + 'pack-objects' and enabling alternative ODBs to serve packfiles + themselves. + + Graduated to 'master'. + cf. + cf. + source: <20260821-b4-pks-odb-generate-pack-v4-0-074e8bd641f8@pks.im> + + +* vm/complete-history (2026-08-13) 4 commits + (merged to 'next' on 2026-08-24 at f6498b4afc) + + completion: complete 'git history split' pathspecs + + completion: complete 'git history --update-refs' values + + completion: complete 'git history --empty' values + + completion: add 'git history' subcommands + + The command line completion (in contrib/) has been taught to handle + the experimental 'git history' command. + + Graduated to 'master'. + cf. + cf. + source: <20260813-history_autocompletion-v3-0-69eed1cea93a@kernel.org> + + +* yn/worktree-add-no-dwim-with-b (2026-08-20) 1 commit + (merged to 'next' on 2026-08-23 at 6e4bf24274) + + worktree add: shouldn't dwim if -b or -B is given + + The DWIM logic in 'git worktree add' sometimes tried to infer a + remote-tracking branch when an explicit '-b' or '-B' option was + given to create a new branch, causing the explicit branch name to + be ignored, which has been corrected. + + Graduated to 'master'. + cf. + source: -------------------------------------------------- [New Topics] -* jc/die-for-incompatible-opts (2026-08-27) 1 commit - - die_for_incompatible_opts(): unbounded number of options +* jc/checkout-refactor (2026-08-30) 8 commits + - checkout: move post_checkout_hook() to checkout.c + - checkout: wrap overly long lines + - checkout: restructure switch, restore, and checkout entrypoints + - checkout: extract branch setup and tracking helpers + - checkout: extract option validation and pathspec helpers + - checkout: validate stage and merge option compatibility in checkout_paths() + - checkout: validate new branch name in checkout_branch() + - checkout: pass cb_option explicitly to branch name parsers - The die_for_incompatible_opt[234]() family of functions has been - generalized to handle an arbitrary number of mutually exclusive - options via a variadic function. - - Will merge to 'next'? - source: - - -* jc/you-still-use-that (2026-08-27) 1 commit - - you_still_use_that(): reword the instructions - - The instructions for deprecated commands emitted by - you_still_use_that() have been reworded to clarify that the removal - decision is final and to provide more assertive guidance on finding - a replacement. - - Will merge to 'next'? - source: - - -* ws/squelch-svn-migrate (2026-08-27) 2 commits - - Makefile: add NO_GIT_SVN knob to skip building/installing git-svn - - git-svn: don't print v1-layout migration noise when there's nothing to migrate + The front-end code for 'git checkout', 'git switch', and 'git + restore' has been restructured to cleanly separate their pathspec + and branch handling, eliminating a common bottleneck and paving the + way to libify utility helpers. Needs review. - source: <20260827234345.1037130-1-wesleys@opperschaap.net> + source: <20260830204835.1040408-1-gitster@pobox.com> + + +* hk/typofix (2026-08-30) 1 commit + - typofix: fix spelling mistakes in comments and test description + + Various spelling mistakes in comments and test descriptions have + been corrected. + + Expecting a reroll. + cf. + source: <20260830-typo-v1-1-d397c8dfb301@gmail.com> + + +* ll/doc-pushcert-if-asked (2026-08-29) 1 commit + - doc: remote-helpers: option pushcert if-asked + + he remote helper documentation for the 'pushcert' option has been + updated to mention that it can also take 'if-asked', reflecting the + existing implementation in the code. + + Needs review. + source: <20260829183659.29947-1-lorenz.leutgeb@posteo.eu> -------------------------------------------------- [Stalled] @@ -195,7 +339,7 @@ Release tarballs are available at: source: -* tc/replay-linearize (2026-07-28) 3 commits +* tc/replay-linearize (2026-08-31) 3 commits - replay: offer an option to linearize the commit topology - replay: resolve the replay base outside pick_regular_commit() - replay: add helper to put entry into replayed_commits @@ -204,10 +348,8 @@ Release tarballs are available at: drop merge commits and linearize the replayed history, mimicking 'git rebase --no-rebase-merges'. - Waiting for response for too long, stalled. - cf. - cf. - source: <20260728-toon-git-replay-drop-merges-v8-0-ced11dffe749@iotcl.com> + Needs review. + source: <20260831-toon-git-replay-drop-merges-v9-0-61c4232c6f36@iotcl.com> * cl/regexec-macos-leak (2026-07-28) 2 commits @@ -248,6 +390,27 @@ Release tarballs are available at: -------------------------------------------------- [Cooking] +* jc/you-still-use-that (2026-08-27) 1 commit + (merged to 'next' on 2026-08-30 at d8f3941368) + + you_still_use_that(): reword the instructions + + The instructions for deprecated commands emitted by + you_still_use_that() have been reworded to clarify that the removal + decision is final and to provide more assertive guidance on finding + a replacement. + + Will merge to 'master'. + source: + + +* ws/squelch-svn-migrate (2026-08-27) 2 commits + - Makefile: add NO_GIT_SVN knob to skip building/installing git-svn + - git-svn: don't print v1-layout migration noise when there's nothing to migrate + + Needs review. + source: <20260827234345.1037130-1-wesleys@opperschaap.net> + + * dw/config-read-both-global (2026-08-23) 3 commits - config: read global scope via config_sequence - config: let sequence require a successful file @@ -297,20 +460,6 @@ Release tarballs are available at: source: <20260824-740-optimize-reloading-the-reftable-stack-v2-0-9c9de2eb0af7@gmail.com> -* kh/format-patch-range-diff-notes (2026-08-24) 3 commits - - format-patch: learn --[no-]range-diff-notes - - revision.h: rename struct member to reflect notes role - - format-patch: simplify get_notes_arg parameters - - The 'format-patch' command has been updated with options to - configure notes specifically for range-diff output, allowing them to - differ from the notes displayed on the patches themselves. - - Retracted. - cf. <9335a35f-e9c0-4e62-812c-e5855c201003@app.fastmail.com> - source: - - * jc/rerere-doc-typofix (2026-08-24) 1 commit (merged to 'next' on 2026-08-25 at 62bdec98f9) + rerere: technical documentation typofix @@ -322,7 +471,7 @@ Release tarballs are available at: source: -* ps/odb-alternates-at-creation (2026-08-25) 8 commits +* ps/odb-alternates-at-creation (2026-08-31) 8 commits - odb/source: remove the ability to write alternates - builtin/clone: write alternates via `odb_create_on_disk()` - odb/source: support writing alternates when creating the database @@ -332,19 +481,16 @@ Release tarballs are available at: - builtin/clone: move around `setup_reference()` - builtin/clone: defer setup of the object database - Merge branch 'ps/odb-eagerly-load-alternates' into ps/odb-alternates-at-creation - (this branch uses ps/odb-eagerly-load-alternates.) The setup of alternates has been deferred to object database creation time during clone, which drops the unused ad-hoc alternate writing API, simplifying the object database backend interface. - Waiting for response. - cf. <874igeuwja.fsf@emacs.iotcl.com> - cf. <8733vyuwid.fsf@emacs.iotcl.com> - source: <20260825-pks-odb-write-alternates-at-creation-time-v1-0-911513ba95c3@pks.im> + Needs review. + source: <20260831-pks-odb-write-alternates-at-creation-time-v2-0-aecd2382ba1c@pks.im> -* ps/odb-pluggable-fsck (2026-08-25) 10 commits +* ps/odb-pluggable-fsck (2026-08-30) 10 commits - builtin/fsck: move loose object verification into the loose source - builtin/fsck: move multi-pack index verification into the packed source - builtin/fsck: move bitmap verification into the packed source @@ -357,17 +503,15 @@ Release tarballs are available at: - builtin/fsck: use `fsck_obj_buffer()` when checking loose objects - Merge branch 'ps/odb-eagerly-load-alternates' into ps/odb-pluggable-fsck - Merge branch 'ps/odb-pluggable-pack-generation' into ps/odb-pluggable-fsck - (this branch uses ps/odb-eagerly-load-alternates and ps/odb-pluggable-pack-generation.) The consistency checks for the object database (fsck) have been decoupled from the generic builtin implementation and moved into the backend-specific object source layers, making them pluggable for different object storage formats. - Waiting for response. - cf. - cf. - source: <20260825-pks-odb-source-fsck-v1-0-b756de0bf24f@pks.im> + Needs review. + cf. + source: <20260831-pks-odb-source-fsck-v2-0-f9b16ef4957b@pks.im> * rs/worktree-add-basename-fixes (2026-08-25) 4 commits @@ -430,24 +574,11 @@ Release tarballs are available at: `fetch.packfileURIThreads` configuration is set, significantly speeding up fetches from servers that advertise multiple packfiles. - Needs review. + Expecting a reroll. + cf. source: <20260821-pks-parallelize-fetching-packfile-uris-v1-0-0df52d9427ce@pks.im> -* ps/odb-geometric-repack-loose-threshold (2026-08-11) 1 commit - (merged to 'next' on 2026-08-24 at f91738c4a4) - + odb/files: be less aggressive with geometric repacking - - The threshold for geometric repacking to trigger based on loose - object count has been adjusted to match that of 'git gc --auto', - preventing over-aggressive repacking during concurrent writes. - - Will merge to 'master'. - cf. - cf. - source: <20260811-pks-geometric-maintenance-reduce-frequency-v1-1-7a54c42355ac@pks.im> - - * kn/receive-report-hook (2026-08-26) 3 commits - hook: introduce the receive-report hook - receive-pack: move message generation to separate function @@ -457,62 +588,44 @@ Release tarballs are available at: reference updates and allows the server to filter or modify the packet-line status report sent back to the client. - Needs review. + Waiting for response. + cf. source: <20260826-758-introduce-hook-v4-0-6b14975ad957@gmail.com> -* en/midx-missing-pack-fallback (2026-08-25) 4 commits +* en/midx-missing-pack-fallback (2026-08-29) 4 commits - packfile: recover when a multi-pack-index names a removed pack - - packfile: recover object lookups racing a concurrent repack + - mktree: do not use OBJECT_INFO_QUICK when checking objects - mktree: plug per-tree leak in --batch mode - replay: fail gracefully when a merge input is unreadable - Merge branch 'ps/odb-generic-corrupt-objects' into en/midx-missing-pack-fallback - (this branch uses ps/odb-generic-corrupt-objects.) The object lookup machinery has been taught to gracefully recover when a multi-pack-index points to an owning pack that was removed during a concurrent geometric repack, and 'git replay' has been fixed to not segfault when reading such missing objects. - Expecting a reroll. - cf. - source: + Will merge to 'next'? + cf. + cf. <20260829120721.GF40814@coredump.intra.peff.net> + cf. <20260829114620.GE40814@coredump.intra.peff.net> + source: * ll/zsh-complete-git-potty-options (2026-08-19) 1 commit - - completion: zsh: support completion after "git -C " + (merged to 'next' on 2026-08-31 at fee97cc13c) + + completion: zsh: support completion after "git -C " The zsh completion script (in 'contrib/') has been updated to correctly locate the Git command after global options like '-C' by properly skipping them, similar to how the bash completion does. - Will merge to 'next'? + Will merge to 'master'. cf. cf. source: -* ps/odb-generic-corrupt-objects (2026-08-19) 5 commits - (merged to 'next' on 2026-08-23 at fe72e268a1) - + odb: handle `OBJECT_INFO_DIE_IF_CORRUPT` generically - + odb/source: allow `read_object_info()` to bubble up error messages - + odb/source: let callers discern missing and corrupt objects - + odb/source: introduce error status when reading objects - + odb/source-packed: flag known-bad objects as corrupt and not missing - (this branch is used by en/midx-missing-pack-fallback.) - - The object database (odb) API has been refactored to distinguish - between missing objects and corrupt ones by returning more - descriptive error statuses. Both the packed and loose backends now - faithfully propagate error details using a generic strbuf error - mechanism, removing backend-specific leakage from central lookup - paths. - - Will merge to 'master'. - cf. - source: <20260819-pks-odb-generic-corrupt-objects-v2-0-a984e3a0ad6f@pks.im> - - * ap/http-preserve-wwwauth-redirect (2026-08-19) 1 commit - http: preserve wwwauth_headers across redirects @@ -526,21 +639,6 @@ Release tarballs are available at: source: <20260819-http-preserve-wwwauth-redirect-v2-1-4c61039432b0@nvidia.com> -* fr/pack-objects-trace-pack-bytes (2026-08-19) 1 commit - (merged to 'next' on 2026-08-24 at dcc6a34978) - + pack-objects: trace pack bytes written - - The pack-objects command has been updated to record the total bytes - written to pack files in trace2 output, allowing performance - analysis of different compression settings by comparing the - resulting pack sizes. - - Will merge to 'master'. - cf. - cf. <20260820082102.GA2973952@coredump.intra.peff.net> - source: - - * kh/doc-datamodel (2026-08-23) 4 commits - doc: datamodel: link to the glossary - doc: glossary: link four of the terms to gitdatamodel(7) @@ -550,12 +648,14 @@ Release tarballs are available at: The gitdatamodel documentation page has been linked from a handful of key documentaiton pages. - Needs review. + Will merge to 'next'? + cf. source: * yn/worktree-repair-relative (2026-08-28) 1 commit - - worktree repair: detect relative path in .git file correctly + (merged to 'next' on 2026-08-31 at 15072b025f) + + worktree repair: detect relative path in .git file correctly The git worktree repair command failed to rewrite the .git file of a working tree from a relative path to an absolute path when the @@ -564,7 +664,7 @@ Release tarballs are available at: the path originally recorded in the file was absolute, and this new capability is used to correctly detect such mismatches. - Will merge to 'next'? + Will merge to 'master'. cf. source: @@ -584,28 +684,6 @@ Release tarballs are available at: source: -* ps/odb-pluggable-pack-generation (2026-08-20) 6 commits - (merged to 'next' on 2026-08-24 at 4d8acd97d0) - + bundle: generate packfiles via the object database - + bundle: get (mostly) rid of `the_repository` - + builtin/bundle: refactor option handling for progress meter - + send-pack: generate packfiles via the object database - + upload-pack: generate packfiles via the object database - + odb: introduce interface to generate packfiles - (this branch is used by ps/odb-pluggable-fsck.) - - The mechanism to generate a packfile corresponding to the result of - a fetch/push has been made pluggable through a set of object - database callback functions, removing hardcoded references to - 'pack-objects' and enabling alternative ODBs to serve packfiles - themselves. - - Will merge to 'master'. - cf. - cf. - source: <20260821-b4-pks-odb-generate-pack-v4-0-074e8bd641f8@pks.im> - - * ty/repository-fetch-if-missing (2026-08-14) 1 commit (merged to 'next' on 2026-08-25 at 2cc77c1ca1) + repository: move fetch_if_missing into struct repository @@ -626,55 +704,12 @@ Release tarballs are available at: A few tests for the reference handling subsystem have been added to exercise the handling of forbidden characters and symbolic references. - Needs review. + Will merge to 'next'? + cf. source: source: -* jt/receive-pack-pluggable-writes (2026-08-20) 9 commits - (merged to 'next' on 2026-08-24 at cf024e685d) - + odb/transaction: add transaction interface to write packfiles - + odb: return temporary ODB source when set - + builtin/receive-pack: explicitly pass packfile fd - + builtin/receive-pack: report unpack errors via strbuf - + builtin/receive-pack: lift global state out of unpack() - + builtin/receive-pack: read unpack limit config lazily - + builtin/receive-pack: pass shallow file explicitly - + odb/transaction: add transaction finalize interface - + builtin/receive-pack: properly clean up keep files - - The 'git receive-pack' command has been updated to use a new ODB - transaction interface for writing incoming packfiles, making it more - backend-agnostic. - - Will merge to 'master'. - cf. - cf. - source: <20260820234940.894624-1-jltobler@gmail.com> - - -* ps/odb-eagerly-load-alternates (2026-08-17) 5 commits - (merged to 'next' on 2026-08-24 at a431cd5887) - + odb: drop `alternates_db` field - + odb: drop `loaded_alternates` field - + odb: eagerly initialize alternates - + odb: decouple source path comparisons from `the_repository` - + setup: create ref and object databases after config is written - + Merge branch 'ps/odb-make-creation-pluggable' into ps/odb-eagerly-load-alternates - (this branch is used by ps/odb-alternates-at-creation and ps/odb-pluggable-fsck.) - - The object database layer has been simplified by eagerly loading - alternate object directories upon initialization, instead of - deferring it to the first object lookup. This eliminates the need - for scattered lazy-loading calls throughout the codebase and paves - the way for integrating alternates with the pluggable backends. - - Will merge to 'master'. - cf. - cf. - source: <20260817-pks-odb-eagerly-prepare-alternates-v3-0-1115a7e02467@pks.im> - - * gg/http-ssl-verify-status (2026-08-18) 1 commit - http: add http.sslVerifyStatus to check stapled OCSP responses @@ -683,8 +718,8 @@ Release tarballs are available at: TLS handshake via a new 'http.sslVerifyStatus' configuration variable. - Waiting for review. - cf. + Waiting for response. + cf. source: <20260818214858.65122-1-ggordon@gitlab.com> @@ -702,23 +737,7 @@ Release tarballs are available at: source: <20260807085932.3958759-1-cat@malon.dev> -* vm/complete-history (2026-08-13) 4 commits - (merged to 'next' on 2026-08-24 at f6498b4afc) - + completion: complete 'git history split' pathspecs - + completion: complete 'git history --update-refs' values - + completion: complete 'git history --empty' values - + completion: add 'git history' subcommands - - The command line completion (in contrib/) has been taught to handle - the experimental 'git history' command. - - Will merge to 'master'. - cf. - cf. - source: <20260813-history_autocompletion-v3-0-69eed1cea93a@kernel.org> - - -* dk/use-nsec-runtime (2026-08-20) 3 commits +* dk/use-nsec-runtime (2026-08-29) 3 commits - core: convert build-time USE_NSEC into runtime core.useNanosec - environment: align repo_config_values_init with struct declaration - meson: expose knob for xmlto relative links in manuals @@ -728,11 +747,10 @@ Release tarballs are available at: distributions to bundle one binary that adapts to filesystem capabilities dynamically. - Expecting a (hopefully a small and final) reroll. - cf. - cf. - cf. - source: + Will merge to 'next'? + cf. + cf. + source: * bc/restrict-hex-to-lowercase (2026-07-29) 6 commits @@ -778,65 +796,34 @@ Release tarballs are available at: source: -* yn/worktree-add-no-dwim-with-b (2026-08-20) 1 commit - (merged to 'next' on 2026-08-23 at 6e4bf24274) - + worktree add: shouldn't dwim if -b or -B is given - - The DWIM logic in 'git worktree add' sometimes tried to infer a - remote-tracking branch when an explicit '-b' or '-B' option was - given to create a new branch, causing the explicit branch name to - be ignored, which has been corrected. - - Will merge to 'master'. - cf. - source: - - * yn/worktree-ambiguous-remote-advice (2026-08-27) 4 commits - - worktree add: treat multiple matches with --guess-remote as an error - - worktree add: improve message for ambiguous remote branch name - - checkout: improve message for ambiguous remote branch name - - checkout: extract function to display advice for ambiguous remotes + (merged to 'next' on 2026-08-30 at 8e7670286a) + + worktree add: treat multiple matches with --guess-remote as an error + + worktree add: improve message for ambiguous remote branch name + + checkout: improve message for ambiguous remote branch name + + checkout: extract function to display advice for ambiguous remotes 'git worktree add' did not prevent DWIM behavior when '-b' or '-B' was specified, which has been corrected. - Will merge to 'next'? + Will merge to 'master'. cf. source: -* hn/ci-cancel-stale-pr-runs (2026-07-31) 1 commit +* hn/ci-cancel-stale-pr-runs (2026-08-31) 1 commit - ci: cancel stale pull request workflow runs GitHub Actions CI workflow runs triggered by pull requests have been configured to cancel older runs when a new push is made to the same pull request. - Waiting for response. - cf. - source: + Will merge to 'next'? + source: -* kh/trailers-no-urls (2026-08-20) 1 commit - (merged to 'next' on 2026-08-24 at 11e10f8626) - + trailers: stop recognizing URLs as trailers - + Merge branch 'kh/doc-trailers' into kh/trailers-no-urls - - The trailer parsing machinery has been updated to avoid mistaking - lines that begin with a URL (e.g., 'https://...') as trailer lines. - This prevents intended textual URLs from being mangled or mistakenly - treated as metadata keys. - - Will merge to 'master'. - cf. <20260821004248.GA296777@coredump.intra.peff.net> - cf. - source: - - -* hn/checkout-m-autostash-refine (2026-07-25) 2 commits - - checkout -m: refine autostash fallback - - sequencer: teach autostash apply to report conflicts +* hn/checkout-m-autostash-refine (2026-08-31) 1 commit + - checkout: print blank line after autostash conflict advice The autostash fallback in 'git checkout -m' has been refined to only retry when there are local changes. Additionally, a blank line now @@ -844,8 +831,8 @@ Release tarballs are available at: branch-switch message. Waiting for response. - cf. - source: + cf. + source: * kj/repo-info-more-path-keys (2026-08-25) 7 commits @@ -866,7 +853,7 @@ Release tarballs are available at: source: <20260825175818.645579-1-jayatheerthkulkarni2005@gmail.com> -* tc/last-modified-bloom (2026-08-07) 6 commits +* tc/last-modified-bloom (2026-08-31) 6 commits - last-modified: keep per-path Bloom filters for wildcard pathspecs - last-modified: check pathspec against Bloom filter first - revision: add Bloom check that includes parent directories @@ -879,12 +866,11 @@ Release tarballs are available at: to pre-filter commits, and maintains per-path Bloom filters even when wildcard pathspecs are used. - Waiting for response. - cf. - source: <20260807-toon-speed-up-last-modified-v2-0-7d87bbdeaf9b@iotcl.com> + Needs review. + source: <20260831-toon-speed-up-last-modified-v3-0-2bbb864acf93@iotcl.com> -* ds/trace2-tolerate-failed-timestamp (2026-08-25) 7 commits +* ds/trace2-tolerate-failed-timestamp (2026-08-31) 7 commits - trace2: remove use of xcalloc() - trace2: remove use of ALLOC_GROW() - trace2: remove use of xstrfmt() @@ -893,14 +879,12 @@ Release tarballs are available at: - trace2: tolerate failed timestamp formatting - banned-die: create header for banning of functions - The trace2 API has been updated to avoid calling 'die()' (by banning - the use of certain functions like xcalloc and xstrfmt) to prevent - unwanted process exits and recursion. + Functions like `xstrfmt()` and `xcalloc()` have been banned from use + in the trace2 API codebase to prevent calls to `die()` which lead to + unwanted process exits and recursion when memory allocation fails. - Waiting for response. - cf. - cf. <20260827052318.GC176544@coredump.intra.peff.net> - source: + Needs review. + source: * pz/fetch-submodule-errors-config (2026-07-16) 2 commits @@ -918,14 +902,14 @@ Release tarballs are available at: * gr/add-e-use-apply-api (2026-07-10) 1 commit - - builtin/add.c: replace run_command() with direct apply_all_patches() call + (merged to 'next' on 2026-08-31 at 04ee2ac5c5) + + builtin/add.c: replace run_command() with direct apply_all_patches() call The application of the edited patch in 'git add -e' has been refactored to use the internal apply API directly, avoiding the need to spawn a 'git apply' subprocess. - Will merge to 'next'? - cf. + Will merge to 'master'. cf. source: <20260711061246.58079-1-gatlavishweshwarreddy26@gmail.com> @@ -938,7 +922,8 @@ Release tarballs are available at: '--empty' option, allowing it to be dropped, kept, or to halt the rebase. - Needs review. + Waiting for response. + cf. <511300fe-112d-4f20-bd3f-e401e68c4a27@gmail.com> source: <20260827-fz-autosquash-empty-v4-1-f98ffd575780@gmail.com> @@ -951,7 +936,8 @@ Release tarballs are available at: to use atomic filesystem operations, preventing race conditions when Apache handles concurrent requests. - Needs review. + Expecting a reroll. + cf. source: @@ -1030,9 +1016,9 @@ Release tarballs are available at: above the selected base were incorrectly skipped by the pack exclusion logic, and reachability closure for bitmaps was broken. - Waiting for review. - cf. - cf. + Expecting a reroll. + cf. + cf. source: @@ -1060,3 +1046,31 @@ Release tarballs are available at: Expecting a reroll. cf. source: <20260801174156.2998808-1-mmontalbo@gmail.com> + +-------------------------------------------------- +[Discarded] + +* kh/format-patch-range-diff-notes (2026-08-24) 3 commits + . format-patch: learn --[no-]range-diff-notes + . revision.h: rename struct member to reflect notes role + . format-patch: simplify get_notes_arg parameters + + The 'format-patch' command has been updated with options to + configure notes specifically for range-diff output, allowing them to + differ from the notes displayed on the patches themselves. + + Retracted. + cf. <9335a35f-e9c0-4e62-812c-e5855c201003@app.fastmail.com> + source: + + +* jc/die-for-incompatible-opts (2026-08-27) 1 commit + . die_for_incompatible_opts(): unbounded number of options + + The die_for_incompatible_opt[234]() family of functions has been + generalized to handle an arbitrary number of mutually exclusive + options via a variadic function. + + Retracted. + cf. + source: