What's cooking (2026/10 #06)
diff --git a/whats-cooking.txt b/whats-cooking.txt index 5193e36..ed1c6ab 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 (Oct 2026, #05) -X-master-at: 6de20f6092dcf9bdb1c8efe03db4b70c82b423dd -X-next-at: 129ede20d98632de87f13255ac91eaf7776ae36c +Subject: What's cooking in git.git (Oct 2026, #06) +X-master-at: c51408889c3b372814bc20b9431c3b74d0d268eb +X-next-at: f7497c7d2763867528bb8c37d2c6d749030223a9 Bcc: lwn@lwn.net, gitster@pobox.com -What's cooking in git.git (Oct 2026, #05) +What's cooking in git.git (Oct 2026, #06) ----------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -46,8 +46,586 @@ https://www.kernel.org/pub/software/scm/git/ -------------------------------------------------- +[Graduated to 'master'] + +* ap/var-broken-down-idents (2026-09-26) 4 commits + (merged to 'next' on 2026-10-07 at 6ae874acdf) + + var: add broken-out identity variables + + var: accept more than one variable + + var: add "-z" output mode + + var: represent multi-valued variables with a string_list + + The 'git var' command has been updated to output individual components + of the author and committer identities, take multiple keys on the + command-line, and support NUL-delimited output with the '-z' option. + + Graduated to 'master'. + cf. <33f24834-8e73-4230-bf0a-6809a85d9a86@gmail.com> + source: <20260926162048.30853-1-andrewpleeter@gmail.com> + + +* bc/git-contacts-stdin (2026-10-01) 1 commit + (merged to 'next' on 2026-10-07 at 9e5833e2a0) + + git-contacts: allow inputting patch via stdin + + The 'git-contacts' program (in contrib/) has been taught to read + patches from the standard input stream when an explicit dash ('-') is + passed in place of a file. + + Graduated to 'master'. + cf. <xmqqo6dc17jb.fsf@gitster.g> + source: <20261002-git-contacts-stdin-v6-1-49878e872d3d@brighamcampbell.com> + + +* dk/fix-shattered-io-link (2026-10-06) 1 commit + (merged to 'next' on 2026-10-09 at 5a00b4a6e9) + + doc: fix shattered.io link + + Replace a link to a site that disappeared with a link to web archive + of the last known good copy. + + Graduated to 'master'. + cf. <xmqq4ieycxc7.fsf@gitster.g> + source: <89f21a129df21b115d5faded2a74a8a5921d62cf.1791307032.git.ben.knoble@gmail.com> + + +* dk/stash-apply-index-incore (2026-09-30) 4 commits + (merged to 'next' on 2026-10-07 at 0c9605a025) + + builtin/stash: merge index in-core + + t3903: test failed "stash apply --index" + + stash: prepare merge options earlier + + builtin/stash: remove unused header + + Merge branch 'tb/t5520-reflog-expire' into dk/stash-apply-index-incore + (this branch uses tb/t5520-reflog-expire.) + + The handling of index conflicts in 'git stash apply --index' has + been optimized. Instead of relying on expensive external + subprocesses using 'git diff-tree' and 'git apply', the index is now + merged in-core using the merge-ort machinery, which fixes a + concurrent lock file issue with autostash. + + Graduated to 'master'. + cf. <d3adb734-2b84-4d7b-b245-5407ee410eb4@gmail.com> + source: <cover.1790803471.git.ben.knoble@gmail.com> + + +* gm/filter-branch-state-map-fix (2026-10-02) 1 commit + (merged to 'next' on 2026-10-08 at 1721845755) + + filter-branch: fix commit map init from state branch + + The commit map populated from the state branch in 'git + filter-branch' has been corrected to parse the map using the + original-to-rewritten order. + + Graduated to 'master'. + cf. <asM_dqY2aSdplISU@pks.im> + source: <20261003010128.256757-1-dev@grantmoyer.com> + + +* hn/object-name-push-short (2026-10-02) 1 commit + (merged to 'next' on 2026-10-07 at 4945de0395) + + object-name: accept @{p} as short for @{push} + + The @{upstream} notation had short-hand @{u} from the beginning, + and @{push} learned corresponding @{p} to match. + + Graduated to 'master'. + cf. <xmqqse2o17np.fsf@gitster.g> + source: <pull.2431.v2.git.git.1790927399813.gitgitgadget@gmail.com> + + +* je/doc-section-7-synopsis (2026-10-06) 1 commit + (merged to 'next' on 2026-10-09 at 5c36b1a53d) + + doc: don't require a SYNOPSIS in section 7 + + The requirement for a 'SYNOPSIS' section in section 7 manual pages + has been relaxed by updating the linter script, and dummy + 'SYNOPSIS' sections from existing section 7 documentation have been + removed to improve the rendered output + + Graduated to 'master'. + cf. <xmqqfqyid0l9.fsf@gitster.g> + source: <pull.2246.v3.git.1791305670386.gitgitgadget@gmail.com> + + +* jk/t5551-test-shell-quote-fix (2026-10-05) 1 commit + (merged to 'next' on 2026-10-09 at 728abc1d8e) + + t5551: fix quoting in curl version bug prereq + (this branch is used by jk/test-lazy-prereq-heredoc.) + + The shell quoting of a lazy prereq script was quoted incorrectly and + allowed variables dereferenced at the wrong moment, breaking the + curl version detection. + + Graduated to 'master'. + cf. <xmqqik3fhv81.fsf@gitster.g> + cf. <4526e397-734e-d378-bb1d-31dd969c90ea@gmx.de> + source: <20261006034331.GA1325722@coredump.intra.peff.net> + + +* jk/xdiff-size_t (2026-09-30) 7 commits + (merged to 'next' on 2026-10-07 at dfa7f97344) + + merge-ll: report an error when reading external merge results fails + + merge-ll: handle external driver status before reading result + + merge-ll: use read_mmfile() to read external merge results + + xdiff: NUL-terminate buffers read by read_mmfile() + + xdiff: use size_t for buffer sizes + + xdiff: replace mmbuffer_t with mmfile_t + + xdiff: clean up read_mmfile() allocations on error + + The internal diff and merge machinery has been updated to use + standard size_t types rather than signed longs for buffer + allocations and offsets, preventing subtle overflow issues on LLP64 + architectures, and plugging uninitialized memory leaks along error + paths. + + Graduated to 'master'. + cf. <xmqqld8h77jo.fsf@gitster.g> + cf. <ar5dDe02hgodgOHS@pks.im> + source: <20260930234348.GA1340390@coredump.intra.peff.net> + + +* kh/doc-trailers-cmd-examples (2026-10-03) 1 commit + (merged to 'next' on 2026-10-07 at 6e21340c28) + + doc: interpret-trailers: fix cmd examples + + The documentation for 'git interpret-trailers' has been updated to + fix the grammatical errors in the descriptions of command examples. + + Graduated to 'master'. + cf. <xmqq1pa5v44a.fsf@gitster.g> + source: <V2_doc_trailers_cmd_examples.d49@m5gid.xyz> + + +* kh/format-patch-range-diff-notes (2026-10-04) 2 commits + (merged to 'next' on 2026-10-07 at 584c36229d) + + format-patch: learn --[no-]range-diff-notes + + 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. + + Graduated to 'master'. + cf. <xmqqqzi5touh.fsf@gitster.g> + source: <V5_CV_format-patch_learn_--range-diff-notes.d6b@m5gid.xyz> + + +* kz/doc-user-manual-typo (2026-10-01) 1 commit + (merged to 'next' on 2026-10-07 at f4db8b50d0) + + doc: fix typo in user manual + + A grammatically incorrect capitalization in user-manual.adoc has + been corrected. + + Graduated to 'master'. + cf. <ar-Uk3BJyKTdQB4N@pks.im> + source: <20261001181412.846-1-kaliugov@gmail.com> + + +* ma/t0450-use-test-path-is-file (2026-10-06) 1 commit + (merged to 'next' on 2026-10-09 at 5154632e88) + + t0450: use test_path_is_file and test_path_is_missing + + A test script (t0450) has been updated to use the test_path_is_file + and test_path_is_missing helper functions, which provides better + diagnostic output on failure. + + Graduated to 'master'. + cf. <asToW_aXYGCg0xuv@pks.im> + source: <20261006101458.604775-1-dilsheddilu123@gmail.com> + + +* mg/doc-remote-set-head (2026-09-29) 1 commit + (merged to 'next' on 2026-10-07 at 4c9fc0083d) + + doc: remote: say that it only affects the local repository + + The documentation for 'git remote set-head' has been updated to + clarify that it only modifies the local repository's remote-tracking + symbolic reference, and does not alter the target remote + repository's own 'HEAD'. + + Graduated to 'master'. + cf. <xmqqld8khviu.fsf@gitster.g> + source: <20260929120010.840402-1-matthias.goergens@gmail.com> + + +* ps/meson-improvements (2026-09-24) 7 commits + (merged to 'next' on 2026-10-07 at 2b3488dc63) + + gitlab-ci: fix hanging MSVC jobs + + meson: update wrappers + + meson: fix outdated completion helpers + + meson: use precompiled headers for unit tests + + meson: use precompiled headers for our test-helper + + meson: don't recompile git-remote-http(1) multiple times for tests + + meson: avoid recompiling HTTP sources several times + + The build configurations for Meson have been optimized to avoid + recompiling HTTP sources multiple times and to utilize precompiled + headers for test-helpers and unit tests, reducing clean build times. + Additionally, the shell completion tests and GitLab CI MSVC runner + jobs have been fixed. + + Graduated to 'master'. + cf. <CAOLa=ZS8Exa_WkMLiFNspeYaKFf40eOM19ZgecC=yTnFEAhMzQ@mail.gmail.com> + source: <20260924-pks-meson-improvements-v1-0-90b7f79f1c4e@pks.im> + + +* ps/parse-options-subcommand-groups (2026-10-02) 4 commits + (merged to 'next' on 2026-10-07 at e5809bb3ae) + + builtin/refs: introduce subcommand groups + + parse-options: allow grouping subcommands + + parse-options: extract functions to print single option + + parse-options: fix completion format when first option is skipped + + The parse-options API has been updated to support grouping + subcommands, and the 'git refs' command has been updated to use this + new feature to categorize its subcommands in its help output. + + Graduated to 'master'. + source: <20261002-b4-pks-parse-options-subcommand-groups-v2-0-3299bee52dea@pks.im> + + +* ps/reftable-reflog-timezone (2026-09-30) 3 commits + (merged to 'next' on 2026-10-07 at f924c1566d) + + refs/reftable: fix on-disk representation of reflog timezones + + t/helper: fix segfault in "dump-reftable -t" + + date: add helpers to convert between "+HHMM" timezones and minutes + + The internal representation of timezones in the reflog for the + reftable format has been fixed to match the specification, which + dictates an offset in minutes rather than the parsed "+HHMM" integer + representation. + + Graduated to 'master'. + cf. <CAOLa=ZRVt=e3MqjLY=UkitfSg_YjpsfFjeDsEmqJQm-5YhopxA@mail.gmail.com> + cf. <xmqq33up73dm.fsf@gitster.g> + source: <20261001-pks-reftables-fix-timezone-format-v2-0-a4fd1f7cd21a@pks.im> + + +* pw/stash-all-parseopt-fix (2026-10-04) 1 commit + (merged to 'next' on 2026-10-08 at 81a30ca417) + + stash: use named constant when parsing "--all" + + Fix definition for the "--all" option to use symbolic constant + in the options[] array passed to parse_options API. + + Graduated to 'master'. + cf. <xmqqzewsogxs.fsf@gitster.g> + source: <06b58ae0a1d81f4d1518eadecc3385072a72155a.1791108351.git.phillip.wood@dunelm.org.uk> + + +* tb/t5520-reflog-expire (2026-10-01) 1 commit + (merged to 'next' on 2026-10-07 at 68be8c611a) + + t5520: don't expire reflogs where it matters + (this branch is used by dk/stash-apply-index-incore.) + + The `t5520` test script has been updated to disable reflog expiration. + This prevents test flakiness caused by the auto-maintenance + reflog-expire task, which would otherwise immediately expire the + test's reflogs due to them carrying hardcoded timestamps from 2005. + + Graduated to 'master'. + cf. <667a68a1-641f-46c4-a718-8dd81d5c219f@gmail.com> + source: <pull.2243.v3.git.1790843056949.gitgitgadget@gmail.com> + + +* td/ci-large-test-resources (2026-09-30) 2 commits + (merged to 'next' on 2026-10-07 at 2300c151d3) + + ci: use twice the CPU count on both providers + + t4205: compare huge output without diff + + CI resource exhaustion during test runs on GitHub Actions has been + mitigated by switching a comparison of a huge output to use a binary + comparison, and by capping the parallel jobs on Linux to the number + of available CPUs. + + Graduated to 'master'. + cf. <ar0gon2VE0RlG_cC@pks.im> + source: <20260930-ci-large-test-resources-v3-0-d65ac7c21b5f@gmail.com> + + +* tz/doc-override-less-env (2026-10-02) 1 commit + (merged to 'next' on 2026-10-08 at 3575e65682) + + doc: add more examples of overriding LESS in core.pager + + The documentation for core.pager has been updated to provide + examples of overriding the LESS environment variable for custom + pagers by prefixing the pager command in the configuration. + + Graduated to 'master'. + cf. <asQ56mv3VbiYmtwk@fruit.crustytoothpaste.net> + source: <20261002234203.4064847-1-tmz@pobox.com> + +-------------------------------------------------- [New Topics] +* ak/pretty-wrap-fix (2026-10-14) 1 commit + - pretty: fix lost indent after newline in %w() + + The string-wrapping logic used by the '%w()' formatting directive + has been corrected to stop skipping a whitespace character that + immediately follows a hard line break. + + Waiting for response. + cf. <fc0dabfb-3dda-4b12-a1fb-184d1e553623@web.de> + source: <20261014172333.2224123-1-andy.koppe@gmail.com> + + +* ak/sequencer-head-refdup (2026-10-14) 1 commit + - sequencer: don't clobber HEAD ref name in worktree lookup + + The branch decoration logic in the sequencer has been updated to use + an allocated buffer for the HEAD reference name, preventing it from + being clobbered when evaluating branches checked out in other + worktrees. + + Will merge to 'next'? + cf. <xmqqik34qd6s.fsf@gitster.g> + source: <20261014165824.2214234-1-andy.koppe@gmail.com> + + +* js/coverity-overflow-fixes (2026-10-13) 5 commits + - date: avoid overflow in approxidate relative-time multiplication + - git-compat-util: add `signed_mult_overflows` and `mult_overflows` macros + - wrapper: reject insanely large byte counts when reading/writing + - http: use `size_t` for byte position in fwrite_sha1_file + - archive-tar: guard get_path_prefix against zero-length input + + Various integer overflow and bounds-checking issues reported by + Coverity have been fixed, including adding robust compile-time + macros for overflow detection in integer multiplication and using + them to protect time offset calculations. + + Waiting for response. + cf. <163d14a8-711c-4d4f-b441-8268db819541@gmail.com> + cf. <373f7186-3da6-4715-a4ce-cd5f56895176@gmail.com> + cf. <96c1d112-1b05-4663-90c6-33374dccd764@gmail.com> + source: <pull.2253.git.1791958171.gitgitgadget@gmail.com> + + +* ps/pack-check-bigfile-threshold (2026-10-14) 1 commit + - pack-check: fix bogus corruption report with core.bigFileThreshold + + A boundary check in 'git fsck' against the big file threshold has + been corrected to prevent bogus corruption reports on packed objects + whose sizes exactly match the threshold. + + Will merge to 'next'? + cf. <xmqq8q40tczj.fsf@gitster.g> + source: <20261014-b4-pks-pack-check-matching-large-file-threshold-v1-1-de6d8455eaaa@pks.im> + + +* dt/t0410-missing-tree-test (2026-10-14) 2 commits + - t0410: keep git's exit code in test_grep calls + - t0410: use rev-parse to get the subtree OID + + The missing-tree test in 't0410' has been cleaned up to avoid + dropped exit codes and hardcoded assumptions about the length of + object names. + + Expecting a reroll. + cf. <atD1oFyLb0k4oFWN@Stealth> + source: <20261014134504.1152225-1-dorine.a.tipo@gmail.com> + + +* iw/connected-deepen-fetch-no-alternate-refs (2026-10-14) 2 commits + - odb: ignore refs of shallow and grafted alternates + - connected: negate alternate refs in deepening fetches too + + The post-fetch connectivity check in 'git fetch' has been corrected + to avoid passing alternate refs as positive revisions during a + deepening fetch, plugging a severe performance bug. + + Waiting for response. + cf. <20261016031439.GA3437448@coredump.intra.peff.net> + source: <20261014103507.35317-1-iwiedler@gitlab.com> + + +* yn/worktree-repair-fix (2026-10-14) 5 commits + - worktree repair: avoid breaking unrelated .git file and gitdir + - worktree repair: reduce .git file reads + - worktree repair: use read_gitfile_raw() in infer_backlink() + - worktree repair: centralize inferred backlink selection + - worktree repair: align .git file handling with repair_gitfile() + + The 'git worktree repair' command learned to thoroughly validate the + worktree ID and the inferred gitdir pathway, preventing it from + corrupting unrelated '.git' files and gitdirs when repositories and + their linked worktrees are moved or swapped. + + Waiting for response. + cf. <xmqq8q3yon7p.fsf@gitster.g> + source: <pull.2225.v2.git.1792012836.gitgitgadget@gmail.com> + + +* mb/fast-import-reference-pending (2026-10-14) 1 commit + - fast-import: allow 'from' to reference new commits and tags by oid + + The 'from' command in 'git fast-import' has been updated to + correctly resolve references to newly created commits and tags by + checking the internal object table, preventing a crash when the + objects are not yet available in the object database. + + Will merge to 'next'? + cf. <xmqqqzhrq4ye.fsf@gitster.g> + source: <pull.2252.v4.git.1792012956734.gitgitgadget@gmail.com> + + +* mc/repo-structure-filtering (2026-10-15) 1 commit + - repo: add filtering options to "repo structure" + + The 'git repo structure' command has been taught to accept standard + revision arguments to filter the set of objects being counted. + + Will merge to 'next'? + cf. <atG2ukqpl5pA6V0H@pks.im> + source: <20261016133118.3659793-1-markchucarroll@fastmail.com> + + +* mv/log-follow-speedup (2026-10-15) 1 commit + - log: speed up --follow following renames for non-linear history + + An optimization for the rename detection logic in 'git log + --follow' across non-linear history attempts to skip expensive tree + diffs when a tracked path remains identical in at least one parent, + though this shortcut drops history on branches where the file was + renamed. + + Waiting for response. + cf. <xmqq8q3yq4u4.fsf@gitster.g> + cf. <xmqqy0bxe60n.fsf@gitster.g> + source: <atDnyzC_2oaLF0Wo@collabora.com> + + +* oa/merge-without-the-repository (2026-10-15) 1 commit + - merge: stop using the_repository + + The 'merge.c' code has been updated to eliminate its reliance on the + global 'the_repository' and 'the_hash_algo' variables by passing down + the repository context already available to its entry points. + + Needs review. + cf. <CAPSxiM_2Dd86rBKPj7jaT8Wmazo3PFZajJaaL2bVhB1GFsfnbg@mail.gmail.com> + source: <20261015142532.48175-1-okhuomonajayi54@gmail.com> + + +* ps/gitlab-ci-whitespace-job-shallow-clone-fix (2026-10-16) 1 commit + - gitlab-ci: fix "check" jobs with large merge requests + + The GitLab CI configuration has been updated to disable shallow clones + for the 'check-whitespace' and 'check-style' jobs by setting + 'GIT_DEPTH' to 0, preventing them from failing on large merge requests + that exceed the default shallow clone depth. + + Needs review. + source: <20261016-pks-ci-optional-whitespace-job-v1-1-f5693fbae1a5@pks.im> + + +* sw/cache-tree-ignore-locked-index (2026-10-16) 1 commit + - cache-tree: do not die when the index is locked + + The internal write_index_as_tree() function has been updated to + take the index lock gently. This allows it to skip the optional + cache-tree write-back when the lock is held by another process, + preventing commands like 'git rebase' from dying due to background + tasks holding the lock. + + Needs review. + source: <20261016091647.1332692-1-swilczek.lx@gmail.com> + + +* vs/refs-seek-fix (2026-10-15) 1 commit + - refs: fix loose-ref seeking across directory boundaries + + The logic to seek through loose references across directory + boundaries has been corrected by including the trailing slash when + comparing directory components, and by properly adjusting the + iterator position when leaf entries sort either strictly before or + after the seek point. + + Waiting for review. + cf. <CAFuK-oarU1rZOcDzYr=YA1SNvfAzyB6LaXXCjtZV6WWGswOnyw@mail.gmail.com> + source: <pull.2258.git.1792067455341.gitgitgadget@gmail.com> + + +* ab/describe-no-i18n-of-debug-messages (2026-10-16) 1 commit + - describe: do not translate --debug output + + The debug output of 'git describe' has been updated not to + localize the output to make it more helpful for developers. + + Needs review. + (a newer iteration v2 exists as <20261016185418.162998-1-antekborowski11@gmail.com>) + source: <20261016171835.90420-1-antekborowski11@gmail.com> + + +* je/doc-detached-head (2026-10-16) 2 commits + - SQUASH??? + - doc: checkout: rewrite detached HEAD state explanation + + The description of the detached HEAD state in 'git help checkout' has + been updated and moved to a standalone guide to make it easier for + users to understand and reference. + + Waiting for response. + cf. <xmqqse25cni7.fsf@gitster.g> + source: <pull.2250.v4.git.1792177409868.gitgitgadget@gmail.com> + +-------------------------------------------------- +[Stalled] + +* bs/runtime-prefix-obsd-getexecpath (2026-09-16) 1 commit + - exec_cmd: RUNTIME_PREFIX on OpenBSD systems + + Git on OpenBSD historically lacked an authoritative mechanism to + resolve its executable path, as it doesn't support the + KERN_PROC_PATHNAME sysctl. With OpenBSD 8.0 introducing + getexecpath(3), it is now utilized to provide proper RUNTIME_PREFIX + resolution instead of relying on argv[0] fallback. + + Waiting for response for too long, stalled. + cf. <xmqq4ifio83d.fsf@gitster.g> + source: <aqthQ3u4eW1wHCn7@humpty.home.comstyle.com> + + +* gg/http-ssl-verify-status (2026-09-15) 1 commit + . http: add http.sslVerifyStatus to check stapled OCSP responses + + The HTTP transport has been taught to check the revocation status of + the server certificate using the stapled OCSP response during the + TLS handshake via a new 'http.sslVerifyStatus' configuration + variable. + + It seems to make CI stuck and time out after 6 hours. + + Waiting for response for too long, stalled. + cf. <arQ/nOH+o3XwQFD/@szeder.dev> + cf. <xmqq1pa04wn0.fsf@gitster.g> + source: <20260915162348.97792-1-ggordon@gitlab.com> + + +* 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 + - bloom: add helper to check if any key in a vector is present + - revision: expose check for paths maybe changed in Bloom filter + - revision: move bloom keyvec precondition into function + + The 'git last-modified' command has been optimized by using Bloom + filters. It now reuses revision walk filtering logic from 'git log' + to pre-filter commits, and maintains per-path Bloom filters even when + wildcard pathspecs are used. + + Waiting for response for too long, stalled. + cf. <aqJWihcFmX7tPio5@pks.im> + cf. <aqJWX0INerT8F687@pks.im> + source: <20260901-toon-speed-up-last-modified-v4-0-a09949800404@iotcl.com> + +-------------------------------------------------- +[Cooking] + * js/doc-test-fix-anti-pattern (2026-10-11) 1 commit - SubmittingPatches: avoid add-failing-test-then-fix anti-pattern @@ -60,21 +638,18 @@ source: <20261012030029.12200-1-jon@jonsimons.org> -* js/push-refspec-match-speedup (2026-10-09) 15 commits +* js/push-refspec-match-speedup (2026-10-13) 12 commits - remote: use strmap for apply_push_cas() - remote: restructure apply_push_cas() loops - t/perf: measure --force-with-lease in p5516 - remote: use strmap for match_explicit_refs() - remote: reject duplicate destinations on an empty remote - - t5408: expect client-side error for duplicate destinations - t5408: check refspec order with distinct destinations - t5408, t5410: test duplicate updates without relying on the client - - t5516: test pushing two refspecs creating the same new branch + - send-pack: plug leak upon match_push_refs failure - remote: use strmap for check_push_refs() - refs: stop using mkpath() in refname_match() - t/perf: add explicit delete refspec matching test - - t5510: document fetch with "./"-prefixed branch.<name>.merge - - t5516: demonstrate push with "./"-prefixed source - remote: validate --force-with-lease <refname> argument The client-side refspec matching during 'git push' has been @@ -82,9 +657,8 @@ speeding up pushes with lots of delete refspecs against a server with many advertised refs. - Expecting a reroll. - cf. <f949a5fa-5485-4ae4-a7dc-75afaef798cc@jonsimons.org> - source: <20261009192953.81794-1-jon@jonsimons.org> + Needs review. + source: <20261014031347.50433-1-jon@jonsimons.org> * rs/archive-zip-omit-out-of-range-mtime (2026-10-12) 2 commits @@ -114,11 +688,13 @@ Additionally, the deprecated 'save' subcommand has been removed from completions and synopsis documentation. - Needs review. + Waiting for response. + cf. <atHZzrybhYzMVGbQ@pks.im> + cf. <atHZvexnI0Ia7Xjr@pks.im> source: <cover.1791827304.git.ben.knoble@gmail.com> -* ic/includeif-hostname (2026-10-11) 3 commits +* ic/includeif-hostname (2026-10-15) 3 commits - config: learn the "hostname:" includeIf condition - t6500: get hostname from "git var" - var: add GIT_HOSTNAME @@ -128,11 +704,10 @@ the system's hostname as seen by Git can now be queried using 'git var GIT_HOSTNAME'. - Waiting for response. + Will merge to 'next'? + cf. <xmqqjynin4iv.fsf@gitster.g> cf. <xmqqa4oi67tx.fsf@gitster.g> - cf. <xmqqecdu67zq.fsf@gitster.g> - cf. <xmqqecdu2x42.fsf@gitster.g> - source: <20261012015846.2649843-1-bellacaselli20@gmail.com> + source: <20261015105859.3184108-1-bellacaselli20@gmail.com> * kk/connectivity-check-incremental (2026-10-12) 4 commits @@ -149,11 +724,11 @@ unchanged subtrees. Expecting a reroll. - cf. <CAL71e4MVf6QcFsAdUnW3XGw_g-OLdUZFyopkELVLsCqvM=Qinw@mail.gmail.com> + cf. <CAL71e4NA3SH8V_haxJFeYCBmKk8+96j7ckxLDZA7+XMNcVfdKg@mail.gmail.com> source: <pull.2211.v3.git.1791806877.gitgitgadget@gmail.com> -* kn/fetch-tag-backfill-batch-fix (2026-10-12) 1 commit +* kn/fetch-tag-backfill-batch-fix (2026-10-15) 1 commit - fetch: commit references fetched before backfilling tags When 'git fetch' uses batched reference updates, references are not @@ -162,18 +737,18 @@ the server again. The batched update is now committed before tag backfilling begins. - Waiting for response. - cf. <xmqq4ieq66e8.fsf@gitster.g> - source: <20261012-799-shallow-fetch-with-tags-v2-1-4211e9a13d3c@gmail.com> + Needs review. + source: <20261015-799-shallow-fetch-with-tags-v3-1-90b6e38b98d2@gmail.com> * bb/unicode-width-table-18 (2026-10-12) 1 commit - - unicode: update the width tables to Unicode 18 + (merged to 'next' on 2026-10-15 at 2c18040c27) + + unicode: update the width tables to Unicode 18 Unicode character width table has been updated to match Unicode 18 announced on 2026-09-16. - Will merge to 'next'? + Will merge to 'master'. cf. <xmqqpkxe4nni.fsf@gitster.g> source: <20261012210450.994951-1-dev+git@drbeat.li> @@ -187,13 +762,15 @@ version 1.1.0. Waiting for response. - cf. <20261012220039.136932-1-aniketgupta3001@gmail.com> cf. <as4uwMflv6qzcoTh@pks.im> + cf. <20261012220039.136932-1-aniketgupta3001@gmail.com> + cf. <CABtdbskPaYgVnV+5P7-0G8KVYK1FBekwe2ygoYkZcvCR3RXj8Q@mail.gmail.com> source: <20261012203057.969878-1-dev+git@drbeat.li> -* ps/odb-files-alternates-cleanups (2026-10-13) 5 commits +* ps/odb-files-alternates-cleanups (2026-10-14) 6 commits - odb/source: drop `local` flag + - odb: don't try re-fetching corrupt objects - odb: remove read loop for found objects - odb/source-files: make the second read an implementation detail - odb/source-files: fix performance when streaming objects with alternates @@ -209,10 +786,10 @@ backend-specific fields, and simplifies the retry loop for missing objects. - Needs review. - cf. <as6Vx2ba17tztb2q@denethor> - cf. <as6Y9mSZ-oZL2gcE@denethor> - source: <20261013-pks-odb-files-alternates-cleanups-v1-0-b7030ff2b26f@pks.im> + Will merge to 'next'? + cf. <atEMt5wgfblCiv5a@denethor> + cf. <xmqqfqy5is5o.fsf@gitster.g> + source: <20261015-pks-odb-files-alternates-cleanups-v3-0-bfc62fd780eb@pks.im> * cs/read-cache-conversion-size (2026-10-13) 1 commit @@ -237,7 +814,11 @@ by another process, and 'git commit' has been updated to take advantage of this feature. - Needs review. + Expecting a reroll. + cf. <xmqqbj8xuugv.fsf@gitster.g> + cf. <xmqqh5ipuuhk.fsf@gitster.g> + cf. <20261014100432.GB1344504@coredump.intra.peff.net> + cf. <20261015001938.2092523-1-quark.zju@gmail.com> source: <20261013172315.2997446-1-quark.zju@gmail.com> @@ -252,18 +833,17 @@ * oa/delta-islands-i18n-use-q (2026-10-13) 1 commit - - delta-islands: use Q_() for island count + (merged to 'next' on 2026-10-16 at becbceb2fd) + + delta-islands: use Q_() for island count The progress message emitted by the 'delta-islands' subsystem has been updated to use the Q_() macro, allowing translators to properly handle plural forms based on the number of islands marked. - Will merge to 'next'? + Will merge to 'master'. cf. <xmqqv775xyz9.fsf@gitster.g> source: <20261013203042.58610-1-okhuomonajayi54@gmail.com> --------------------------------------------------- -[Cooking] * hn/t7004-flaky-gpg-test-fix (2026-10-08) 1 commit (merged to 'next' on 2026-10-12 at 129ede20d9) @@ -279,25 +859,24 @@ source: <pull.2443.git.git.1791450465178.gitgitgadget@gmail.com> -* ps/ci-housekeeping-and-modernizations (2026-10-09) 8 commits +* ps/ci-housekeeping-and-modernizations (2026-10-14) 8 commits - ci: improve reftable test coverage - ci: drop now-dead Python 2 coverage - - ci: switch away from EOL'd Ubuntu version in linux-exotic + - ci: switch away from EOL'd Ubuntu version in linux-feature-testbed - ci: rename linux-TEST-vars job - ci: switch away from unsupported i386/ubuntu image - ci: drop unused "linux-clang" logic - ci: fix "fedora-breaking-changes-meson" job - - t5004: skip SHA-1-only test in SHA-256 repository + - t5004: fix test creating an archive with large objects under SHA256 - Various CI jobs have been updated to use modern OS images, drop - dead code, and remove redundant jobs. Support for Python 2 in CI - has been removed, and the linux-TEST-vars job has been renamed to - linux-exotic. + Various CI jobs have been updated to use modern OS images, drop dead + code, and remove redundant jobs. Support for Python 2 in CI has been + removed, and the linux-TEST-vars job has been renamed to + linux-feature-testbed. - Waiting for response. - cf. <askI1DGldZx8ElIN@szeder.dev> - cf. <xmqq33u91wu0.fsf@gitster.g> - source: <20261009-pks-ci-housekeeping-v2-0-6863d58ef691@pks.im> + Will merge to 'next'? + cf. <20261015070605.GA2556608@coredump.intra.peff.net> + source: <20261015-pks-ci-housekeeping-v4-0-c2c88f1b198e@pks.im> * qs/repack-kept-pack-fix (2026-10-08) 5 commits @@ -318,17 +897,16 @@ source: <pull.2219.v3.git.1791453141.gitgitgadget@gmail.com> -* ss/repack-drop-filtered-dry-run (2026-10-10) 1 commit +* ss/repack-drop-filtered-dry-run (2026-10-16) 1 commit - repack: do not rebuild packs on --dry-run The '--dry-run' option of 'git repack --drop-filtered' used to actually rebuild packs and delete redundant ones, which has been corrected to only list the candidates without making changes. - Waiting for response. - cf. <BBCEC2F7-CA8A-4460-8A4F-D8305D3E9134@gmail.com> - cf. <as4WY96-KXQT_PTc@pks.im> - source: <20261010210050.76064-1-r.siddharth.shrimali@gmail.com> + Will merge to 'next'? + cf. <xmqqse25e5ja.fsf@gitster.g> + source: <20261016191344.82688-1-r.siddharth.shrimali@gmail.com> * rm/blame-default-ignore-revs (2026-10-13) 2 commits @@ -340,30 +918,14 @@ 'HEAD:.git-blame-ignore-revs' in bare repositories) as the default ignore list if it exists, and the parser has been hardened. - Will merge to 'next'? + Will merge to 'next'. cf. <xmqqse29uyh3.fsf@gitster.g> source: <pull.2224.v6.git.1791922928.gitgitgadget@gmail.com> -* jk/t5551-test-shell-quote-fix (2026-10-05) 1 commit - (merged to 'next' on 2026-10-09 at 728abc1d8e) - + t5551: fix quoting in curl version bug prereq - (this branch is used by jk/test-lazy-prereq-heredoc.) - - The shell quoting of a lazy prereq script was quoted incorrectly and - allowed variables dereferenced at the wrong moment, breaking the - curl version detection. - - Will merge to 'master'. - cf. <xmqqik3fhv81.fsf@gitster.g> - cf. <4526e397-734e-d378-bb1d-31dd969c90ea@gmx.de> - source: <20261006034331.GA1325722@coredump.intra.peff.net> - - * jk/test-lazy-prereq-heredoc (2026-10-05) 1 commit - test-lib: allow lazy prerequisite snippets as here-docs - Merge branch 'jk/t5551-test-shell-quote-fix' into jk/test-lazy-prereq-heredoc - (this branch uses jk/t5551-test-shell-quote-fix.) The lazy prerequisite set-up script can be fed as a here-doc, just like test_expect_{success,failure} scripts these days. @@ -418,52 +980,14 @@ source: <pull.2239.v3.git.1791382977.gitgitgadget@gmail.com> -* ma/t0450-use-test-path-is-file (2026-10-06) 1 commit - (merged to 'next' on 2026-10-09 at 5154632e88) - + t0450: use test_path_is_file and test_path_is_missing - - A test script (t0450) has been updated to use the test_path_is_file - and test_path_is_missing helper functions, which provides better - diagnostic output on failure. - - Will merge to 'master'. - cf. <asToW_aXYGCg0xuv@pks.im> - source: <20261006101458.604775-1-dilsheddilu123@gmail.com> - - -* je/doc-promote-git-help (2026-10-06) 1 commit +* je/doc-promote-git-help (2026-10-16) 1 commit - doc: use `man git` to teach users how to navigate the docs The earliest part of 'man git' has been rewritten to explain various ways to use 'git help' to get help. - Expecting a reroll. - cf. <3a665230-b221-410b-9a58-96c01210aea0@app.fastmail.com> - source: <pull.2242.v2.git.1791317163584.gitgitgadget@gmail.com> - - -* dk/fix-shattered-io-link (2026-10-06) 1 commit - (merged to 'next' on 2026-10-09 at 5a00b4a6e9) - + doc: fix shattered.io link - - Replace a link to a site that disappeared with a link to web archive - of the last known good copy. - - Will merge to 'master'. - cf. <xmqq4ieycxc7.fsf@gitster.g> - source: <89f21a129df21b115d5faded2a74a8a5921d62cf.1791307032.git.ben.knoble@gmail.com> - - -* kz/doc-user-manual-typo (2026-10-01) 1 commit - (merged to 'next' on 2026-10-07 at f4db8b50d0) - + doc: fix typo in user manual - - A grammatically incorrect capitalization in user-manual.adoc has - been corrected. - - Will merge to 'master'. - cf. <ar-Uk3BJyKTdQB4N@pks.im> - source: <20261001181412.846-1-kaliugov@gmail.com> + Will merge to 'next'? + source: <pull.2242.v3.git.1792178103727.gitgitgadget@gmail.com> * ps/odb-files-alternates (2026-10-08) 13 commits @@ -508,24 +1032,10 @@ source: <20261006-pks-packfile-stale-delta-base-cache-v2-0-69669a2fc6ce@pks.im> -* ps/parse-options-subcommand-groups (2026-10-02) 4 commits - (merged to 'next' on 2026-10-07 at e5809bb3ae) - + builtin/refs: introduce subcommand groups - + parse-options: allow grouping subcommands - + parse-options: extract functions to print single option - + parse-options: fix completion format when first option is skipped - - The parse-options API has been updated to support grouping - subcommands, and the 'git refs' command has been updated to use this - new feature to categorize its subcommands in its help output. - - Will merge to 'master'. - source: <20261002-b4-pks-parse-options-subcommand-groups-v2-0-3299bee52dea@pks.im> - - * ss/history-sign-rewrites (2026-10-03) 2 commits - - history: sign rewritten commits - - replay: allow callers to sign commits + (merged to 'next' on 2026-10-16 at dece36488c) + + history: sign rewritten commits + + replay: allow callers to sign commits The git history command and its subcommands have been updated to honor the commit.gpgSign configuration variable and accept the @@ -533,9 +1043,9 @@ rewritten commits and their replayed descendants are cryptographically signed by the committer. - Will merge to 'next'? + Will merge to 'master'. cf. <xmqqecdtwgm4.fsf@gitster.g> - source: <20261003134058.23494-1-git@5ouma.me> + source: <20260703145037.69832-1-git@5ouma.me> * kn/packed-refs-verbatim-write (2026-10-07) 1 commit @@ -553,45 +1063,6 @@ source: <20261007-kn-speedup-packed-refs-v4-1-79a411026596@gmail.com> -* tz/doc-override-less-env (2026-10-02) 1 commit - (merged to 'next' on 2026-10-08 at 3575e65682) - + doc: add more examples of overriding LESS in core.pager - - The documentation for core.pager has been updated to provide - examples of overriding the LESS environment variable for custom - pagers by prefixing the pager command in the configuration. - - Will merge to 'master'. - cf. <asQ56mv3VbiYmtwk@fruit.crustytoothpaste.net> - source: <20261002234203.4064847-1-tmz@pobox.com> - - -* je/doc-section-7-synopsis (2026-10-06) 1 commit - (merged to 'next' on 2026-10-09 at 5c36b1a53d) - + doc: don't require a SYNOPSIS in section 7 - - The requirement for a 'SYNOPSIS' section in section 7 manual pages - has been relaxed by updating the linter script, and dummy - 'SYNOPSIS' sections from existing section 7 documentation have been - removed to improve the rendered output - - Will merge to 'master'. - cf. <xmqqfqyid0l9.fsf@gitster.g> - source: <pull.2246.v3.git.1791305670386.gitgitgadget@gmail.com> - - -* pw/stash-all-parseopt-fix (2026-10-04) 1 commit - (merged to 'next' on 2026-10-08 at 81a30ca417) - + stash: use named constant when parsing "--all" - - Fix definition for the "--all" option to use symbolic constant - in the options[] array passed to parse_options API. - - Will merge to 'master'. - cf. <xmqqzewsogxs.fsf@gitster.g> - source: <06b58ae0a1d81f4d1518eadecc3385072a72155a.1791108351.git.phillip.wood@dunelm.org.uk> - - * ch/fetch-followremotehead-lazy-validation (2026-10-05) 1 commit (merged to 'next' on 2026-10-10 at 07225ecfe2) + fetch.c: defer fetch.followRemoteHEAD validation @@ -629,29 +1100,23 @@ source: <20261005-pks-repo-ref-storage-format-v1-1-819a181572a9@pks.im> -* pw/stash-change-check-only-once (2026-10-05) 2 commits +* pw/stash-change-check-only-once (2026-10-14) 7 commits + - stash: simplify reset_tree() function signature + - stash create: remove unnecessary index load and refresh + - stash create: rework temporary index creation + - stash push: avoid duplicate calls to preload_index() - stash push: remove duplicate changes detection - stash create: remove duplicate changes detection + - stash: use an enum for create status "git stash create/push" checked if there are checks that need to be saved twice, which has been reduced to just once. - Expecting a reroll. - cf. <725487d3-5a07-40c6-a603-990a661e0193@gmail.com> - cf. <771a2364-7e5e-4d6f-be34-1764e609c514@gmail.com> - source: <cover.1791218125.git.phillip.wood@dunelm.org.uk> - - -* kh/doc-trailers-cmd-examples (2026-10-03) 1 commit - (merged to 'next' on 2026-10-07 at 6e21340c28) - + doc: interpret-trailers: fix cmd examples - - The documentation for 'git interpret-trailers' has been updated to - fix the grammatical errors in the descriptions of command examples. - - Will merge to 'master'. - cf. <xmqq1pa5v44a.fsf@gitster.g> - source: <V2_doc_trailers_cmd_examples.d49@m5gid.xyz> + Waiting for response. + cf. <xmqqtsmorvux.fsf@gitster.g> + cf. <xmqqy0c0rw63.fsf@gitster.g> + cf. <xmqqmrsgrvlw.fsf@gitster.g> + source: <cover.1791992404.git.phillip.wood@dunelm.org.uk> * dm/libsecret-explicit-load (2026-09-27) 1 commit @@ -666,31 +1131,19 @@ * hn/ci-leak-sanitizer-annotations (2026-10-05) 2 commits - - ci: point test failures and fixed known breakages at their file and line - - ci: annotate leaks and stop a leak-sanitizer script at its first failure + (merged to 'next' on 2026-10-16 at 5192346936) + + ci: point test failures and fixed known breakages at their file and line + + ci: annotate leaks and stop a leak-sanitizer script at its first failure CI on GitHub Actions gets a better annotation experience. Leak test scripts are stopped at their first failure with --immediate to prevent flooding the log, and failures are correctly annotated with their file and line number. - Will merge to 'next'? - cf. <2554cf1e-9612-4dbf-958f-f9ff7ea71dc7@gmail.com> - source: <pull.2419.v6.git.git.1791269798.gitgitgadget@gmail.com> - - -* mg/doc-remote-set-head (2026-09-29) 1 commit - (merged to 'next' on 2026-10-07 at 4c9fc0083d) - + doc: remote: say that it only affects the local repository - - The documentation for 'git remote set-head' has been updated to - clarify that it only modifies the local repository's remote-tracking - symbolic reference, and does not alter the target remote - repository's own 'HEAD'. - Will merge to 'master'. - cf. <xmqqld8khviu.fsf@gitster.g> - source: <20260929120010.840402-1-matthias.goergens@gmail.com> + cf. <2554cf1e-9612-4dbf-958f-f9ff7ea71dc7@gmail.com> + cf. <xmqq7bjlxvf5.fsf@gitster.g> + source: <pull.2419.v6.git.git.1791269798.gitgitgadget@gmail.com> * pm/replay-add-signing-support (2026-09-25) 2 commits @@ -708,64 +1161,11 @@ source: <20260925205348.1210154-1-pmonette@google.com> -* tb/t5520-reflog-expire (2026-10-01) 1 commit - (merged to 'next' on 2026-10-07 at 68be8c611a) - + t5520: don't expire reflogs where it matters - (this branch is used by dk/stash-apply-index-incore.) - - The `t5520` test script has been updated to disable reflog expiration. - This prevents test flakiness caused by the auto-maintenance - reflog-expire task, which would otherwise immediately expire the - test's reflogs due to them carrying hardcoded timestamps from 2005. - - Will merge to 'master'. - cf. <667a68a1-641f-46c4-a718-8dd81d5c219f@gmail.com> - source: <pull.2243.v3.git.1790843056949.gitgitgadget@gmail.com> - - -* jk/xdiff-size_t (2026-09-30) 7 commits - (merged to 'next' on 2026-10-07 at dfa7f97344) - + merge-ll: report an error when reading external merge results fails - + merge-ll: handle external driver status before reading result - + merge-ll: use read_mmfile() to read external merge results - + xdiff: NUL-terminate buffers read by read_mmfile() - + xdiff: use size_t for buffer sizes - + xdiff: replace mmbuffer_t with mmfile_t - + xdiff: clean up read_mmfile() allocations on error - - The internal diff and merge machinery has been updated to use - standard size_t types rather than signed longs for buffer - allocations and offsets, preventing subtle overflow issues on LLP64 - architectures, and plugging uninitialized memory leaks along error - paths. - - Will merge to 'master'. - cf. <xmqqld8h77jo.fsf@gitster.g> - cf. <ar5dDe02hgodgOHS@pks.im> - source: <20260930234348.GA1340390@coredump.intra.peff.net> - - -* ps/reftable-reflog-timezone (2026-09-30) 3 commits - (merged to 'next' on 2026-10-07 at f924c1566d) - + refs/reftable: fix on-disk representation of reflog timezones - + t/helper: fix segfault in "dump-reftable -t" - + date: add helpers to convert between "+HHMM" timezones and minutes - - The internal representation of timezones in the reflog for the - reftable format has been fixed to match the specification, which - dictates an offset in minutes rather than the parsed "+HHMM" integer - representation. - - Will merge to 'master'. - cf. <CAOLa=ZRVt=e3MqjLY=UkitfSg_YjpsfFjeDsEmqJQm-5YhopxA@mail.gmail.com> - cf. <xmqq33up73dm.fsf@gitster.g> - source: <20261001-pks-reftables-fix-timezone-format-v2-0-a4fd1f7cd21a@pks.im> - - * pw/checkout-m-conflict-labels (2026-10-13) 3 commits - - merge: remember conflict labels - - checkout -m <path>: cache merge settings - - remove_branch_state: convert boolean argument to flags + (merged to 'next' on 2026-10-16 at 6a04190bee) + + merge: remember conflict labels + + checkout -m <path>: cache merge settings + + remove_branch_state: convert boolean argument to flags When recreating a merge conflict using 'git checkout -m', the original conflict labels (such as branch names) were lost and @@ -773,7 +1173,7 @@ record the original labels in '.git/MERGE_LABELS', allowing 'git checkout -m' to restore them. - Will merge to 'next'? + Will merge to 'master'. cf. <xmqqzewhy05i.fsf@gitster.g> source: <cover.1791906474.git.phillip.wood@dunelm.org.uk> @@ -799,32 +1199,7 @@ source: <cover.1790827875.git.me@ttaylorr.com> -* hn/object-name-push-short (2026-10-02) 1 commit - (merged to 'next' on 2026-10-07 at 4945de0395) - + object-name: accept @{p} as short for @{push} - - The @{upstream} notation had short-hand @{u} from the beginning, - and @{push} learned corresponding @{p} to match. - - Will merge to 'master'. - cf. <xmqqse2o17np.fsf@gitster.g> - source: <pull.2431.v2.git.git.1790927399813.gitgitgadget@gmail.com> - - -* gm/filter-branch-state-map-fix (2026-10-02) 1 commit - (merged to 'next' on 2026-10-08 at 1721845755) - + filter-branch: fix commit map init from state branch - - The commit map populated from the state branch in 'git - filter-branch' has been corrected to parse the map using the - original-to-rewritten order. - - Will merge to 'master'. - cf. <asM_dqY2aSdplISU@pks.im> - source: <20261003010128.256757-1-dev@grantmoyer.com> - - -* hn/fetch-refmap (2026-10-10) 5 commits +* hn/fetch-refmap (2026-10-14) 5 commits - remote: default to --limited-fetch in a shallow repository - remote: add "git remote add --limited-fetch" - fetch: infer branches to fetch from a refmap-only remote @@ -838,43 +1213,8 @@ `remote.<name>.fetch`, pulling only those remote branches tracked by local branches. - Expecting a reroll. - cf. <xmqqecdxiihc.fsf@gitster.g> - cf. <CAHwyqnW2FqKBUK=s9ZL_kwwZDf2WE87qT9YN-syLs2O5FXpMtA@mail.gmail.com> - source: <pull.2412.v8.git.git.1791619334.gitgitgadget@gmail.com> - - -* bc/git-contacts-stdin (2026-10-01) 1 commit - (merged to 'next' on 2026-10-07 at 9e5833e2a0) - + git-contacts: allow inputting patch via stdin - - The 'git-contacts' program (in contrib/) has been taught to read - patches from the standard input stream when an explicit dash ('-') is - passed in place of a file. - - Will merge to 'master'. - cf. <xmqqo6dc17jb.fsf@gitster.g> - source: <20261002-git-contacts-stdin-v6-1-49878e872d3d@brighamcampbell.com> - - -* dk/stash-apply-index-incore (2026-09-30) 4 commits - (merged to 'next' on 2026-10-07 at 0c9605a025) - + builtin/stash: merge index in-core - + t3903: test failed "stash apply --index" - + stash: prepare merge options earlier - + builtin/stash: remove unused header - + Merge branch 'tb/t5520-reflog-expire' into dk/stash-apply-index-incore - (this branch uses tb/t5520-reflog-expire.) - - The handling of index conflicts in 'git stash apply --index' has - been optimized. Instead of relying on expensive external - subprocesses using 'git diff-tree' and 'git apply', the index is now - merged in-core using the merge-ort machinery, which fixes a - concurrent lock file issue with autostash. - - Will merge to 'master'. - cf. <d3adb734-2b84-4d7b-b245-5407ee410eb4@gmail.com> - source: <cover.1790803471.git.ben.knoble@gmail.com> + Needs review. + source: <pull.2412.v9.git.git.1791961452.gitgitgadget@gmail.com> * am/p4-apply-commit-shell-injection-fix (2026-09-24) 1 commit @@ -907,21 +1247,6 @@ source: <cover.1791452597.git.maciej.ciemborowicz@gmail.com> -* td/ci-large-test-resources (2026-09-30) 2 commits - (merged to 'next' on 2026-10-07 at 2300c151d3) - + ci: use twice the CPU count on both providers - + t4205: compare huge output without diff - - CI resource exhaustion during test runs on GitHub Actions has been - mitigated by switching a comparison of a huge output to use a binary - comparison, and by capping the parallel jobs on Linux to the number - of available CPUs. - - Will merge to 'master'. - cf. <ar0gon2VE0RlG_cC@pks.im> - source: <20260930-ci-large-test-resources-v3-0-d65ac7c21b5f@gmail.com> - - * hn/shallow-history-advice (2026-09-23) 1 commit - object-name: explain why <rev>~N fails in a shallow clone @@ -972,33 +1297,11 @@ introduced, and other commands that could encounter conflicts have been updated to link to it. - Waiting for response. - cf. <xmqqwlrm7pii.fsf@gitster.g> - cf. <as4RC-g606poy2WB@pks.im> + Expecting a reroll. + cf. <695c53d0-6e14-4f4c-a3be-33a8e331f563@app.fastmail.com> source: <pull.2237.v3.git.1791816795.gitgitgadget@gmail.com> -* ps/meson-improvements (2026-09-24) 7 commits - (merged to 'next' on 2026-10-07 at 2b3488dc63) - + gitlab-ci: fix hanging MSVC jobs - + meson: update wrappers - + meson: fix outdated completion helpers - + meson: use precompiled headers for unit tests - + meson: use precompiled headers for our test-helper - + meson: don't recompile git-remote-http(1) multiple times for tests - + meson: avoid recompiling HTTP sources several times - - The build configurations for Meson have been optimized to avoid - recompiling HTTP sources multiple times and to utilize precompiled - headers for test-helpers and unit tests, reducing clean build times. - Additionally, the shell completion tests and GitLab CI MSVC runner - jobs have been fixed. - - Will merge to 'master'. - cf. <CAOLa=ZS8Exa_WkMLiFNspeYaKFf40eOM19ZgecC=yTnFEAhMzQ@mail.gmail.com> - source: <20260924-pks-meson-improvements-v1-0-90b7f79f1c4e@pks.im> - - * ps/setup-enforce-repo-passed-to-create-repository-has-no-state (2026-09-28) 7 commits - setup: enforce that passed-in repo does not carry relevant state - repository: adapt `repo_clear()` to fully reset the repository @@ -1013,26 +1316,10 @@ the repository object passed to create_repository() purely as an out-parameter. - Waiting for response. - cf. <CAOLa=ZSX0e25wK5qQwznXN9rVM+WHn8631pkTEN9Zm-BrXfEsg@mail.gmail.com> - cf. <xmqqtsn9mkog.fsf@gitster.g> + Will merge to 'next'. source: <20260928-pks-create-repository-stateless-v2-0-a03612f703fa@pks.im> -* bs/runtime-prefix-obsd-getexecpath (2026-09-16) 1 commit - - exec_cmd: RUNTIME_PREFIX on OpenBSD systems - - Git on OpenBSD historically lacked an authoritative mechanism to - resolve its executable path, as it doesn't support the - KERN_PROC_PATHNAME sysctl. With OpenBSD 8.0 introducing - getexecpath(3), it is now utilized to provide proper RUNTIME_PREFIX - resolution instead of relying on argv[0] fallback. - - Waiting for response. - cf. <xmqq4ifio83d.fsf@gitster.g> - source: <aqthQ3u4eW1wHCn7@humpty.home.comstyle.com> - - * jc/advice-config-set-global (2026-09-14) 1 commit - advice: give cut-and-pasteable advice to squelch @@ -1101,22 +1388,6 @@ source: <20260917060415.2986259-1-mh@glandium.org> -* ap/var-broken-down-idents (2026-09-26) 4 commits - (merged to 'next' on 2026-10-07 at 6ae874acdf) - + var: add broken-out identity variables - + var: accept more than one variable - + var: add "-z" output mode - + var: represent multi-valued variables with a string_list - - The 'git var' command has been updated to output individual components - of the author and committer identities, take multiple keys on the - command-line, and support NUL-delimited output with the '-z' option. - - Will merge to 'master'. - cf. <33f24834-8e73-4230-bf0a-6809a85d9a86@gmail.com> - source: <20260926162048.30853-1-andrewpleeter@gmail.com> - - * tc/push-force-if-includes-fixes (2026-09-17) 3 commits - push: --force-if-includes should allow fast-forward - push: fix --force-if-includes non-branch advice @@ -1137,17 +1408,18 @@ * cc/lazy-fetch-trusted-bit (2026-10-02) 5 commits - - builtin/upload-pack: don't disable lazy fetching on trusted repo - - promisor-remote: prevent infinite recursion when lazy fetching - - upload-pack: read uploadpack.lazyFetchTrusted - - setup: extract path_allowlist_apply() - - promisor-remote: factor out lazy_fetch_objects() + (merged to 'next' on 2026-10-14 at 1ec904b173) + + builtin/upload-pack: don't disable lazy fetching on trusted repo + + promisor-remote: prevent infinite recursion when lazy fetching + + upload-pack: read uploadpack.lazyFetchTrusted + + setup: extract path_allowlist_apply() + + promisor-remote: factor out lazy_fetch_objects() A new 'uploadpack.lazyFetchTrusted' configuration variable has been introduced to allow 'upload-pack' to lazily fetch missing objects from configured promisor remotes when serving trusted repositories. - Will merge to 'next'? + Will merge to 'master'. cf. <xmqqo6d8ma4l.fsf@gitster.g> source: <20261002082322.2682869-1-christian.couder@gmail.com> @@ -1252,22 +1524,6 @@ source: <V2_CV_format-rev_three_more_opts.bd3@msgid.xyz> -* gg/http-ssl-verify-status (2026-09-15) 1 commit - . http: add http.sslVerifyStatus to check stapled OCSP responses - - The HTTP transport has been taught to check the revocation status of - the server certificate using the stapled OCSP response during the - TLS handshake via a new 'http.sslVerifyStatus' configuration - variable. - - It seems to make CI stuck and time out after 6 hours. - - Waiting for response, stalled. - cf. <arQ/nOH+o3XwQFD/@szeder.dev> - cf. <xmqq1pa04wn0.fsf@gitster.g> - source: <20260915162348.97792-1-ggordon@gitlab.com> - - * bc/restrict-hex-to-lowercase (2026-09-07) 7 commits - hex: allow only lowercase object IDs in breaking changes mode - t5324: adjust tests for corrupt commit-graph @@ -1304,25 +1560,6 @@ source: <20260927114420.59724-1-jayatheerthkulkarni2005@gmail.com> -* 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 - - bloom: add helper to check if any key in a vector is present - - revision: expose check for paths maybe changed in Bloom filter - - revision: move bloom keyvec precondition into function - - The 'git last-modified' command has been optimized by using Bloom - filters. It now reuses revision walk filtering logic from 'git log' - to pre-filter commits, and maintains per-path Bloom filters even when - wildcard pathspecs are used. - - Waiting for response for too long, stalled. - cf. <aqJWihcFmX7tPio5@pks.im> - cf. <aqJWX0INerT8F687@pks.im> - source: <20260901-toon-speed-up-last-modified-v4-0-a09949800404@iotcl.com> - - * pz/fetch-submodule-errors-config (2026-07-16) 2 commits - fetch: add fetch.submoduleErrors to make submodule fetch errors non-fatal - submodule: fix premature failure in recursive submodule fetch @@ -1411,20 +1648,6 @@ cf. <CAC2Qwm+kzT_3_GKrpay=JLGYsxS10oWCg2MJPHrCVogFHA0OdA@mail.gmail.com> source: <20260801174156.2998808-1-mmontalbo@gmail.com> - -* kh/format-patch-range-diff-notes (2026-10-04) 2 commits - (merged to 'next' on 2026-10-07 at 584c36229d) - + format-patch: learn --[no-]range-diff-notes - + 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. - - Will merge to 'master'. - cf. <xmqqqzi5touh.fsf@gitster.g> - source: <V5_CV_format-patch_learn_--range-diff-notes.d6b@m5gid.xyz> - -------------------------------------------------- [Discarded]