From: Junio C Hamano Date: Fri, 19 Jun 2026 22:14:17 +0000 (-0700) Subject: What's cooking (2026/06 #07) X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f0b532b1b35cdbe7ef4f7d8c89d8ff80b273c09f;p=thirdparty%2Fgit.git What's cooking (2026/06 #07) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index ee498d9408..d69ed9b360 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 (Jun 2026, #06) -X-master-at: 4621f8ce5e9b97aa2e8d0d9ffe9d25df2471074d -X-next-at: 3b0662c7b3a4a6dab9e3cb8a89039457b92b29fd +Subject: What's cooking in git.git (Jun 2026, #07) +X-master-at: 8d96f09e9245ddf80c1981476fcbac8c4bb4125f +X-next-at: 43192e7977f5f05138abcdb3212a3f87ab513bef Bcc: lwn@lwn.net, gitster@pobox.com -What's cooking in git.git (Jun 2026, #06) +What's cooking in git.git (Jun 2026, #07) ----------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -57,177 +57,204 @@ Release tarballs are available at: https://www.kernel.org/pub/software/scm/git/ -------------------------------------------------- -[New Topics] +[Graduated to 'master'] -* mh/fetch-follow-remote-head-config (2026-06-16) 7 commits - - fetch: fixup a misaligned comment - - fetch: add configuration variable fetch.followRemoteHEAD - - fetch: refactor do_fetch handling of followRemoteHEAD - - fetch: rename function report_set_head - - t5510: cleanup remote in followRemoteHEAD dangling ref test - - doc: explain fetchRemoteHEADWarn advice - - fetch: fixup set_head advice for warn-if-not-branch +* dl/posix-unused-warning-clang (2026-06-13) 3 commits + (merged to 'next' on 2026-06-15 at 1d7e627c24) + + compat/posix.h: simplify GIT_GNUC_PREREQ() comparison + + compat/posix.h: clean up GIT_GNUC_PREREQ() and UNUSED + + compat/posix.h: enable UNUSED warning messages for Clang - The `fetch.followRemoteHEAD` configuration variable has been added to - provide a default for the per-remote `remote..followRemoteHEAD` - setting. + The UNUSED macro in 'compat/posix.h' has been updated to use a + newly introduced GIT_CLANG_PREREQ macro for compiler version + checks, and the existing GIT_GNUC_PREREQ macro has been modernized + to use explicit major/minor comparisons rather than bit-shifting. + cf. + source: <20260613122711.38662-1-dominik.loidolt@univie.ac.at> - Will merge to 'next'? - source: <20260616222606.1003521-1-m@lfurio.us> +* en/commit-graph-timestamp-fix (2026-06-13) 1 commit + (merged to 'next' on 2026-06-16 at 13248b8196) + + commit-graph: use timestamp_t for max parent generation accumulator -* ps/refs-writing-subcommands (2026-06-17) 5 commits - - builtin/refs: add "rename" subcommand - - builtin/refs: add "create" subcommand - - builtin/refs: add "update" subcommand - - builtin/refs: add "delete" subcommand - - builtin/refs: drop `the_repository` + compute_reachable_generation_numbers() in commit-graph used a 32-bit + integer to accumulate parent generations, which is OK for generation + number v1 (topological levels), but with generation number v2 + (adjusted committer timestamps), it truncated timestamps beyond + 2106. Fixed by widening the accumulator to timestamp_t. + cf. <09e50180-e165-48d8-a9d0-485283342f5c@gmail.com> + source: - The "git refs" toolbox has been extended with new "create", "delete", - "update", and "rename" subcommands to create, delete, update, and - rename references, respectively. - Will merge to 'next'? - source: <20260617-pks-refs-writing-subcommands-v2-0-07f3d18336f9@pks.im> +* jc/t1400-fifo-cleanup (2026-06-10) 1 commit + (merged to 'next' on 2026-06-15 at 7d5acd110a) + + t1400: have fifo test clean after itself + Test cleanup. + cf. + source: -* po/hash-object-size-t (2026-06-16) 6 commits - - hash-object: add a >4GB/LLP64 test case using filtered input - - hash-object: add another >4GB/LLP64 test case - - hash-object --stdin: verify that it works with >4GB/LLP64 - - hash algorithms: use size_t for section lengths - - object-file.c: use size_t for header lengths - - hash-object: demonstrate a >4GB/LLP64 problem - Support for hashing loose or packed objects larger than 4GB on Windows - and other LLP64 platforms has been improved by converting object header - buffers and data-handling functions from 'unsigned long' to 'size_t'. +* js/objects-larger-than-4gb-on-windows (2026-06-18) 1 commit + (merged to 'next' on 2026-06-18 at 99d7cf9126) + + zlib: properly clamp to uLong - Will merge to 'next'? - source: + A hotfix to an earlier attempt to update code paths that assumed + "unsigned long" was long enough for "size_t". + source: --------------------------------------------------- -[Graduated to 'master'] -* ab/index-pack-retain-child-bases (2026-06-01) 1 commit - (merged to 'next' on 2026-06-12 at 625f76ac4c) - + index-pack: retain child bases in delta cache +* ps/transport-helper-tsan-fix (2026-06-09) 1 commit + (merged to 'next' on 2026-06-15 at 0857e6696f) + + transport-helper: fix TSAN race in transfer_debug() + + The TSAN race in transfer_debug() within transport-helper.c has been + resolved by initializing the debug flag early in + bidirectional_transfer_loop() before spawning worker threads, allowing + the removal of a TSAN suppression. + cf. <20260609002833.GE358144@coredump.intra.peff.net> + cf. <20260611083320.GI2191159@coredump.intra.peff.net> + source: <20260609134741.4727-2-pushkarkumarsingh1970@gmail.com> + + +* ta/doc-config-adoc-fixes (2026-06-11) 3 commits + (merged to 'next' on 2026-06-15 at 93340b5cf0) + + doc: git-config: escape erroneous highlight markup + + doc: config/sideband: fix description list delimiter + + doc: config: terminate runaway lists + + Various AsciiDoc markup fixes in 'git config' documentation and + related files to ensure lists and formatting are rendered correctly. + cf. <20260612045329.GA593075@coredump.intra.peff.net> + source: <20260611161946.12166-1-taahol@utu.fi> - "git index-pack" has been optimized by retaining child bases in the - delta cache instead of immediately freeing them, letting the existing - cache limit policy decide eviction. - source: +* td/describe-tag-iteration (2026-06-10) 1 commit + (merged to 'next' on 2026-06-15 at 1ae171f3b7) + + describe: limit default ref iteration to tags -* jd/unpack-trees-wo-the-repository (2026-03-31) 1 commit - (merged to 'next' on 2026-06-11 at 3d7788721e) - + unpack-trees: use repository from index instead of global + 'git describe' has been taught to pass the 'refs/tags/' prefix down to + the ref iterator when '--all' is not requested, avoiding unnecessary + iteration over non-tag refs. + cf. <20260611064912.GC2191159@coredump.intra.peff.net> + source: <20260610-describe-tag-ref-scope-v3-1-5aa63ab279f7@gmail.com> - A handful of inappropriate uses of the_repository have been - rewritten to use the right repository structure instance in the - unpack-trees.c codepath. - cf. - source: +* td/ls-files-pathspec-prefilter (2026-06-11) 1 commit + (merged to 'next' on 2026-06-15 at 38918c4cfd) + + ls-files: filter pathspec before lstat + + `git ls-files --modified` and `git ls-files --deleted` have been + optimized to filter with pathspec before calling lstat() when there is + only a single pathspec item, avoiding unnecessary filesystem access + for entries that will not be shown. + cf. + source: <20260611-ls-files-pathspec-lstat-v3-1-f967e1a00c13@gmail.com> + +-------------------------------------------------- +[New Topics] + +* jc/submittingpatches-design-critiques (2026-06-19) 1 commit + - SubmittingPatches: address design critiques + + The documentation in SubmittingPatches has been updated to clarify how + patch contributors should respond to design and viability critiques, + and how the resolution of such critiques should be recorded in the + final commit messages. + + Needs review. + source: -* jk/describe-contains-all-match-fix (2026-06-01) 1 commit - (merged to 'next' on 2026-06-11 at a95871538b) - + describe: fix --exclude, --match with --contains and --all - The 'git describe --contains --all' command has been fixed to - properly honor the '--match' and '--exclude' options by passing - them down to 'git name-rev' with the appropriate reference - prefixes. - source: <20260601233727.43558-1-jacob.e.keller@intel.com> +* wy/doc-clarify-review-replies (2026-06-17) 2 commits + - doc: advise batching patch rerolls + - doc: encourage review replies before rerolling + Documentation on community contribution guidelines has been updated to + encourage replying to review comments before rerolling, and to advise + a default limit of at most one reroll per day to give reviewers across + different time zones enough time to participate. + + Expecting a reroll. + cf. + source: -* js/osxkeychain-build-wo-rust (2026-06-17) 1 commit - (merged to 'next' on 2026-06-17 at d5f6cec43d) - + osxkeychain: fix build with Rust - Build fix. - source: +* ps/gitlab-ci-windows (2026-06-15) 1 commit + - gitlab-ci: migrate Windows builds away from Chocolatey + Wean the Windows builds in GitLab CI procedure away from + (unfortunately unreliable) Chocolatey to install dependencies. -* js/win-kill-child-more-gently (2026-06-04) 2 commits - (merged to 'next' on 2026-06-11 at b4a2299e7e) - + mingw: really handle SIGINT - + mingw: kill child processes in a gentler way + Will merge to 'next'? + cf. + source: <20260615-b4-pks-gitlab-ci-drop-chocolatey-v1-1-51a6e7d5e388@pks.im> - Advanced emulation of kill() used on Windows in GfW has been - upstreamed to improve the symptoms like left-behind .lock files and - that fails to let the child clean-up itself when it gets killed. - source: +* ty/migrate-ignorecase (2026-06-19) 2 commits + - config: use repo_ignore_case() to access core.ignorecase + - environment: move ignore_case into repo_config_values -* kk/streaming-walk-pqueue (2026-05-27) 3 commits - (merged to 'next' on 2026-06-11 at 1466219fc9) - + revision: use priority queue for non-limited streaming walks - + revision: introduce rev_walk_mode to clarify get_revision_1() - + pack-objects: call release_revisions() after cruft traversal + The global configuration variable ignore_case (representing the + core.ignorecase configuration) has been migrated into struct + repo_config_values to tie it to a specific repository instance. + + Needs review. + source: <20260619155152.642760-1-cat@malon.dev> - Streaming revision walks have been optimized by using a priority queue - for date-sorting commits, speeding up walks repositories with many - merges. - source: +* mm/line-log-limited-ops (2026-06-18) 7 commits + - diffcore-pickaxe: scope -G to the -L tracked range + - diff: support --check with -L line ranges + - line-log: support diff stat formats with -L + - diff: extract a line-range diff helper for reuse + - diff: emit -L hunk headers via xdiff's formatter + - diff: simplify the line-range filter by classifying removals immediately + - diff: rename and group the line-range filter for clarity -* mf/revision-max-count-oldest (2026-06-10) 2 commits - (merged to 'next' on 2026-06-11 at c89a71798a) - + bash-completions: add --max-count-oldest - (merged to 'next' on 2026-06-09 at 076600fa21) - + revision.c: implement --max-count-oldest + "git log -L:" learned to limit various "diff" operations + like --stat, --check, -G, to the specified range:path. - "git rev-list" (and "git log" family of commands) learned a new "--max-count-oldest" - that picks oldest N commits in the range instead of the usual newest. - source: + Waiting for response(s) to review comment(s). + cf. + source: -* mm/subprocess-handshake-fix (2026-06-01) 1 commit - (merged to 'next' on 2026-06-11 at b649c3a97c) - + sub-process: use gentle handshake to avoid die() on startup failure +* hn/history-squash (2026-06-18) 6 commits + - SQUASH??? avoid test_grep lint triggering on uses of raw grep + - SQUASH??? avoid test number clash by moving 3454-h-squash to 3455 + - history: re-edit a squash with every message + - history: add squash subcommand to fold a range + - history: give commit_tree_ext a message template + - history: extract helper for a commit's parent tree - The subprocess handshake during startup has been made gentler by using - packet_read_line_gently() instead of packet_read_line() to prevent the - parent Git process from dying abruptly when a configured subprocess - (e.g., a clean/smudge filter) fails to start. - source: + The experimental "git history" command has been taught a new + "squash" subcommand to fold a range of commits into a single commit, + replaying any descendants on top. + Waiting for response(s) to review comment(s). + cf. + source: -* ps/t7527-fix-tap-output (2026-06-04) 8 commits - (merged to 'next' on 2026-06-11 at b5a4cd26ee) - + t: let prove fail when parsing invalid TAP output - + t/lib-git-p4: silence output when killing p4d and its watchdog - + t/test-lib: silence EBUSY errors on Windows during test cleanup - + t7810: turn MB_REGEX check into a lazy prereq - + t7527: fix broken TAP output - + ci: unify Linux images across GitLab and GitHub - + gitlab-ci: add missing Linux jobs - + gitlab-ci: rearrange Linux jobs to match GitHub's order - A recent regression in t7527 that broke TAP output has been fixed, - some other test noise that also broke TAP output has been silenced, - and 'prove' is now configured to fail on invalid TAP output to - prevent future regressions. - source: <20260604-pks-t7527-fix-tap-output-v3-0-7d766ed481e4@pks.im> +* ps/t4216-tap-fix (2026-06-19) 1 commit + - t4216: fix no-op test that breaks TAP output + TAP output breakage fix. -* ta/typofixes (2026-06-04) 1 commit - (merged to 'next' on 2026-06-11 at dfb63ded01) - + docs: fix typos + Waiting for response(s) to review comment(s). + cf. + source: <20260619-pks-t4216-drop-unused-prereq-v1-1-2ce0d7bea088@pks.im> - Typofixes - cf. - source: <20260604131457.19215-1-taahol@utu.fi> +* hn/macos-linker-warning (2026-06-19) 1 commit + - config.mak.uname: avoid macOS dup-library warning -* wy/docs-typofixes (2026-05-29) 1 commit - (merged to 'next' on 2026-06-11 at bd53c91110) - + docs: fix typos and grammar + Xcode 15 and later has a linker set to complain when the same library + archive is listed twice on the command line. Squelch the annoyance. - Various typos, grammatical errors, and duplicated words in both - documentation and code comments have been corrected. - source: <7b502e20e9495cd4720496bd6738a1fbeb453410.1780041658.git.wy@wyuan.org> + Will merge to 'next'? + source: -------------------------------------------------- [Stalled] @@ -246,20 +273,70 @@ Release tarballs are available at: -------------------------------------------------- [Cooking] -* kh/submittingpatches-trailers (2026-06-10) 6 commits +* mh/fetch-follow-remote-head-config (2026-06-19) 8 commits + - fetch: fixup a misaligned comment + - fetch: add configuration variable fetch.followRemoteHEAD + - fetch: refactor do_fetch handling of followRemoteHEAD + - fetch: return 0 on known git_fetch_config + - fetch: rename function report_set_head + - t5510: cleanup remote in followRemoteHEAD dangling ref test + - doc: explain fetchRemoteHEADWarn advice + - fetch: fixup set_head advice for warn-if-not-branch + + The `fetch.followRemoteHEAD` configuration variable has been added to + provide a default for the per-remote `remote..followRemoteHEAD` + setting. + + Will merge to 'next'? + cf. + source: <20260619094751.2996804-1-m@lfurio.us> + + +* ps/refs-writing-subcommands (2026-06-17) 5 commits + - builtin/refs: add "rename" subcommand + - builtin/refs: add "create" subcommand + - builtin/refs: add "update" subcommand + - builtin/refs: add "delete" subcommand + - builtin/refs: drop `the_repository` + + The "git refs" toolbox has been extended with new "create", "delete", + "update", and "rename" subcommands to create, delete, update, and + rename references, respectively. + + Needs review. + source: <20260617-pks-refs-writing-subcommands-v2-0-07f3d18336f9@pks.im> + + +* po/hash-object-size-t (2026-06-16) 6 commits + - hash-object: add a >4GB/LLP64 test case using filtered input + - hash-object: add another >4GB/LLP64 test case + - hash-object --stdin: verify that it works with >4GB/LLP64 + - hash algorithms: use size_t for section lengths + - object-file.c: use size_t for header lengths + - hash-object: demonstrate a >4GB/LLP64 problem + + Support for hashing loose or packed objects larger than 4GB on Windows + and other LLP64 platforms has been improved by converting object header + buffers and data-handling functions from 'unsigned long' to 'size_t'. + + Will merge to 'next'. + cf. + source: + + +* kh/submittingpatches-trailers (2026-06-18) 5 commits - SubmittingPatches: note that trailer order matters - SubmittingPatches: be consistent with trailer markup - SubmittingPatches: document Based-on-patch-by trailer - SubmittingPatches: discourage common Linux trailers - - SubmittingPatches: discuss non-ident trailers - SubmittingPatches: encourage trailer use for substantial help The trailer sections in SubmittingPatches have been updated to encourage use of standard trailers. - Waiting for response(s) to review comment(s). - cf. - source: + Will merge to 'next'? + cf. + source: * mv/log-follow-mergy (2026-06-14) 1 commit @@ -285,20 +362,6 @@ Release tarballs are available at: source: <080402ff0ac8127b654dccea59a1bf643df62a5c.1781186476.git.wy@wyuan.org> -* td/ls-files-pathspec-prefilter (2026-06-11) 1 commit - (merged to 'next' on 2026-06-15 at 38918c4cfd) - + ls-files: filter pathspec before lstat - - `git ls-files --modified` and `git ls-files --deleted` have been - optimized to filter with pathspec before calling lstat() when there is - only a single pathspec item, avoiding unnecessary filesystem access - for entries that will not be shown. - - Will merge to 'master'. - cf. - source: <20260611-ls-files-pathspec-lstat-v3-1-f967e1a00c13@gmail.com> - - * tb/midx-incremental-custom-base (2026-06-12) 3 commits - midx-write: include packs above custom incremental base - midx: pass custom '--base' through incremental writes @@ -314,21 +377,6 @@ Release tarballs are available at: source: -* en/commit-graph-timestamp-fix (2026-06-13) 1 commit - (merged to 'next' on 2026-06-16 at 13248b8196) - + commit-graph: use timestamp_t for max parent generation accumulator - - compute_reachable_generation_numbers() in commit-graph used a 32-bit - integer to accumulate parent generations, which is OK for generation - number v1 (topological levels), but with generation number v2 - (adjusted committer timestamps), it truncated timestamps beyond - 2106. Fixed by widening the accumulator to timestamp_t. - - Will merge to 'master'. - cf. <09e50180-e165-48d8-a9d0-485283342f5c@gmail.com> - source: - - * mm/test-grep-lint (2026-06-12) 6 commits - t: add greplint to detect bare grep assertions - t: convert grep assertions to test_grep @@ -342,30 +390,34 @@ Release tarballs are available at: * js/objects-larger-than-4gb-on-windows-more (2026-06-15) 7 commits - - odb: use size_t for object_info.sizep and the size APIs - - packfile,delta: drop the `cast_size_t_to_ulong()` wrappers - - pack-objects: use size_t for in-core object sizes - - packfile: widen unpack_entry()'s size out-parameter to size_t - - pack-objects(check_pack_inflate()): use size_t instead of unsigned long - - patch-delta: use size_t for sizes - - compat/msvc: use _chsize_s for ftruncate + (merged to 'next' on 2026-06-18 at 2b3ac350e6) + + odb: use size_t for object_info.sizep and the size APIs + + packfile,delta: drop the `cast_size_t_to_ulong()` wrappers + + pack-objects: use size_t for in-core object sizes + + packfile: widen unpack_entry()'s size out-parameter to size_t + + pack-objects(check_pack_inflate()): use size_t instead of unsigned long + + patch-delta: use size_t for sizes + + compat/msvc: use _chsize_s for ftruncate - Needs review. + Will cook in 'next'. + cf. source: * kw/gitattributes-typofix (2026-06-15) 1 commit - - gitattributes: fix eol attribute for Perl scripts + (merged to 'next' on 2026-06-17 at 14ff167ef8) + + gitattributes: fix eol attribute for Perl scripts - Will merge to 'next'. + Will cook in 'next'. cf. source: * rs/cat-file-default-format-optim (2026-06-14) 1 commit - - cat-file: speed up default format + (merged to 'next' on 2026-06-17 at 43ed8b3969) + + cat-file: speed up default format - Will merge to 'next'. + Will cook in 'next'. cf. <20260615165326.GA91269@coredump.intra.peff.net> source: <5a7ed929-6fe0-496c-83bd-65dee57c2241@web.de> @@ -386,8 +438,9 @@ Release tarballs are available at: The parse-options library learned to auto-correct misspelled subcommand names. - Waiting for response(s) to review comment(s). + Expecting a reroll. cf. + cf. source: @@ -400,20 +453,10 @@ Release tarballs are available at: into prio_queue itself, speeding up commit traversal workflows and simplifying callers. - Comments? + Needs review. source: -* kk/remove-get-reachable-subset (2026-06-11) 1 commit - - commit-reach: remove get_reachable_subset() - - API clean-up. - - Retracted. - cf. - source: - - * td/ref-filter-memoize-contains (2026-06-12) 3 commits - commit-reach: die on contains walk errors - ref-filter: memoize --contains with generations @@ -443,33 +486,6 @@ Release tarballs are available at: source: <20260616-toon-git-replay-drop-merges-v3-0-153e9eb99ce1@iotcl.com> -* td/describe-tag-iteration (2026-06-10) 1 commit - (merged to 'next' on 2026-06-15 at 1ae171f3b7) - + describe: limit default ref iteration to tags - - 'git describe' has been taught to pass the 'refs/tags/' prefix down to - the ref iterator when '--all' is not requested, avoiding unnecessary - iteration over non-tag refs. - - Will merge to 'master'. - cf. <20260611064912.GC2191159@coredump.intra.peff.net> - source: <20260610-describe-tag-ref-scope-v3-1-5aa63ab279f7@gmail.com> - - -* ta/doc-config-adoc-fixes (2026-06-11) 3 commits - (merged to 'next' on 2026-06-15 at 93340b5cf0) - + doc: git-config: escape erroneous highlight markup - + doc: config/sideband: fix description list delimiter - + doc: config: terminate runaway lists - - Various AsciiDoc markup fixes in 'git config' documentation and - related files to ensure lists and formatting are rendered correctly. - - Will merge to 'master'. - cf. <20260612045329.GA593075@coredump.intra.peff.net> - source: <20260611161946.12166-1-taahol@utu.fi> - - * ps/setup-drop-global-state (2026-06-10) 8 commits (merged to 'next' on 2026-06-15 at d9a8b88d47) + treewide: drop USE_THE_REPOSITORY_VARIABLE @@ -492,9 +508,11 @@ Release tarballs are available at: source: <20260611-b4-pks-setup-drop-global-state-v2-0-a6f7269c841d@pks.im> -* ps/refs-avoid-chdir-notify-reparent (2026-06-15) 9 commits +* ps/refs-avoid-chdir-notify-reparent (2026-06-19) 11 commits - refs: drop local buffer in `refs_compute_filesystem_location()` - refs: fix recursing `get_main_ref_store()` with "onbranch" config + - refs/reftable-backend: manually parse "core.sharedRepository" + - refs: move parsing of "core.logAllRefUpdates" back into ref stores - repository: free main reference database - chdir-notify: drop unused `chdir_notify_reparent()` - refs: unregister reference stores from "chdir_notify" @@ -509,87 +527,49 @@ Release tarballs are available at: reference database is constructed with an "onbranch" condition. Needs review. - source: <20260615-b4-pks-refs-avoid-chdir-notify-reparent-v2-0-f4854aa99859@pks.im> - - -* jc/t1400-fifo-cleanup (2026-06-10) 1 commit - (merged to 'next' on 2026-06-15 at 7d5acd110a) - + t1400: have fifo test clean after itself - - Test cleanup. - - Will merge to 'master'. - cf. - source: + source: <20260619-b4-pks-refs-avoid-chdir-notify-reparent-v4-0-a6472be7acc4@pks.im> * ps/odb-source-packed (2026-06-16) 18 commits - - odb/source-packed: drop pointer to "files" parent source - - midx: refactor interfaces to work on "packed" source - - odb/source-packed: stub out remaining functions - - odb/source-packed: wire up `freshen_object()` callback - - odb/source-packed: wire up `find_abbrev_len()` callback - - odb/source-packed: wire up `count_objects()` callback - - odb/source-packed: wire up `for_each_object()` callback - - odb/source-packed: wire up `read_object_stream()` callback - - odb/source-packed: wire up `read_object_info()` callback - - packfile: use higher-level interface to implement `has_object_pack()` - - odb/source-packed: wire up `reprepare()` callback - - odb/source-packed: wire up `close()` callback - - odb/source-packed: start converting to a proper `struct odb_source` - - odb/source-packed: store pointer to "files" instead of generic source - - packfile: move packed source into "odb/" subsystem - - packfile: split out packfile list logic - - packfile: rename `struct packfile_store` to `odb_source_packed` - - Merge branch 'ps/odb-source-loose' into ps/odb-source-packed + (merged to 'next' on 2026-06-19 at dcf0c084e4) + + odb/source-packed: drop pointer to "files" parent source + + midx: refactor interfaces to work on "packed" source + + odb/source-packed: stub out remaining functions + + odb/source-packed: wire up `freshen_object()` callback + + odb/source-packed: wire up `find_abbrev_len()` callback + + odb/source-packed: wire up `count_objects()` callback + + odb/source-packed: wire up `for_each_object()` callback + + odb/source-packed: wire up `read_object_stream()` callback + + odb/source-packed: wire up `read_object_info()` callback + + packfile: use higher-level interface to implement `has_object_pack()` + + odb/source-packed: wire up `reprepare()` callback + + odb/source-packed: wire up `close()` callback + + odb/source-packed: start converting to a proper `struct odb_source` + + odb/source-packed: store pointer to "files" instead of generic source + + packfile: move packed source into "odb/" subsystem + + packfile: split out packfile list logic + + packfile: rename `struct packfile_store` to `odb_source_packed` + + Merge branch 'ps/odb-source-loose' into ps/odb-source-packed The packed object source has been refactored into a proper struct odb_source. - Needs review. + Will cook in 'next'. + cf. source: <20260617-pks-odb-source-packed-v3-0-b5c7583cd795@pks.im> -* ps/transport-helper-tsan-fix (2026-06-09) 1 commit - (merged to 'next' on 2026-06-15 at 0857e6696f) - + transport-helper: fix TSAN race in transfer_debug() - - The TSAN race in transfer_debug() within transport-helper.c has been - resolved by initializing the debug flag early in - bidirectional_transfer_loop() before spawning worker threads, allowing - the removal of a TSAN suppression. - - Will merge to 'master'. - cf. <20260609002833.GE358144@coredump.intra.peff.net> - cf. <20260611083320.GI2191159@coredump.intra.peff.net> - source: <20260609134741.4727-2-pushkarkumarsingh1970@gmail.com> - - -* dl/posix-unused-warning-clang (2026-06-13) 3 commits - (merged to 'next' on 2026-06-15 at 1d7e627c24) - + compat/posix.h: simplify GIT_GNUC_PREREQ() comparison - + compat/posix.h: clean up GIT_GNUC_PREREQ() and UNUSED - + compat/posix.h: enable UNUSED warning messages for Clang - - The UNUSED macro in 'compat/posix.h' has been updated to use a - newly introduced GIT_CLANG_PREREQ macro for compiler version - checks, and the existing GIT_GNUC_PREREQ macro has been modernized - to use explicit major/minor comparisons rather than bit-shifting. - - Will merge to 'master'. - cf. - source: <20260613122711.38662-1-dominik.loidolt@univie.ac.at> - - * td/ref-filter-restore-prefix-iteration (2026-06-12) 1 commit - - ref-filter: restore prefix-scoped iteration + (merged to 'next' on 2026-06-19 at a19dbb4193) + + ref-filter: restore prefix-scoped iteration Commands that list branches and tags (like git branch and git tag) have been optimized to pass the namespace prefix when initializing their ref iterator, avoiding a loose-ref scaling regression in repositories with many unrelated loose references. - Needs review. + Will cook in 'next'. + cf. source: <20260612-fix-git-branch-regression-v4-1-f150038c02f4@gmail.com> @@ -607,21 +587,7 @@ Release tarballs are available at: source: <20260610124353.149874-2-cat@malon.dev> -* ds/config-no-includes (2026-06-08) 3 commits - - git: add --no-includes top-level option - - config: add GIT_CONFIG_INCLUDES - - git-config.adoc: fix paragraph break - - Two new mechanisms, the GIT_CONFIG_INCLUDES environment variable and - the top-level --no-includes command-line option, have been introduced - to ignore configuration include directives. - - Retracted. - cf. <539713c4-b291-42e6-8541-a16a454518f5@gmail.com> - source: - - -* ps/cat-file-remote-object-info (2026-06-08) 12 commits +* ps/cat-file-remote-object-info (2026-06-19) 12 commits - cat-file: make remote-object-info allow-list dynamic - cat-file: validate remote atoms with allow_list - cat-file: add remote-object-info to batch-command @@ -631,7 +597,7 @@ Release tarballs are available at: - connect: refactor packet writing - fetch-pack: move function to connect.c - t1006: split test utility functions into new "lib-cat-file.sh" - - cat-file: add declaration of variable i inside its for loop + - cat-file: declare loop counter inside for() - git-compat-util: add strtoul_ul() with error handling - transport-helper: fix memory leak of helper on disconnect @@ -644,9 +610,8 @@ Release tarballs are available at: server-advertised capabilities and safely returns empty strings for inapplicable or unsupported fields. - Expecting a reroll. - cf. - source: <20260608-ps-eric-work-rebase-v12-0-5338b766e658@gmail.com> + Needs review. + source: <20260619-ps-eric-work-rebase-v13-0-3d4c7315d2f8@gmail.com> * ap/http-redirect-wwwauth-fix (2026-06-02) 1 commit @@ -663,15 +628,16 @@ Release tarballs are available at: * ps/doc-recommend-b4 (2026-06-15) 3 commits - - b4: introduce configuration for the Git project - - MyFirstContribution: recommend the use of b4 - - MyFirstContribution: recommend shallow threading of cover letters + (merged to 'next' on 2026-06-17 at dd9a463369) + + b4: introduce configuration for the Git project + + MyFirstContribution: recommend the use of b4 + + MyFirstContribution: recommend shallow threading of cover letters Project-specific configuration for b4 has been introduced, and the documentation has been updated to recommend using it as a streamlined method for submitting patches. - Will merge to 'next'. + Will cook in 'next'. cf. <87eci7yomp.fsf@emacs.iotcl.com> source: <20260615-pks-b4-v4-0-22cfca8f19c5@pks.im> @@ -706,6 +672,7 @@ Release tarballs are available at: Expecting a reroll. cf. + cf. source: @@ -725,10 +692,11 @@ Release tarballs are available at: Waiting for response(s) to review comment(s). cf. <849c659f-efa8-430a-bfac-0c26a3ed1aaa@gmail.com> cf. + cf. <7afdaf77-07f5-4d48-955d-e153d148f647@gmail.com> source: -* ty/migrate-trust-executable-bit (2026-06-12) 3 commits +* ty/migrate-trust-executable-bit (2026-06-19) 3 commits - environment: move trust_executable_bit into repo_config_values - read-cache: move 'ce_mode_from_stat()' to 'read-cache.c' - read-cache: remove redundant extern declarations @@ -738,7 +706,7 @@ Release tarballs are available at: to a specific repository instance. Needs review. - source: <20260612160527.167203-1-cat@malon.dev> + source: <20260619162105.648495-1-cat@malon.dev> * kk/prio-queue-cascade-sift (2026-06-01) 1 commit @@ -791,13 +759,14 @@ Release tarballs are available at: * jk/setup-gitfile-diag-fix (2026-06-16) 1 commit - - read_gitfile(): simplify NOT_A_REPO error message + (merged to 'next' on 2026-06-18 at b63b3d1f25) + + read_gitfile(): simplify NOT_A_REPO error message A regression in the error diagnosis code for invalid .git files has been fixed, avoiding a potential NULL-pointer crash when reporting that a .git file does not point to a valid repository. - Will merge to 'next'? + Will cook in 'next'. cf. source: <20260616123516.GA2301231@coredump.intra.peff.net> @@ -816,8 +785,8 @@ Release tarballs are available at: Documentation updates. - Waiting for response(s) to review comment(s). - cf. + Expecting a reroll. + cf. <729baf6b-53ea-4e8d-95ab-5935667e66c2@app.fastmail.com> source: @@ -870,7 +839,7 @@ Release tarballs are available at: source: -* hn/branch-prune-merged (2026-06-15) 7 commits +* hn/branch-delete-merged (2026-06-18) 7 commits - branch: add --dry-run for --delete-merged - branch: add branch..deleteMerged opt-out - branch: add --delete-merged @@ -879,14 +848,16 @@ Release tarballs are available at: - branch: convert delete_branches() to a flags argument - branch: add --forked filter for --list mode - "git branch" command learned "--prune-merged" option to remove + "git branch" command learned "--delete-merged" option to remove local branches that have already been merged to the remote-tracking branches they track. Waiting for response(s) to review comment(s). cf. <78b6dfdd-df61-4c44-96eb-b527cb26243c@gmail.com> cf. - source: + cf. <37f2a483-c8bf-4c24-84de-c6233cc20b25@gmail.com> + cf. + source: * cc/promisor-auto-config-url-more (2026-05-27) 8 commits @@ -911,7 +882,7 @@ Release tarballs are available at: source: <20260527140820.1438165-1-christian.couder@gmail.com> -* hn/checkout-track-fetch (2026-05-23) 2 commits +* hn/checkout-track-fetch (2026-06-18) 2 commits - checkout: extend --track with a "fetch" mode to refresh start-point - branch: expose helpers for finding the remote owning a tracking ref @@ -919,20 +890,21 @@ Release tarballs are available at: from the remote the new branch will work with. Needs review. - source: + source: * en/ort-harden-against-corrupt-trees (2026-06-13) 5 commits - - cache-tree: fix verify_cache() to catch non-adjacent D/F conflicts - - merge-ort: abort merge when trees have duplicate entries - - merge-ort: free diff pairs queue in clear_or_reinit_internal_opts() - - merge-ort: drop unnecessary show_all_errors from collect_merge_info() - - merge-ort: propagate callback errors from traverse_trees_wrapper() + (merged to 'next' on 2026-06-18 at e51bee59ca) + + cache-tree: fix verify_cache() to catch non-adjacent D/F conflicts + + merge-ort: abort merge when trees have duplicate entries + + merge-ort: free diff pairs queue in clear_or_reinit_internal_opts() + + merge-ort: drop unnecessary show_all_errors from collect_merge_info() + + merge-ort: propagate callback errors from traverse_trees_wrapper() "ort" merge backend handles merging corrupt trees better by aborting when it should. - Will merge to 'next'? + Will cook in 'next'. cf. source: @@ -973,15 +945,15 @@ Release tarballs are available at: appearing falsely related to unrelated commits rendered immediately above them. - Will merge to 'next'? - cf. + Waiting for response(s) to review comment(s). + cf. <20260617202744.GA3465855@coredump.intra.peff.net> source: <20260613-ps-pre-commit-indent-v5-0-8d308efea63d@gmail.com> -------------------------------------------------- [Discarded] * kk/fetch-store-ref-optimization (2026-05-24) 1 commit - - fetch: pass transport to post-fetch connectivity check + . fetch: pass transport to post-fetch connectivity check When fetching from a transport that provides a self-contained pack, pass the transport pointer to the post-fetch `check_connected()` call @@ -993,12 +965,12 @@ Release tarballs are available at: * lp/repack-propagate-promisor-debugging-info (2026-04-18) 6 commits - - repack-promisor: add missing headers - - t7703: test for promisor file content after geometric repack - - t7700: test for promisor file content after repack - - repack-promisor: preserve content of promisor files after repack - - repack-promisor add helper to fill promisor file after repack - - pack-write: add explanation to promisor file content + . repack-promisor: add missing headers + . t7703: test for promisor file content after geometric repack + . t7700: test for promisor file content after repack + . repack-promisor: preserve content of promisor files after repack + . repack-promisor add helper to fill promisor file after repack + . pack-write: add explanation to promisor file content When fetching objects into a lazily cloned repository, .promisor files are created with information meant to help debugging. "git @@ -1033,3 +1005,27 @@ Release tarballs are available at: Retracted. cf. source: <20260305233452.3727126-8-gitster@pobox.com> + + +* kk/remove-get-reachable-subset (2026-06-11) 1 commit + . commit-reach: remove get_reachable_subset() + + API clean-up. + + Retracted. + cf. + source: + + +* ds/config-no-includes (2026-06-08) 3 commits + . git: add --no-includes top-level option + . config: add GIT_CONFIG_INCLUDES + . git-config.adoc: fix paragraph break + + Two new mechanisms, the GIT_CONFIG_INCLUDES environment variable and + the top-level --no-includes command-line option, have been introduced + to ignore configuration include directives. + + Retracted. + cf. <539713c4-b291-42e6-8541-a16a454518f5@gmail.com> + source: