From 8f32772a42bf021fe6ae929e6d066736d037115c Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Fri, 14 Aug 2026 17:01:58 -0700 Subject: [PATCH] What's cooking (2026/08 #06) --- whats-cooking.txt | 603 +++++++++++++++++++++++++--------------------- 1 file changed, 325 insertions(+), 278 deletions(-) diff --git a/whats-cooking.txt b/whats-cooking.txt index 71fd7dc113..4345c9deba 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, #05) +Subject: What's cooking in git.git (Aug 2026, #06) X-master-at: 745601a9a94110d74769ab605ccd4f61339758d2 -X-next-at: 4f2b99511996c64e58c74e2b8bd3d7ec33452a47 +X-next-at: 2966f0265a7e46fa9bf5d59e7995809027a1d38d Bcc: lwn@lwn.net, gitster@pobox.com -What's cooking in git.git (Aug 2026, #05) +What's cooking in git.git (Aug 2026, #06) ----------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -19,8 +19,8 @@ arises). The 13th batch of topics have now graduated to the 'master' branch. We have 424 non-merge commits in 'master' since Git 2.55. There -are 58 non-merge commits cooking in 'next' (note that some have -been reverted), and 266 non-merge commits, including those in and +are 82 non-merge commits cooking in 'next' (note that some have +been reverted), and 286 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,210 +54,107 @@ Release tarballs are available at: -------------------------------------------------- [New Topics] -* cc/git-shallow-file-wo-value (2026-08-11) 1 commit - - git: avoid segfault on "git --shallow-file" without a value +* kh/format-rev-doc-synopsis (2026-08-13) 2 commits + - doc: format-rev: use [synopsis] on code block + - doc: format-rev: quote subject placeholder before and after - The '--shallow-file' option of 'git' command requires a value, but the - code did not check the presence of a value and instead segfaulted - without one, which has been corrected. - - Will merge to 'next'? - cf. - source: <20260811121446.2080190-1-christian.couder@gmail.com> - - -* js/sequencer-release-odb-before-commit (2026-08-12) 1 commit - - sequencer: release the ODB before spawning git commit - - The sequencer has been updated to release the object database before - spawning 'git commit'. This prevents open file handles from - blocking auto-maintenance tasks, such as repacking, on systems like - Windows where open files cannot be easily unlinked. - - Will merge to 'next'? - cf. - source: - - -* jt/receive-pack-pluggable-writes (2026-08-11) 9 commits - - 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. - - Waiting for response. - cf. - cf. - source: <20260811175415.2044235-1-jltobler@gmail.com> - - -* jc/complete-checkout (2026-08-12) 5 commits - - fixup! completion: 'git checkout' completes untracked paths as a last resort - - completion: 'git checkout' completes untracked paths as a last resort - - completion: complete tracked paths for "git checkout" - - completion: no-op refactoring of checkout completion - - Merge branch 'jc/complete-diff-tracked-paths' into jc/complete-checkout - (this branch uses jc/complete-diff-tracked-paths.) + 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. Expecting a reroll. - cf. - cf. <834FE315-FB34-47B7-9ACF-FC8194FBE8D5@gmail.com> - source: <20260812164846.2236221-1-gitster@pobox.com> + cf. + source: -* en/sequencer-lose-pretty-given (2026-08-11) 1 commit - - sequencer: remove unnecessary variable setting +* kh/format-rev-more-options (2026-08-13) 4 commits + - format-rev: learn --abbrev, --color, and --date + - doc: rev-list-options.adoc: factor out --date alts + - format-rev: factor option variables into a struct + - format-rev: use lower case for opts description - The setting of a now-unused member revs.pretty_given in the - sequencer machinery has been removed. + The experimental 'git format-rev' has been taught a few more + formatting options. - Will merge to 'next'? - cf. - source: + Waiting for review. + cf. + source: -* en/serve-promisor-remote-fix (2026-08-11) 1 commit - - serve: reject valueless promisor-remote capability +* ps/odb-pluggable-pack-generation (2026-08-07) 5 commits + - bundle: generate packfiles via the object database + - 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 - A client requesting the promisor-remote capability without a value - caused a null pointer dereference, which has been corrected by - rejecting a request without an argument. + 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. + + Expecting a reroll. + cf. + source: <20260807-b4-pks-odb-generate-pack-v1-0-7dec431ae7cd@pks.im> + + +* ty/repository-fetch-if-missing (2026-08-14) 2 commits + - repository: move fetch_if_missing into struct repository + - pack-objects: give fetch_if_missing call sites access to 'repo' + + 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). + + Waiting for response. + cf. + cf. + source: <20260814072419.1666358-1-cat@malon.dev> + + +* ns/ref-symref-additional-tests (2026-08-13) 2 commits + - t1401: test symbolic-ref exit codes on a non-symbolic ref + - t1402: test forbidden characters in refnames + + A few additional tests. Needs review. - source: + source: + source: -* ps/odb-eagerly-load-alternates (2026-08-12) 5 commits - - odb: drop `alternates_db` field - - odb: drop `loaded_alternates` field - - odb: eagerly initialize alternates - - odb: decouple source path comparisons from `the_repository` - - Merge branch 'ps/odb-make-creation-pluggable' into ps/odb-eagerly-load-alternates - (this branch uses ps/odb-make-creation-pluggable.) +* en/diff-l-opt-help (2026-08-13) 1 commit + - diff: avoid misleading statement about -l option - 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. - - Needs review. - cf. - source: <20260812-pks-odb-eagerly-prepare-alternates-v2-0-522b9a5bc1ea@pks.im> - - -* gg/http-ssl-verify-status (2026-08-12) 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. - - Needs review (Broken???) - cf. - source: <20260812182509.67358-1-ggordon@gitlab.com> - - -* js/packfile-fast-append (2026-08-12) 1 commit - - packfile: fix perf regression with many packs - - The performance of adding numerous new packfiles has been improved - by introducing a fast path for known-new packfiles to skip an - unnecessary traversal in packfile_list_append(), avoiding a - quadratic complexity regression on load. + The help text for the '-l' option of 'git diff' has been updated. Will merge to 'next'? - cf. - cf. <20260812212955.GA152730@coredump.intra.peff.net> - source: - --------------------------------------------------- -[Graduated to 'master'] - -* ja/doc-synopsis-style-yet-more (2026-07-23) 4 commits - (merged to 'next' on 2026-08-03 at c744bba04e) - + doc: convert git-request-pull synopsis and options to new style - + doc: convert git-send-email synopsis and options to new style - + doc: convert git-format-patch synopsis and options to new style - + doc: convert git-imap-send synopsis and options to new style - - Synopsis and options in the documentation for 'git format-patch', - 'git imap-send', 'git send-email', and 'git request-pull' have been - updated to the modern style. - - Graduated to 'master'. - cf. - source: + cf. + source: -* kh/doc-replay-config (2026-07-30) 4 commits - (merged to 'next' on 2026-08-03 at 5450adb2e1) - + doc: replay: move “default” to the right-hand side - + doc: replay: use a nested description list - + doc: replay: improve config description - + doc: link to config for git-replay(1) +* ss/submittingpatches-typofix (2026-08-14) 1 commit + - doc: fix typo in submitting patches - Documentation for 'git replay' has been updated to refer to its - configuration variables. + Typofix. - Graduated to 'master'. - cf. - source: + Will merge to 'next'? + source: -* lo/mv-missing-dest-dir-check (2026-07-30) 2 commits - (merged to 'next' on 2026-08-03 at 7643cf1c2a) - + mv: reject a destination whose leading path is missing or a symlink - + mv: name both source and destination when rename fails +* ch/chdir-notify-drop-name (2026-08-14) 1 commit + - chdir-notify.h: Removed unused param 'name' - 'git mv' has been updated to check for a missing destination - leading directory during the checking phase, allowing 'git mv -n' - to report the failure. The error message when the rename(2) - syscall fails has also been improved to name both the source and - the destination. + The unused name parameter in 'struct chdir_notify_entry' has been + removed from chdir_notify_register(), chdir_notify_unregister(), and + related callback signatures across several subsystems, simplifying the + API now that trace output no longer uses it. - Graduated to 'master'. - cf. - source: - - -* ns/merge-base-is-ancestor-tests (2026-07-29) 1 commit - (merged to 'next' on 2026-08-03 at cf2c4e00eb) - + merge-base: add tests for --is-ancestor - - Tests for 'git merge-base --is-ancestor' have been added to cover - exit codes (0 for success, 1 for non-ancestor, 128 for errors) and - to ensure it cannot be combined with '--all'. - - Graduated to 'master'. - cf. - source: - - -* sk/test-commit-body-helper (2026-07-27) 2 commits - (merged to 'next' on 2026-08-03 at ce42e63135) - + t: use commit_body to extract commit message bodies - + test-lib-functions: add commit_body helper - - A new test helper commit_body() has been introduced to print the - message body of a commit, and various tests have been updated to use - it instead of spelling out the command pipeline manually and losing - the exit status of the 'git cat-file' command on the upstream of the - pipe. - - Graduated to 'master'. - cf. - source: <20260727095656.75496-1-diy2903@gmail.com> + Will merge to 'next'? + cf. <20260814203100.GB2575854@coredump.intra.peff.net> + source: <20260814214210.1625-1-colinlewishinton@gmail.com> -------------------------------------------------- [Stalled] @@ -324,6 +221,138 @@ Release tarballs are available at: -------------------------------------------------- [Cooking] +* cc/git-shallow-file-wo-value (2026-08-11) 1 commit + - git: avoid segfault on "git --shallow-file" without a value + + The '--shallow-file' option of 'git' command requires a value, but the + code did not check the presence of a value and instead segfaulted + without one, which has been corrected. + + Will merge to 'next'? + cf. + cf. + source: <20260811121446.2080190-1-christian.couder@gmail.com> + + +* js/sequencer-release-odb-before-commit (2026-08-12) 1 commit + - sequencer: release the ODB before spawning git commit + + The sequencer has been updated to release the object database before + spawning 'git commit'. This prevents open file handles from + blocking auto-maintenance tasks, such as repacking, on systems like + Windows where open files cannot be easily unlinked. + + Will merge to 'next'? + cf. + source: + + +* jt/receive-pack-pluggable-writes (2026-08-11) 9 commits + - 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. + + Expecting a reroll. + cf. + source: <20260811175415.2044235-1-jltobler@gmail.com> + + +* jc/complete-checkout (2026-08-13) 4 commits + - completion: 'git checkout' completes untracked paths as a last resort + - completion: complete tracked paths for "git checkout" + - completion: no-op refactoring of checkout completion + - Merge branch 'jc/complete-diff-tracked-paths' into jc/complete-checkout + (this branch uses jc/complete-diff-tracked-paths.) + + Will merge to 'next'? + cf. + source: <20260813191234.1066662-1-gitster@pobox.com> + + +* en/sequencer-lose-pretty-given (2026-08-11) 1 commit + - sequencer: remove unnecessary variable setting + + The setting of a now-unused member '.pretty_given' in the sequencer + machinery has been removed. + + Will merge to 'next'? + cf. + cf. + source: + + +* en/serve-promisor-remote-fix (2026-08-11) 1 commit + - serve: reject valueless promisor-remote capability + + A client requesting the promisor-remote capability without a value + caused a null pointer dereference, which has been corrected by + rejecting a request without an argument. + + Will merge to 'next'? + cf. + source: + + +* ps/odb-eagerly-load-alternates (2026-08-12) 5 commits + - odb: drop `alternates_db` field + - odb: drop `loaded_alternates` field + - odb: eagerly initialize alternates + - odb: decouple source path comparisons from `the_repository` + - Merge branch 'ps/odb-make-creation-pluggable' into ps/odb-eagerly-load-alternates + (this branch uses ps/odb-make-creation-pluggable.) + + 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. + + Waiting for response. + cf. + cf. + cf. <20260814171724.GB2563235@coredump.intra.peff.net> + source: <20260812-pks-odb-eagerly-prepare-alternates-v2-0-522b9a5bc1ea@pks.im> + + +* gg/http-ssl-verify-status (2026-08-12) 2 commits + - SQUASH??? + - 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. + + Waiting for response. + cf. + cf. + source: <20260812182509.67358-1-ggordon@gitlab.com> + + +* js/packfile-fast-append (2026-08-13) 1 commit + - packfile: fix perf regression with many packs + + The performance of adding numerous new packfiles has been improved + by introducing a fast path for known-new packfiles to skip an + unnecessary traversal in packfile_list_append(), avoiding a + quadratic complexity regression on load. + + Will merge to 'next'? + cf. + cf. + source: + + * hn/send-email-missing-subject-error (2026-08-10) 1 commit - send-email: clarify missing subject error @@ -337,14 +366,13 @@ Release tarballs are available at: source: -* ss/repack-drop-filtered (2026-08-10) 7 commits - . Documentation/git-repack: document --drop-filtered and --dry-run - . builtin/repack: add guards for --drop-filtered - . builtin/repack: actually drop filtered promisor blobs - . builtin/repack: enumerate promisor blobs for --drop-filtered - . repack-promisor: allow excluding objects from the rebuilt promisor pack - . list-objects-filter: add list_objects_filter__filter_oidset() - . builtin/repack.c: add --drop-filtered and --dry-run options +* ss/repack-drop-filtered (2026-08-13) 6 commits + - builtin/repack: add guards for --drop-filtered + - builtin/repack: actually drop filtered promisor blobs + - builtin/repack: enumerate promisor blobs for --drop-filtered + - repack-promisor: allow excluding objects from the rebuilt promisor pack + - list-objects-filter: add list_objects_filter__filter_oidset() + - builtin/repack: add --drop-filtered and --dry-run options 'git repack' has been taught '--drop-filtered' to delete local promisor blobs exceeding a limit (currently 'blob:limit=') in partial @@ -352,8 +380,8 @@ Release tarballs are available at: operations or if referenced by the index. Expecting a reroll. - cf. - source: <20260810174047.6524-1-r.siddharth.shrimali@gmail.com> + cf. + source: <20260813200830.84348-1-r.siddharth.shrimali@gmail.com> * ty/repo-config-cleanups (2026-08-07) 3 commits @@ -371,7 +399,7 @@ Release tarballs are available at: source: <20260807085932.3958759-1-cat@malon.dev> -* vm/complete-history (2026-08-06) 4 commits +* vm/complete-history (2026-08-13) 4 commits - completion: complete 'git history split' pathspecs - completion: complete 'git history --update-refs' values - completion: complete 'git history --empty' values @@ -380,43 +408,53 @@ Release tarballs are available at: The command line completion (in contrib/) has been taught to handle the experimental 'git history' command. - Waiting for response. - cf. - source: <20260806-history_autocompletion-v2-0-7e60f52a1c20@kernel.org> + Needs review. + source: <20260813-history_autocompletion-v3-0-69eed1cea93a@kernel.org> -* cc/lazy-fetch-trusted-bit (2026-08-07) 5 commits +* cc/lazy-fetch-trusted-bit (2026-08-13) 5 commits - builtin/upload-pack: set GIT_NO_LAZY_FETCH to 0 on trusted repo - upload-pack: read uploadpack.lazyFetchTrusted - setup: add 'allow_dot' arg to path_allowlist_apply() - setup: extract path_allowlist_apply() - promisor-remote: factor out lazy_fetch_objects() - Expecting a reroll. - cf. - source: <20260807135511.1818458-1-christian.couder@gmail.com> + 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. + + Waiting for response. + cf. + cf. + source: <20260813154748.2378747-1-christian.couder@gmail.com> -* dk/use-nsec-runtime (2026-08-07) 3 commits +* dk/use-nsec-runtime (2026-08-14) 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 + The build-time knob 'USE_NSEC' for nanosecond stat precision has been + converted to a runtime configuration 'core.useNanosec', allowing + distributions to bundle one binary that adapts to filesystem + capabilities dynamically. + Expecting a reroll. - cf. - source: + cf. + source: * ps/t7900-deflake-maintenance (2026-08-12) 2 commits - t7900: fix flaky "maintenance.strategy" test - t7900: adapt some tests to use a throwaway repository - Various tests in t7900-maintenance.sh have been updated to use a - throwaway repository, and auto-detaching of maintenance tasks is - now disabled for these tests to fix flaky races with concurrent - background maintenance jobs. + Various tests in 't7900-maintenance.sh' have been updated to use a + throwaway repository, and auto-detaching of maintenance tasks is now + disabled for these tests to fix flaky races with concurrent background + maintenance jobs. - Needs review. + Will merge to 'next'? + cf. source: <20260812-pks-t7900-fix-flaky-test-v2-0-9ea0e1ac0edd@pks.im> @@ -563,17 +601,18 @@ Release tarballs are available at: * kh/doc-trailers (2026-08-09) 11 commits - - doc: interpret-trailers: document comment line treatment - - doc: interpret-trailers: rewrite new-trailers paragraphs - - doc: interpret-trailers: commit to “trailer block” term - - doc: interpret-trailers: join new-trailers again - - doc: interpret-trailers: add key format example - - doc: interpret-trailers: explain key format - - doc: interpret-trailers: explain the format after the intro - - doc: interpret-trailers: not just for commit messages - - doc: interpret-trailers: use “metadata” in Name as well - - doc: interpret-trailers: replace “lines” with “metadata” - - doc: interpret-trailers: stop fixating on RFC 822 + (merged to 'next' on 2026-08-13 at 2966f0265a) + + doc: interpret-trailers: document comment line treatment + + doc: interpret-trailers: rewrite new-trailers paragraphs + + doc: interpret-trailers: commit to “trailer block” term + + doc: interpret-trailers: join new-trailers again + + doc: interpret-trailers: add key format example + + doc: interpret-trailers: explain key format + + doc: interpret-trailers: explain the format after the intro + + doc: interpret-trailers: not just for commit messages + + doc: interpret-trailers: use “metadata” in Name as well + + doc: interpret-trailers: replace “lines” with “metadata” + + doc: interpret-trailers: stop fixating on RFC 822 (this branch is used by kh/trailers-no-urls.) Documentation for 'git interpret-trailers' has been updated to explain @@ -581,7 +620,7 @@ Release tarballs are available at: replace outdated terminology, define key terms upfront, and document how comment lines in the input are treated. - Will merge to 'next'. + Will merge to 'master'. cf. <0687D60D-DF6B-4547-868C-FCFC5B27ECAF@gmail.com> source: @@ -675,12 +714,13 @@ Release tarballs are available at: * ps/odb-make-creation-pluggable (2026-08-06) 6 commits - - odb: make creation of on-disk structures pluggable - - odb/source: introduce function to map source type to name - - setup: defer object database creation - - setup: handle ODB-related environment variables in `odb_new()` - - setup: detangle loading of loose object maps - - loose: load loose object map for the correct source + (merged to 'next' on 2026-08-13 at 749fa77ae1) + + odb: make creation of on-disk structures pluggable + + odb/source: introduce function to map source type to name + + setup: defer object database creation + + setup: handle ODB-related environment variables in `odb_new()` + + setup: detangle loading of loose object maps + + loose: load loose object map for the correct source (this branch is used by ps/odb-eagerly-load-alternates.) The creation of the on-disk data structures for the object database @@ -689,7 +729,7 @@ Release tarballs are available at: has been deferred, and the loading of the loose-object map has been detangled from repository initialization. - Will merge to 'next'. + Will merge to 'master'. cf. <87jyq24cxm.fsf@emacs.iotcl.com> source: <20260807-pks-odb-create-on-disk-v5-0-399da0b0b140@pks.im> @@ -708,18 +748,6 @@ Release tarballs are available at: source: <20260721140443.1809379-2-hugo@hsal.es> -* td/fsmonitor-darwin-cookie-flush (2026-07-21) 1 commit - - fsmonitor: flush pending FSEvents before cookie wait - - The 'fsmonitor' daemon on macOS has been updated to flush pending - FSEvents before waiting for the cookie file, to avoid premature - timeouts on busy systems. - - Waiting for review. - cf. - source: <20260721-fsmonitor-darwin-cookie-flush-v1-1-357dc5e32040@gmail.com> - - * sn/rebase-update-refs-symrefs (2026-07-22) 2 commits - rebase: guard non-branch symref targets - rebase: skip branch symref aliases @@ -806,8 +834,7 @@ Release tarballs are available at: about unchecked returns. Will merge to 'next'? - cf. - cf. <20260812213438.GC152730@coredump.intra.peff.net> + cf. source: @@ -865,19 +892,6 @@ Release tarballs are available at: source: <20260807-pks-reintroduce-writev-v2-0-30fcff0e89c1@pks.im> -* tb/send-pack-no-ref-delta (2026-07-12) 4 commits - - send-pack: honor `no-ref-delta` capability - - pack-objects: support reuse with `--no-ref-delta` - - pack-objects: introduce `--no-ref-delta` - - t/helper: teach pack-deltas to list delta entries - - 'git send-pack' has been taught to refrain from sending 'REF_DELTA' - encoded packfiles when the other side asks it to. - - Needs review. - source: - - * tn/packfile-uri-concurrency (2026-07-26) 6 commits (merged to 'next' on 2026-08-08 at 44df3a3ec5) + fetch-pack: accept "pack" output for packfile URIs @@ -898,7 +912,8 @@ Release tarballs are available at: source: -* js/pack-objects-delta-size-t (2026-08-05) 12 commits +* js/pack-objects-delta-size-t (2026-08-13) 13 commits + - packfile: widen `unpack_object_header_buffer()` to `size_t` - git-zlib: widen `git_deflate_bound()` to `size_t` - t/helper/test-pack-deltas: widen `do_compress()`'s maxsize local to `size_t` - http-push: widen `start_put()`'s size local from `ssize_t` to `size_t` @@ -916,10 +931,9 @@ Release tarballs are available at: use 'size_t' instead of 'unsigned long' for object sizes and offset limits, avoiding potential truncation issues on 64-bit Windows. - Waiting for response. - cf. - cf. - source: + Will merge to 'next'? + cf. + source: * pz/fetch-submodule-errors-config (2026-07-16) 2 commits @@ -961,8 +975,8 @@ Release tarballs are available at: source: <20260711-fz-autosquash-empty-v3-1-d227b63eb511@gmail.com> -* mm/lib-httpd-cgi-safe (2026-07-10) 3 commits - - t/README: document writing concurrency-safe helpers +* mm/lib-httpd-cgi-safe (2026-08-12) 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 @@ -971,8 +985,7 @@ Release tarballs are available at: Apache handles concurrent requests. Needs review. - (a newer iteration v3 exists as ) - source: + source: * ij/subtree-reject-v2-config (2026-07-06) 2 commits @@ -1049,7 +1062,8 @@ Release tarballs are available at: source: -* hn/history-squash (2026-08-07) 8 commits +* hn/history-squash (2026-08-13) 9 commits + - fixup! history: create squashed commits without editing - history: support editing squashed commit messages - history: create squashed commits without editing - history: protect branches when squashing a range @@ -1063,7 +1077,9 @@ Release tarballs are available at: subcommand to fold a range of commits into a single commit, with any descendants replayed on top. - Needs review. + Waiting for response. + cf. + cf. source: @@ -1078,7 +1094,8 @@ Release tarballs are available at: above the selected base were incorrectly skipped by the pack exclusion logic, and reachability closure for bitmaps was broken. - Needs review. + Expecting a reroll. + cf. source: @@ -1097,7 +1114,8 @@ Release tarballs are available at: source: <20260728-toon-git-replay-drop-merges-v8-0-ced11dffe749@iotcl.com> -* mm/diff-process-hunks (2026-08-01) 11 commits +* mm/diff-process-hunks (2026-08-13) 12 commits + - fixup! diff: consult oid-only hunk providers via diff..process - diff: consult oid-only hunk providers via diff..process - userdiff: add diff..process config - sub-process: add a gentle status read @@ -1117,7 +1135,8 @@ Release tarballs are available at: while leaving all output formatting (word diff, color, blame, etc.) to Git's standard pipeline. - Waiting for response. + Waiting for response, stalled + cf. cf. <1f8fe709-ef19-496e-9857-8c2d24b29c56@gmail.com> source: <20260801174156.2998808-1-mmontalbo@gmail.com> @@ -1135,19 +1154,20 @@ Release tarballs are available at: * hn/branch-delete-merged (2026-08-05) 7 commits - - branch: add --dry-run for --delete-merged - - branch: add branch..deleteMerged opt-out - - branch: add --delete-merged - - branch: prepare delete_branches for a bulk caller - - branch: let delete_branches skip unmerged branches on bulk refusal - - branch: convert delete_branches() to a flags argument - - branch: add --forked filter for --list mode + (merged to 'next' on 2026-08-13 at 07f0138e2e) + + branch: add --dry-run for --delete-merged + + branch: add branch..deleteMerged opt-out + + branch: add --delete-merged + + branch: prepare delete_branches for a bulk caller + + branch: let delete_branches skip unmerged branches on bulk refusal + + branch: convert delete_branches() to a flags argument + + branch: add --forked filter for --list mode The 'git branch' command has been taught the '--delete-merged' option to remove local branches that are already merged into their tracked remote-tracking branches. - Will merge to 'next'. + Will merge to 'master'. cf. <10b22a6b-e028-469c-a117-8dc2ed5bed3b@gmail.com> source: @@ -1173,3 +1193,30 @@ Release tarballs are available at: cf. cf. source: + +-------------------------------------------------- +[Discarded] + +* td/fsmonitor-darwin-cookie-flush (2026-07-21) 1 commit + . fsmonitor: flush pending FSEvents before cookie wait + + The 'fsmonitor' daemon on macOS has been updated to flush pending + FSEvents before waiting for the cookie file, to avoid premature + timeouts on busy systems. + + Retracted + cf. + source: <20260721-fsmonitor-darwin-cookie-flush-v1-1-357dc5e32040@gmail.com> + + +* tb/send-pack-no-ref-delta (2026-07-12) 4 commits + . send-pack: honor `no-ref-delta` capability + . pack-objects: support reuse with `--no-ref-delta` + . pack-objects: introduce `--no-ref-delta` + . t/helper: teach pack-deltas to list delta entries + + 'git send-pack' has been taught to refrain from sending 'REF_DELTA' + encoded packfiles when the other side asks it to. + + Retracted for now. + source: