From 301ed736b814110b8ed3eabfcb1fa24dde434965 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Sun, 23 Aug 2026 17:54:43 -0700 Subject: [PATCH] What's cooking (2026/08 #10) --- whats-cooking.txt | 294 +++++++++++++++++----------------------------- 1 file changed, 109 insertions(+), 185 deletions(-) diff --git a/whats-cooking.txt b/whats-cooking.txt index 90d84a339f..64a69d457d 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, #09) +Subject: What's cooking in git.git (Aug 2026, #10) X-master-at: 1a3e64c6c4a623626ff0687008732a8e007e2a1c X-next-at: b25b4bd76c75363f63222e781088d0833952c20c Bcc: lwn@lwn.net, gitster@pobox.com -What's cooking in git.git (Aug 2026, #09) +What's cooking in git.git (Aug 2026, #10) ----------------------------------------- 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 14th batch of topics have now graduated to the 'master' branch. -We have 437 non-merge commits in 'master' since Git 2.55. There -are 143 non-merge commits cooking in 'next' (note that some have -been reverted), and 260 non-merge commits, including those in and +The 16th batch of topics have now graduated to the 'master' branch. +We have 472 non-merge commits in 'master' since Git 2.55. There +are 128 non-merge commits cooking in 'next' (note that some have +been reverted), and 251 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,7 +54,66 @@ Release tarballs are available at: -------------------------------------------------- [New Topics] -* kn/receive-report-hook (2026-08-18) 1 commit +* as/utimensat-utimes (2026-08-21) 3 commits + - compat/posix: drop legacy header and shims + - treewide: use utimensat(2) instead of legacy utime(3p) + - compat/posix: introduce utimensat(2) wrapper + + The codebase has been updated to use the newer utimensat() POSIX + function instead of the obsolescent utime(), allowing + high-precision timestamps while preserving fallback compatibility. + + Waiting for response. + cf. + cf. + 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. + + Needs review. + source: <20260821-pks-parallelize-fetching-packfile-uris-v1-0-0df52d9427ce@pks.im> + + +* ps/odb-geometric-repack-loose-threshold (2026-08-11) 1 commit + - odb/files: be less aggressive with geometric repacking + + The threshold for geometric repacking to trigger based on loose + object count has been adjusted to match that of 'git gc --auto', + preventing over-aggressive repacking during concurrent writes. + + Will merge to 'next'? + cf. + cf. + source: <20260811-pks-geometric-maintenance-reduce-frequency-v1-1-7a54c42355ac@pks.im> + +-------------------------------------------------- +[Stalled] + +* hs/rebase-continue-edit (2026-07-21) 1 commit + - rebase: add --[no-]edit to --continue + + Support for skipping the editor when continuing a rebase after + conflict resolution has been added with the '--no-edit' option, and + forcing it with '--edit'. A new configuration variable + 'rebase.noEdit' can be used to set the default behavior. + + Waiting for response for too long, stalled. + cf. + cf. + source: <20260721140443.1809379-2-hugo@hsal.es> + +-------------------------------------------------- +[Cooking] + +* kn/receive-report-hook (2026-08-21) 1 commit - hook: introduce the report hook for git-receive-pack(1) A new hook 'report' is added to 'git receive-pack', which runs after @@ -62,8 +121,8 @@ Release tarballs are available at: packet-line status report sent back to the client. Expecting a reroll. - cf. - source: <20260818-758-introduce-hook-v1-1-8a8d89e65838@gmail.com> + cf. + source: <20260821-758-introduce-hook-v2-1-e90e2f7ac2cf@gmail.com> * en/midx-missing-pack-fallback (2026-08-18) 2 commits @@ -107,10 +166,8 @@ Release tarballs are available at: mechanism, removing backend-specific leakage from central lookup paths. - Waiting for review. + Will merge to 'next'. cf. - cf. - cf. source: <20260819-pks-odb-generic-corrupt-objects-v2-0-a984e3a0ad6f@pks.im> @@ -141,7 +198,7 @@ Release tarballs are available at: source: -* kh/doc-datamodel (2026-08-20) 4 commits +* kh/doc-datamodel (2026-08-23) 4 commits - doc: datamodel: link to the glossary - doc: glossary: link four of the terms to gitdatamodel(7) - doc: git: link to the gitdatamodel(7) tutorial @@ -151,10 +208,10 @@ Release tarballs are available at: of key documentaiton pages. Needs review. - source: + source: -* yn/worktree-repair-relative (2026-08-20) 1 commit +* yn/worktree-repair-relative (2026-08-21) 1 commit - worktree repair: detect relative path in .git file correctly The git worktree repair command failed to rewrite the .git file of @@ -162,146 +219,11 @@ Release tarballs are available at: command was run in the working tree itself. The read_gitfile_gently() function was modified to also return whether the path originally recorded in the file was absolute, and this new - capability is used to correctly detect such mismatches. + capability is used to correctly detect such mismatches. Needs review. - source: + source: --------------------------------------------------- -[Graduated to 'master'] - -* hn/bisect-reset-when-found (2026-08-02) 2 commits - (merged to 'next' on 2026-08-11 at cad4ed37c6) - + bisect: add --reset-when-found to leave when done - + bisect: let bisect_reset() optionally check out quietly - - The 'git bisect' command has been taught a - '--reset-when-found[=]' option that tells the command to - automatically run 'git bisect reset' to jump back to the original - state or to the found culprit. - - Graduated to 'master'. - cf. - source: - - -* hn/branch-delete-merged (2026-08-05) 7 commits - (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. - - Graduated to 'master'. - cf. <10b22a6b-e028-469c-a117-8dc2ed5bed3b@gmail.com> - source: - - -* kh/doc-refs-migrate-limitations (2026-08-05) 2 commits - (merged to 'next' on 2026-08-11 at 2eb1041920) - + doc: refs: linkgit to git-maintenance(1) - + doc: refs: put ref migration warning under the command - - The known limitations of the ref format migration in 'git refs' have - been moved to be displayed as a warning admonition directly under the - description of the 'migrate' subcommand, improving visibility. A - reference to 'git-maintenance' has also been corrected to use the - 'linkgit' macro. - - Graduated to 'master'. - cf. - cf. - source: - - -* kh/doc-trailers (2026-08-09) 11 commits - (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 - the format of trailer keys (alphanumeric characters and hyphens), - replace outdated terminology, define key terms upfront, and document - how comment lines in the input are treated. - - Graduated to 'master'. - cf. <0687D60D-DF6B-4547-868C-FCFC5B27ECAF@gmail.com> - source: - - -* ps/odb-make-creation-pluggable (2026-08-06) 6 commits - (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 - has been made pluggable, allowing future backends to customize their - setup. As part of this, the initialization of the object database - has been deferred, and the loading of the loose-object map has been - detangled from repository initialization. - - Graduated to 'master'. - cf. <87jyq24cxm.fsf@emacs.iotcl.com> - source: <20260807-pks-odb-create-on-disk-v5-0-399da0b0b140@pks.im> - - -* ps/writev (2026-08-06) 5 commits - (merged to 'next' on 2026-08-11 at bc2a935c92) - + fast-import: use writev(3p) to send cat-blob responses - + sideband: use writev(3p) to send pktlines - + wrapper: properly handle MAX_IO_SIZE in writev(3p) - + wrapper: introduce writev(3p) wrappers - + compat/posix: introduce writev(3p) wrapper - - A compatibility wrapper for writev(3p) has been reintroduced, - including fixes for CMake build and 'MAX_IO_SIZE' limits on NonStop. - Calls to write(3p) in send_sideband() and cat_blob() have been - refactored to use writev(3p) wrappers to reduce syscall overhead. - - Graduated to 'master'. - cf. - source: <20260807-pks-reintroduce-writev-v2-0-30fcff0e89c1@pks.im> - --------------------------------------------------- -[Stalled] - -* hs/rebase-continue-edit (2026-07-21) 1 commit - - rebase: add --[no-]edit to --continue - - Support for skipping the editor when continuing a rebase after - conflict resolution has been added with the '--no-edit' option, and - forcing it with '--edit'. A new configuration variable - 'rebase.noEdit' can be used to set the default behavior. - - Waiting for response for too long, stalled. - cf. - cf. - source: <20260721140443.1809379-2-hugo@hsal.es> - --------------------------------------------------- -[Cooking] * sk/object-name-use-after-free (2026-08-17) 1 commit (merged to 'next' on 2026-08-20 at b0804dff5f) @@ -359,9 +281,10 @@ Release tarballs are available at: 'pack-objects' and enabling alternative ODBs to serve packfiles themselves. - Expecting a reroll. - cf. - source: <20260820-b4-pks-odb-generate-pack-v3-0-bc42252f6169@pks.im> + Will merge to 'next'? + cf. + cf. + source: <20260821-b4-pks-odb-generate-pack-v4-0-074e8bd641f8@pks.im> * ty/repository-fetch-if-missing (2026-08-14) 1 commit @@ -376,17 +299,16 @@ Release tarballs are available at: source: <20260815064747.2196896-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 +* ns/ref-symref-additional-tests (2026-08-20) 2 commits - t1402: test forbidden characters in refnames + - t1401: check symbolic-ref exit codes and --quiet silence A few additional tests. - Expecting a reroll. - cf. <20260820151325.58087-1-nikolauspschuetz@gmail.com> - cf. <20260820144648.47267-1-nikolauspschuetz@gmail.com> - source: - source: + Waiting for response. + cf. + source: + source: * en/diff-l-opt-help (2026-08-13) 1 commit @@ -453,7 +375,7 @@ Release tarballs are available at: source: -* jt/receive-pack-pluggable-writes (2026-08-19) 9 commits +* jt/receive-pack-pluggable-writes (2026-08-20) 9 commits - odb/transaction: add transaction interface to write packfiles - odb: return temporary ODB source when set - builtin/receive-pack: explicitly pass packfile fd @@ -468,12 +390,10 @@ Release tarballs are available at: transaction interface for writing incoming packfiles, making it more backend-agnostic. - Expecting a reroll. - cf. - cf. - cf. - cf. - source: <20260819215311.3880274-1-jltobler@gmail.com> + Will merge to 'next'? + cf. + cf. + source: <20260820234940.894624-1-jltobler@gmail.com> * jc/complete-checkout (2026-08-13) 4 commits @@ -529,10 +449,9 @@ Release tarballs are available at: 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. + Will merge to 'next'? + cf. + cf. source: <20260817-pks-odb-eagerly-prepare-alternates-v3-0-1115a7e02467@pks.im> @@ -622,6 +541,7 @@ Release tarballs are available at: Will merge to 'next'? cf. + cf. source: <20260813-history_autocompletion-v3-0-69eed1cea93a@kernel.org> @@ -636,7 +556,7 @@ Release tarballs are available at: introduced to allow 'upload-pack' to lazily fetch missing objects from configured promisor remotes when serving trusted repositories. - Waiting for response. + Waiting for response, stalled. cf. cf. cf. @@ -657,6 +577,7 @@ Release tarballs are available at: Needs review. cf. + cf. source: @@ -746,12 +667,12 @@ Release tarballs are available at: given to create a new branch, causing the explicit branch name to be ignored, which has been corrected. - Will merge to 'next'? + Will merge to 'next'. cf. source: -* yn/worktree-ambiguous-remote-advice (2026-08-20) 3 commits +* yn/worktree-ambiguous-remote-advice (2026-08-21) 3 commits - worktree add: improve message for ambiguous remote branch name - checkout: improve message for ambiguous remote branch name - checkout: extract function to display advice for ambiguous remotes @@ -760,7 +681,7 @@ Release tarballs are available at: specified, which has been corrected. Needs review. - source: + source: * hn/ci-cancel-stale-pr-runs (2026-07-31) 1 commit @@ -793,11 +714,15 @@ Release tarballs are available at: - trailers: stop recognizing URLs as trailers - Merge branch 'kh/doc-trailers' into kh/trailers-no-urls - The trailers code has been taught to avoid mistaking a line that has - '://' at the beginning as a trailer line. + 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. - Needs review. - source: + Will merge to 'next'? + cf. <20260821004248.GA296777@coredump.intra.peff.net> + cf. + source: * cl/regexec-macos-leak (2026-07-28) 2 commits @@ -843,7 +768,7 @@ Release tarballs are available at: been updated to correctly handle or gracefully reject duplicate entries. - Waiting for response. + Waiting for response for too long, stalled. cf. source: @@ -901,9 +826,8 @@ Release tarballs are available at: root, superproject working tree, object database, etc.), supporting both absolute and relative path formats. - Waiting for response. - cf. <6E2B0ADE-2101-47AC-B11B-315897AC2AF9@gmail.com> - cf. + Expecting a reroll. + cf. source: <20260806101556.162940-1-jayatheerthkulkarni2005@gmail.com>