diff --git a/whats-cooking.txt b/whats-cooking.txt index 423c478687..fbffb078c2 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, #13) -X-master-at: 1630431f326e15fcde608827b5ff38422528eb59 -X-next-at: 10538fe6993d66efa04f9fa440a9c16590c0ae0a +Subject: What's cooking in git.git (Sep 2026, #01) +X-master-at: 3cb9185f65410273787f74333cc027d2ea5daada +X-next-at: 17ff1f980877b90e8f08b7f40578888091f39337 Bcc: lwn@lwn.net, gitster@pobox.com -What's cooking in git.git (Aug 2026, #13) +What's cooking in git.git (Sep 2026, #01) ----------------------------------------- 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 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 +The 22nd batch of topics have now graduated to the 'master' branch. +We have 604 non-merge commits in 'master' since Git 2.55. There +are 49 non-merge commits cooking in 'next' (note that some have +been reverted), and 213 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,226 +54,174 @@ Release tarballs are available at: -------------------------------------------------- [Graduated to 'master'] -* 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 +* jc/rerere-doc-typofix (2026-08-24) 1 commit + (merged to 'next' on 2026-08-25 at 62bdec98f9) + + rerere: technical documentation typofix - 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. + A missing preposition in the rerere technical documentation has been + fixed. Graduated to 'master'. - cf. - cf. <20260820082102.GA2973952@coredump.intra.peff.net> - 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 +* 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 + (this branch is used by ps/odb-stop-registering-in-memory-sources.) - The 'git receive-pack' command has been updated to use a new ODB - transaction interface for writing incoming packfiles, making it more - backend-agnostic. + The global variable 'fetch_if_missing' has been moved to a member in + 'struct repository', continuing the libification process and + allowing per-repository control (such as for submodules). Graduated to 'master'. - 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: + cf. + source: <20260815064747.2196896-1-cat@malon.dev> -------------------------------------------------- [New Topics] -* 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 +* jk/rev-info-argv-to-free (2026-08-31) 2 commits + - revision: simplify mark_argv_for_free() callers + - revision: hang on to "freed" argv elements - 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. + The memory ownership of argv elements passed to the revision + machinery has been made more robust by keeping logically "freed" + elements alive until the rev_info struct is released, preventing + use-after-free bugs when options store references to them. + + Will merge to 'next'? + cf. + cf. + cf. + source: <20260901062815.GC1075462@coredump.intra.peff.net> + + +* ps/ci-depends-on-ruby (2026-09-01) 1 commit + - ci: fix missing Ruby dependency in "documentation" job + + The CI job that builds the documentation failed because it lacked + the 'gem' command. The 'asciidoc' package apparently stopped pulling + in the 'ruby' package as a transitive dependency. The CI script has + been updated to explicitly install 'ruby'. + + Will merge to 'next'? + cf. <20260902071113.GA70165@coredump.intra.peff.net> + source: <20260901-b4-pks-ci-fix-documentation-job-v1-1-a8257ee2a9a4@pks.im> + + +* ps/odb-stop-registering-in-memory-sources (2026-09-02) 13 commits + - odb: remove the ability to link sources ad-hoc + - t/helper: stop registering alternates in "ref-store" command + - t/helper: adapt read-midx to not link ad-hoc source anymore + - builtin/multi-pack-index: refuse unknown sources with "--object-dir=" + - odb/packed: fix memory leaks when freeing source + - tmp-objdir: drop unused function to register alternate + - odb: remove infrastructure to register submodule sources + - builtin/grep: stop registering submodule ODB as source + - submodule-config: stop registering submodule sources + - submodule-config: stop using `the_hash_algo` + - submodule-config: remove uses of `the_repository` + - cache-tree: remove dependency on `the_repository` + - cache-tree: drop `the_repository` in `cache_tree_fully_valid()` + - Merge branch 'ty/repository-fetch-if-missing' into ps/ps/odb-stop-registering-in-memory-sources + + The mechanism to register in-memory alternate object sources has + been removed, as submodule object databases are now accessed + natively via their own repository structures. This simplifies + object database management and prepares the codebase for migrating + alternate tracking into the files backend. Needs review. - source: <20260830204835.1040408-1-gitster@pobox.com> + source: <20260902-pks-odb-registering-in-memory-sources-v2-0-c6ca12fdea4d@pks.im> -* hk/typofix (2026-08-30) 1 commit - - typofix: fix spelling mistakes in comments and test description +* jk/ci-use-system-asciidoctor (2026-09-02) 2 commits + - ci: drop ALREADY_HAVE_ASCIIDOCTOR variable + - ci: fix missing Ruby dependency in "documentation" job - Various spelling mistakes in comments and test descriptions have - been corrected. + The CI script to install dependencies for the documentation build + has been updated to install asciidoctor directly via the system + package manager instead of pinning to an older version via gem. + Additionally, an obsolete variable used for retired Azure Pipelines + environments has been removed. + + Will merge to 'next'? + cf. + cf. + source: <20260902071409.GA641414@coredump.intra.peff.net> + + +* jk/submodule-error-leak (2026-09-01) 2 commits + - submodule--helper: free URL when repository setup fails + - repository: make repo_clear() idempotent + + The error path in 'git submodule--helper' has been updated to plug a + memory leak when a repository handle could not be obtained, + leveraging an updated idempotent repo_clear(). + + Will merge to 'next'? + cf. + source: <20260902055117.GA41587@coredump.intra.peff.net> + + +* sa/rev-list-missing-only (2026-09-01) 1 commit + - rev-list: add --missing-only option to filter output + + The git rev-list command has been augmented with a '--missing-only' + option that filters the output to only show missing objects, + stripping the leading '?' character and suppressing present objects, + which is useful when used in combination with '--missing=print' or + '--missing=print-info'. Expecting a reroll. - cf. - source: <20260830-typo-v1-1-d397c8dfb301@gmail.com> + cf. <29b5003e-48b3-490b-a4ec-c57088acc441@gmail.com> + source: <20260901185100.33948-2-siddharthasthana31@gmail.com> -* ll/doc-pushcert-if-asked (2026-08-29) 1 commit - - doc: remote-helpers: option pushcert if-asked +* wf/imap-send-draft (2026-09-01) 1 commit + - imap-send: add --draft to set IMAP \Draft flag - 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. + The 'git imap-send' command has been taught to take the '--draft' + option to mark uploaded messages as drafts, which helps some email + clients render them properly for editing and sending. + + Will merge to 'next'? + source: <761c3f1b-e280-48b1-a2ad-770b68be3434@slotpi01m90> + + +* yt/pathspec-negative-prefix (2026-09-02) 1 commit + - dir: do not apply prefix to negative pathspecs + + The pathspec matching logic has been updated to avoid out-of-bounds + memory accesses when a negative pathspec is shorter than the common + prefix of positive pathspecs. Needs review. - source: <20260829183659.29947-1-lorenz.leutgeb@posteo.eu> + source: <0CA8678D-0540-4A2E-B314-B9BEB04E2BF5@ytausch.de> + + +* cc/early-scan-options (2026-09-02) 6 commits + - fast-import: use early_scan_options() for --allow-unsafe-features + - parse-options: build early scan options from a struct option array + - parse-options: add parse_options_takes_argument() + - rev-parse: fix "--" detection when it is an option value + - bisect: fix "--" detection when a term name is "--" + - parse-options: add early_scan_options() + + The process of parsing command-line options in commands that + perform an early scan over their arguments (such as 'git bisect', + 'git rev-parse', and 'git fast-import') has been unified using a + new early-scan sub-API, which parses and skips known options taking + separate values to prevent logic bugs. + + Waiting for response. + cf. + source: <20260902161047.476753-1-christian.couder@gmail.com> -------------------------------------------------- [Stalled] -* 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 - - Support for '-m', '-F', '-c', or '-C' options to supply a commit log - message from outside the editor has been added for all 'git commit - --fixup' variations. - - Waiting for response, stalled. - cf. - source: - - * ps/libgit-in-subdir (2026-07-12) 2 commits . Move libgit.a sources into separate "lib/" directory . t/helper: prepare "test-example-tap.c" for introduction of "lib/" @@ -300,7 +248,7 @@ Release tarballs are available at: forcing it with '--edit'. A new configuration variable 'rebase.noEdit' can be used to set the default behavior. - Waiting for response for too long, stalled. + Waiting for response for too long, will discard. cf. cf. source: <20260721140443.1809379-2-hugo@hsal.es> @@ -315,7 +263,7 @@ Release tarballs are available at: the current branch are skipped and duplicate updates are avoided to prevent failures when branch aliases are present. - Waiting for response for too long, stalled. + Waiting for response for too long, will discard. cf. <1eba5fb2-ab76-41e9-955d-e283256ad25d@gmail.com> cf. <98682fa4-55d9-4829-97f1-02e244b35266@gmail.com> source: @@ -334,24 +282,11 @@ Release tarballs are available at: been updated to correctly handle or gracefully reject duplicate entries. - Waiting for response for too long, stalled. + Waiting for response for too long, will discard. cf. source: -* 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 - - The 'git replay' command has been taught the '--linearize' option to - drop merge commits and linearize the replayed history, mimicking 'git - rebase --no-rebase-merges'. - - Needs review. - source: <20260831-toon-git-replay-drop-merges-v9-0-61c4232c6f36@iotcl.com> - - * cl/regexec-macos-leak (2026-07-28) 2 commits - SQUASH??? - regexec: work around macOS TRE leak on invalid UTF-8 @@ -362,7 +297,7 @@ Release tarballs are available at: invalid byte boundaries and searches each valid segment separately using regexec(), avoiding the leaking path. - Waiting for response for too long, stalled. + Waiting for response for too long, will discard. cf. cf. source: <20260728052538.12429-1-chungmin@chungminlee.com> @@ -390,6 +325,74 @@ Release tarballs are available at: -------------------------------------------------- [Cooking] +* 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 + + Support for '-m', '-F', '-c', or '-C' options to supply a commit log + message from outside the editor has been added for all 'git commit + --fixup' variations. + + Waiting for response. + cf. + source: + + +* 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 + + The 'git replay' command has been taught the '--linearize' option to + drop merge commits and linearize the replayed history, mimicking 'git + rebase --no-rebase-merges'. + + Will merge to 'next'? + cf. + source: <20260831-toon-git-replay-drop-merges-v9-0-61c4232c6f36@iotcl.com> + + +* 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 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. + + Waiting for response. + cf. + source: <20260830204835.1040408-1-gitster@pobox.com> + + +* hk/typofix (2026-08-31) 1 commit + - versioncmp: fix typo in versioncmp.c, t/t0022-crlf-rename.sh + + Various spelling mistakes in comments and test descriptions have + been corrected. + + Will merge to 'next'? + source: <20260901-typo-fix-v3-1-cc342f329190@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> + + * 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 @@ -460,17 +463,6 @@ Release tarballs are available at: source: <20260824-740-optimize-reloading-the-reftable-stack-v2-0-9c9de2eb0af7@gmail.com> -* jc/rerere-doc-typofix (2026-08-24) 1 commit - (merged to 'next' on 2026-08-25 at 62bdec98f9) - + rerere: technical documentation typofix - - A missing preposition in the rerere technical documentation has been - fixed. - - Will merge to 'master'. - source: - - * 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()` @@ -525,13 +517,12 @@ Release tarballs are available at: simplified to avoid out-of-bounds reads and improper handling of trailing slashes. - Waiting for review. - cf. - cf. + Will merge to 'next'? + cf. source: <20260825180350.2099-1-l.s.r@web.de> -* en/no-amend-during-conflicts (2026-08-28) 5 commits +* en/no-amend-during-conflicts (2026-09-01) 5 commits - commit: refuse partial commits during conflict resolution - commit: refuse to amend during conflict resolution - commit: reword the empty-commit rebase amend error @@ -543,12 +534,10 @@ Release tarballs are available at: and return control to the user to resolve conflicts left in the working tree, just like 'cherry-pick' and 'merge' do. - Waiting for response. - cf. - cf. - cf. - cf. - source: + Looking good. + (a newer iteration v4 exists as ) + cf. <03b9f094-c969-4309-b2cc-f7cd01959d49@gmail.com> + source: * as/utimensat-utimes (2026-08-21) 3 commits @@ -565,21 +554,7 @@ Release tarballs are available at: source: -* ps/fetch-packfile-uris-parallel (2026-08-21) 2 commits - - fetch-pack: allow parallelizing packfile URI fetches - - fetch-pack: prepare for threaded fetching of packfile URIs - - The `git fetch` and `git clone` commands have been optimized to - download packfile URIs in parallel when the new - `fetch.packfileURIThreads` configuration is set, significantly - speeding up fetches from servers that advertise multiple packfiles. - - Expecting a reroll. - cf. - source: <20260821-pks-parallelize-fetching-packfile-uris-v1-0-0df52d9427ce@pks.im> - - -* kn/receive-report-hook (2026-08-26) 3 commits +* kn/receive-report-hook (2026-09-01) 3 commits - hook: introduce the receive-report hook - receive-pack: move message generation to separate function - doc: add proc-receive hook info in 'git-receive-pack.adoc' @@ -589,8 +564,8 @@ Release tarballs are available at: packet-line status report sent back to the client. Waiting for response. - cf. - source: <20260826-758-introduce-hook-v4-0-6b14975ad957@gmail.com> + cf. + source: <20260901-758-introduce-hook-v5-0-35cdc6be3cc1@gmail.com> * en/midx-missing-pack-fallback (2026-08-29) 4 commits @@ -606,9 +581,8 @@ Release tarballs are available at: fixed to not segfault when reading such missing objects. Will merge to 'next'? - cf. - cf. <20260829120721.GF40814@coredump.intra.peff.net> - cf. <20260829114620.GE40814@coredump.intra.peff.net> + cf. <20260831231005.GA973618@coredump.intra.peff.net> + cf. <374bffe1-47ff-4cb6-9d69-f4b7da7292da@gmail.com> source: @@ -648,8 +622,9 @@ Release tarballs are available at: The gitdatamodel documentation page has been linked from a handful of key documentaiton pages. - Will merge to 'next'? + Waiting for response. cf. + cf. <5e12e3ad-a80c-4c7b-81f7-e028e461fdd1@app.fastmail.com> source: @@ -684,19 +659,6 @@ Release tarballs are available at: source: -* 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 - - The global variable 'fetch_if_missing' has been moved to a member in - 'struct repository', continuing the libification process and - allowing per-repository control (such as for submodules). - - Will merge to 'master'. - cf. - source: <20260815064747.2196896-1-cat@malon.dev> - - * ns/ref-symref-additional-tests (2026-08-20) 2 commits - t1402: test forbidden characters in refnames - t1401: check symbolic-ref failure and --quiet silence on a non-symbolic ref @@ -704,7 +666,7 @@ 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. - Will merge to 'next'? + Will merge to 'next'. cf. source: source: @@ -737,7 +699,7 @@ Release tarballs are available at: source: <20260807085932.3958759-1-cat@malon.dev> -* dk/use-nsec-runtime (2026-08-29) 3 commits +* dk/use-nsec-runtime (2026-08-31) 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 @@ -747,10 +709,8 @@ Release tarballs are available at: distributions to bundle one binary that adapts to filesystem capabilities dynamically. - Will merge to 'next'? - cf. - cf. - source: + Waiting for response. + source: * bc/restrict-hex-to-lowercase (2026-07-29) 6 commits @@ -822,8 +782,9 @@ Release tarballs are available at: source: -* hn/checkout-m-autostash-refine (2026-08-31) 1 commit - - checkout: print blank line after autostash conflict advice +* hn/checkout-m-autostash-refine (2026-09-02) 2 commits + - checkout: separate autostash conflict advice from branch-switch message + - stash: reserve exit status 1 for conflicts The autostash fallback in 'git checkout -m' has been refined to only retry when there are local changes. Additionally, a blank line now @@ -831,8 +792,9 @@ Release tarballs are available at: branch-switch message. Waiting for response. - cf. - source: + cf. + cf. + source: * kj/repo-info-more-path-keys (2026-08-25) 7 commits @@ -853,7 +815,7 @@ Release tarballs are available at: source: <20260825175818.645579-1-jayatheerthkulkarni2005@gmail.com> -* tc/last-modified-bloom (2026-08-31) 6 commits +* tc/last-modified-bloom (2026-09-01) 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 @@ -867,7 +829,7 @@ Release tarballs are available at: wildcard pathspecs are used. Needs review. - source: <20260831-toon-speed-up-last-modified-v3-0-2bbb864acf93@iotcl.com> + source: <20260901-toon-speed-up-last-modified-v4-0-a09949800404@iotcl.com> * ds/trace2-tolerate-failed-timestamp (2026-08-31) 7 commits @@ -927,7 +889,7 @@ Release tarballs are available at: source: <20260827-fz-autosquash-empty-v4-1-f98ffd575780@gmail.com> -* mm/lib-httpd-cgi-safe (2026-08-12) 3 commits +* mm/lib-httpd-cgi-safe (2026-09-01) 3 commits - t/lib-httpd: document writing concurrency-safe CGI helpers - t/lib-httpd: make http-429 first-request check atomic - t/lib-httpd: fix apply-one-time-script race under concurrent requests @@ -936,9 +898,9 @@ Release tarballs are available at: to use atomic filesystem operations, preventing race conditions when Apache handles concurrent requests. - Expecting a reroll. - cf. - source: + Will merge to 'next'? + cf. + source: * ij/subtree-reject-v2-config (2026-07-06) 2 commits @@ -955,19 +917,6 @@ Release tarballs are available at: source: <20260706115816.20267-1-ijackson@chiark.greenend.org.uk> -* zy/apply-abandoned-header-fix (2026-07-01) 1 commit - . apply: avoid leaking abandoned git-header state - - A candidate 'git diff' header parsed by 'git apply' has been isolated - in a temporary structure, preventing any partially parsed state from - polluting the main patch structure and causing assertions to trip if - the header is ultimately rejected. - - Will discard. - cf. - source: <20260702041759.51572-1-zhihao.yao@njit.edu> - - * mm/line-log-limited-ops (2026-06-27) 7 commits - diffcore-pickaxe: scope -G to the -L tracked range - diff: support --check with -L line ranges @@ -1050,6 +999,20 @@ Release tarballs are available at: -------------------------------------------------- [Discarded] +* ps/fetch-packfile-uris-parallel (2026-08-21) 2 commits + . fetch-pack: allow parallelizing packfile URI fetches + . fetch-pack: prepare for threaded fetching of packfile URIs + + The `git fetch` and `git clone` commands have been optimized to + download packfile URIs in parallel when the new + `fetch.packfileURIThreads` configuration is set, significantly + speeding up fetches from servers that advertise multiple packfiles. + + Retracted for now. + cf. + source: <20260821-pks-parallelize-fetching-packfile-uris-v1-0-0df52d9427ce@pks.im> + + * 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 @@ -1074,3 +1037,16 @@ Release tarballs are available at: Retracted. cf. source: + + +* zy/apply-abandoned-header-fix (2026-07-01) 1 commit + . apply: avoid leaking abandoned git-header state + + A candidate 'git diff' header parsed by 'git apply' has been isolated + in a temporary structure, preventing any partially parsed state from + polluting the main patch structure and causing assertions to trip if + the header is ultimately rejected. + + Discarded. + cf. + source: <20260702041759.51572-1-zhihao.yao@njit.edu>