To: git@vger.kernel.org
-Subject: What's cooking in git.git (Jun 2026, #11)
+Subject: What's cooking in git.git (Jul 2026, #01)
X-master-at: e9019fcafe0040228b8631c30f97ae1adb61bcdc
X-next-at: 602f6c329a7d99df269d382df353b4e1bbbbd8aa
Bcc: lwn@lwn.net, gitster@pobox.com
-What's cooking in git.git (Jun 2026, #11)
+What's cooking in git.git (Jul 2026, #01)
-----------------------------------------
Here are the topics that have been cooking in my tree. Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and is a candidate to be in a
future release). Commits prefixed with '-' are only in 'seen', and
-aren't considered "accepted" at all and may be annotated with a URL
+aren't considered "accepted" at all. They may be annotated with a URL
to a message that raises issues but they are by no means exhaustive.
A topic without enough support may be discarded after a long period
-of no activity (of course they can be resubmitted when new interests
-arise).
-
-Git 2.55 (final) has been tagged, with a few last-minute fixes.
+of no activity (of course, it can be resubmitted when new interest
+arises).
+
+Git 2.55 (final) has been tagged. The next release is tentatively
+called Git 2.56. This week is the 0th week of the cycle, which is
+time to see if there are any brown paper bag breakages and
+regressions we need to fix. Next week, I plan to start merging the
+topics that have been cooking in 'next' down to 'master'. It has
+been customary to rewind 'next' and rebuild it on top of 'master'
+soon after a major release, but IIRC, we didn't do so in Git 2.55;
+perhaps we can do without rebuilding it this cycle as well. We'll
+see.
Copies of the source code to Git live in many repositories, and the
following is a list of the ones I push into or their mirrors. Some
--------------------------------------------------
[New Topics]
-* tb/repack-geometric-cruft (2026-06-28) 11 commits
- - SQUASH??? bare grep !???
- - repack: support combining '--geometric' with '--cruft'
- - pack-objects: support '--refs-snapshot' with 'follow-reachable'
- - pack-objects: introduce '--stdin-packs=follow-reachable'
- - pack-objects: extract `stdin_packs_add_all_pack_entries()`
- - repack-geometry: drop unused redundant-pack removal
- - repack: delete geometric packs via existing_packs
- - repack: teach MIDX retention about geometric rollups
- - repack: mark geometric progression of packs as retained
- - repack: extract `locate_existing_pack()` helper
- - repack: unconditionally exclude non-kept packs
+* kk/commit-reach-find-all-fix (2026-06-29) 2 commits
+ - commit-reach: guard !FIND_ALL early exit with generation ordering check
+ - t6600: add test for merge-base early exit with clock skew
- Teach `git repack` to accept `--geometric` and `--cruft`
- together. When both are given, the geometric repack rolls up non-cruft
- packs as usual, while a separate cruft pack is written to collect
- unreachable objects.
+ The early-exit optimization in paint_down_to_common() has been gated
+ on the queue being generation-ordered. This fixes a bug where git
+ merge-base (without --all) could return incorrect results on
+ repositories with v1 commit graphs and clock skew.
- Needs review.
- cf. <xmqqpl1d56dd.fsf@gitster.g>
- source: <cover.1782500507.git.me@ttaylorr.com>
+ Comments?
+ cf. <xmqqa4sdw55v.fsf@gitster.g>
+ source: <pull.2162.git.1782739162.gitgitgadget@gmail.com>
-* jk/reftable-leakfix (2026-06-28) 1 commit
- - reftable: fix unlikely leak on API error
+* bl/t7412-use-test-path-helpers (2026-06-29) 1 commit
+ - submodule absorbgitdirs tests: use test_* helper functions
- Leakfix.
+ t7412 that tests "git submodule absorbgitdirs" has been modernized to
+ use test_path_is_file, test_path_is_dir, and test_path_is_missing
+ helper functions instead of raw "test -[fde]" commands.
- Will merge to 'next'?
- cf. <akIPBJLtPqDjQt-A@pks.im>
- source: <20260628090314.GA661068@coredump.intra.peff.net>
+ Waiting for response(s) to review comment(s).
+ cf. <akTKHfKPsP3-Rn31@pks.im>
+ source: <20260630020220.1559190-1-bblima@usp.br>
-* sg/t3420-do-not-grep-in-missing-file (2021-10-10) 1 commit
- (merged to 'next' on 2026-06-29 at 2bf33c6a40)
- + t3420-rebase-autostash: don't try to grep non-existing files
+* jk/format-patch-leakfix (2026-06-29) 2 commits
+ - format-patch: fix leak of rev_info in prepare_bases()
+ - t: move LSan errors from stdout to stderr
- Test fix.
+ A memory leak in the '--base' handling of 'git format-patch' has been
+ plugged, and the leak-reporting of the test suite when running under a
+ TAP harness has been improved.
- Will merge to 'master'.
- source: <20211010172809.1472914-1-szeder.dev@gmail.com>
+ Will merge to 'next'?
+ cf. <akOZy-BygZS8fqPM@pks.im>
+ source: <20260630063944.GA3733670@coredump.intra.peff.net>
+
+
+* ps/setup-split-discovery-and-setup (2026-06-30) 16 commits
+ - setup: mark `set_git_work_tree()` as file-local
+ - setup: pass worktree to `init_db()`
+ - setup: drop redundant configuration of `startup_info->have_repository`
+ - setup: make repository discovery self-contained
+ - setup: propagate prefix via repository discovery
+ - setup: drop static `cwd` variable
+ - setup: move prefix into repository
+ - setup: embed repository format in discovery
+ - setup: introduce explicit repository discovery
+ - setup: split up concerns of `setup_git_env_internal()`
+ - setup: unify setup of shallow file
+ - setup: mark bogus worktree in `apply_repository_format()`
+ - setup: rename `check_repository_format_gently()`
+ - Merge branch 'jk/repo-info-path-keys' into ps/setup-split-discovery-and-setup
+ - Merge branch 'ps/setup-drop-global-state' into ps/setup-split-discovery-and-setup
+ - Merge branch 'ps/refs-onbranch-fixes' into ps/setup-split-discovery-and-setup
+ (this branch uses jk/repo-info-path-keys, ps/refs-onbranch-fixes and ps/setup-drop-global-state.)
+
+ The repository discovery and repository configuration phases, which
+ were previously intertwined in 'setup.c', have been split. Repository
+ discovery now populates a 'struct repo_discovery' without modifying
+ the repository state, and repository configuration takes this
+ structure to initialize the repository, paving the way for clean
+ unification of repository configuration.
---------------------------------------------------
-[Graduated to 'master']
+ Needs review.
+ source: <20260630-pks-setup-split-discovery-and-setup-v1-0-13864eb5a032@pks.im>
+
+
+* pw/rebase-drop-notes-with-commit (2026-06-30) 15 commits
+ - amend! sequencer: simplify pick_one_commit()
+ - amend! sequencer: remove unnecessary "or" in pick_one_commit()
+ - fixup! sequencer: never reschedule on failed commit
+ - fixup! sequencer: be more careful with external merge
+ - sequencer: do not record dropped commits as rewritten
+ - sequencer: use an enum to represent result of picking a commit
+ - sequencer: return early from pick_one_commit() on success
+ - sequencer: simplify pick_one_commit()
+ - sequencer: remove unnecessary condition in pick_one_commit()
+ - sequencer: simplify handing of fixup with conflicts
+ - sequencer: remove unnecessary "or" in pick_one_commit()
+ - sequencer: never reschedule on failed commit
+ - sequencer: be more careful with external merge
+ - sequencer: move definition of is_final_fixup()
+ - t3400: restore coverage for note copying with apply backend
+
+ The rebase post-rewrite notes-copying logic has been corrected. When a
+ commit is dropped during rebase (e.g., because its changes are already
+ upstream), we no longer record it as rewritten, preventing its notes
+ from being copied to an unrelated commit.
-* jk/t5551-expensive-test-timeouts-fix (2026-06-28) 2 commits
- - t5551: put many-tags case into its own repo
- - t/lib-httpd: bump apache timeout
+ Expecting a reroll.
+ cf. <dce74d17-eefd-40bb-82f3-f6b3179cc2b6@gmail.com>
+ source: <cover.1782833268.git.phillip.wood@dunelm.org.uk>
- The Apache timeout in HTTP tests has been increased to prevent test
- failures on heavily loaded CI runners. The tests creating an
- enormous number of refs have been isolated to their own
- repositories to avoid slowing down subsequent tests.
- cf. <akIPBJLtPqDjQt-A@pks.im>
- source: <20260628075716.GA3525066@coredump.intra.peff.net>
+* jk/bloom-leak-fixes (2026-06-30) 3 commits
+ - line-log: drop extra copy of range with bloom filters
+ - revision: avoid leaking bloom keyvecs with multiple traversals
+ - bloom: make bloom-filter slab initialization idempotent
-* js/http-https-proxy-fix (2026-06-27) 1 commit
- (merged to 'next' on 2026-06-28 at a7fdf2ec97)
- + http: accept https:// proxies again
+ Plug various memory leaks in the Bloom-filter code paths that are
+ exposed when running tests with the
+ `GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS=1` environment variable.
- We lost ability to use https:// proxies during this cycle; this is
- a hotfix for the regression.
-
- source: <pull.2161.git.1782580676734.gitgitgadget@gmail.com>
+ Will merge to 'next'?
+ cf. <xmqqo6gqobrt.fsf@gitster.g>
+ source: <20260701063538.GA2579765@coredump.intra.peff.net>
-* ps/t4216-tap-fix (2026-06-19) 1 commit
- (merged to 'next' on 2026-06-25 at 42296fc12e)
- + t4216: fix no-op test that breaks TAP output
+* js/ci-dockerized-pid-limit (2026-07-01) 1 commit
+ - ci(dockerized): reduce the PID limit for private repositories
- TAP output breakage fix.
- cf. <xmqq8q82fk8r.fsf@gitster.g>
- source: <20260619-pks-t4216-drop-unused-prereq-v1-1-2ce0d7bea088@pks.im>
+ Dockerized CI jobs running in private GitHub repositories have been
+ adjusted to use explicit process and file limits, preventing resource
+ exhaustion errors on private runners.
+
+ Waiting for response(s) to review comment(s).
+ cf. <xmqq5x2yps4c.fsf@gitster.g>
+ source: <pull.2164.git.1782889484346.gitgitgadget@gmail.com>
+
+
+* js/coverity-fixes (2026-07-01) 13 commits
+ - mingw: make exit_process() own the process handle on all paths
+ - fsmonitor: plug token-data leak on early daemon-startup failures
+ - reftable/table: release filter on error path
+ - imap-send: avoid leaking the IMAP upload buffer
+ - worktree: fix resource leaks when branch creation fails
+ - submodule: fix cwd leak in get_superproject_working_tree()
+ - dir: free allocations on parse-error paths in read_one_dir()
+ - line-log: avoid redundant copy that leaks in process_ranges
+ - run_diff_files: avoid memory leak
+ - run-command: avoid close(-1) in start_command() error paths
+ - download_https_uri_to_file(): do not leak fd upon failure
+ - loose: avoid closing invalid fd on error path
+ - load_one_loose_object_map(): fix resource leak
+
+ A collection of fixes for various resource leaks, invalid file
+ descriptor closures, and process handle ownership issues flagged by
+ Coverity.
+
+ Waiting for response(s) to review comment(s).
+ cf. <akTIMM6qLfDNdg-a@pks.im>
+ source: <pull.2163.git.1782889472.gitgitgadget@gmail.com>
--------------------------------------------------
[Stalled]
+* ap/http-redirect-wwwauth-fix (2026-06-02) 1 commit
+ - http: preserve wwwauth_headers across redirects
+
+ When cURL follows a redirect, the WWW-Authenticate headers from the
+ redirect target were lost because credential_from_url() cleared the
+ credential state. This has been fixed by preserving the collected
+ headers across the redirect update.
+
+ Expecting a reroll for too long, stalled.
+ cf. <5144a29d-a53f-4446-beff-e1f549345bf9@nvidia.com>
+ source: <20260602161150.1527493-1-aplattner@nvidia.com>
+
+
* jt/config-lock-timeout (2026-05-17) 1 commit
- config: retry acquiring config.lock, configurable via core.configLockTimeout
--------------------------------------------------
[Cooking]
+* tb/repack-geometric-cruft (2026-06-28) 11 commits
+ - SQUASH??? bare grep !???
+ - repack: support combining '--geometric' with '--cruft'
+ - pack-objects: support '--refs-snapshot' with 'follow-reachable'
+ - pack-objects: introduce '--stdin-packs=follow-reachable'
+ - pack-objects: extract `stdin_packs_add_all_pack_entries()`
+ - repack-geometry: drop unused redundant-pack removal
+ - repack: delete geometric packs via existing_packs
+ - repack: teach MIDX retention about geometric rollups
+ - repack: mark geometric progression of packs as retained
+ - repack: extract `locate_existing_pack()` helper
+ - repack: unconditionally exclude non-kept packs
+
+ Teach `git repack` to accept `--geometric` and `--cruft`
+ together. When both are given, the geometric repack rolls up non-cruft
+ packs as usual, while a separate cruft pack is written to collect
+ unreachable objects.
+
+ Expecting a reroll.
+ cf. <akTIMM6qLfDNdg-a@pks.im>
+ source: <cover.1782500507.git.me@ttaylorr.com>
+
+
+* jk/reftable-leakfix (2026-06-28) 1 commit
+ - reftable: fix unlikely leak on API error
+
+ Leakfix.
+
+ Will merge to 'next'.
+ cf. <akIPBJLtPqDjQt-A@pks.im>
+ source: <20260628090314.GA661068@coredump.intra.peff.net>
+
+
+* sg/t3420-do-not-grep-in-missing-file (2021-10-10) 1 commit
+ (merged to 'next' on 2026-06-29 at 2bf33c6a40)
+ + t3420-rebase-autostash: don't try to grep non-existing files
+
+ Test fix.
+
+ Will merge to 'master'.
+ source: <20211010172809.1472914-1-szeder.dev@gmail.com>
+
+
* ad/gpg-strip-cr-before-lf (2026-06-24) 1 commit
- gpg-interface: fix strip_cr_before_lf to only remove CR before LF
carriage return characters only when they immediately precede line
feeds, instead of unconditionally stripping all carriage returns.
- Needs review.
+ Will merge to 'next'.
source: <20260624093618.17456-1-antonio.destefani08@gmail.com>
interfaces instead of directly managing tmp_objdir for staging
incoming objects, bringing it closer to being ODB backend agnostic.
- Waiting for response(s) to review comment(s).
+ Expecting a reroll.
cf. <aju_AmlKVi5UZaiQ@pks.im>
+ cf. <akK05yZ6843K8Vdd@denethor>
+ cf. <akLLB_J-pvJ7iR7c@denethor>
source: <20260624041920.2601961-1-jltobler@gmail.com>
refactoring backend-specific object information retrieval into an
opt-in struct object_info_source structure.
- Needs review.
+ Will merge to 'next'?
+ cf. <akOod6X1a2axIXKZ@pks.im>
+ cf. <xmqqv7b0rmt6.fsf@gitster.g>
source: <20260624-b4-pks-odb-drop-whence-v1-0-8d1877b790ac@pks.im>
"git push origin/main" and "git branch origin main" could both be
an obvious typo, in which case offer the obvious typofix.
- Will merge to 'next'?
+ Will merge to 'next'.
cf. <xmqqfr272lq7.fsf@gitster.g>
source: <pull.2331.v3.git.git.1782583345.gitgitgadget@gmail.com>
Code clean-up with leakfix for a write file stream.
- Needs review.
+ Will merge to 'next'?
+ cf. <akO1mhi2u2PntLbt@pks.im>
source: <xmqqmrwdxrat.fsf@gitster.g>
-* ty/migrate-excludes-file (2026-06-27) 1 commit
+* ty/migrate-excludes-file (2026-06-30) 1 commit
- environment: move excludes_file into repo_config_values
Move excludes_file global variable into per-repository structure.
- Waiting for response(s) to review comment(s).
- cf. <xmqqbjcv2h3j.fsf@gitster.g>
- cf. <CAP8UFD3Z0M_1NEXGcAxNZKpRUQiSkHZLTEvNNYushKA_PoPgjA@mail.gmail.com>
- source: <20260627160813.1074201-2-cat@malon.dev>
+ Needs review.
+ source: <20260630164401.2906091-2-cat@malon.dev>
-* kk/merge-base-exhaustion (2026-06-28) 8 commits
- - commit-reach: move min_generation check into paint_queue_get()
- - commit-reach: terminate merge-base walk when one paint side is exhausted
- - commit-reach: remove unused nonstale_queue dedup wrappers
- - commit-reach: introduce struct paint_state with per-side counters
- - commit-reach: add trace2 instrumentation to paint_down_to_common()
- - t6099, t6600: add side-exhaustion regression tests
- - t6600: add test cases for side-exhaustion edge cases
- - Documentation/technical: add paint-down-to-common doc
+* kk/merge-base-exhaustion (2026-07-01) 10 commits
+ . commit-reach: remove commit-date ordering fallback
+ . commit-reach: move min_generation check into paint_queue_get()
+ . commit-reach: terminate merge-base walk when one paint side is exhausted
+ . commit-reach: introduce struct paint_state with per-side counters
+ . t6600: add clock-skew topologies and step counts for edge cases
+ . commit-reach: add trace2 instrumentation to paint_down_to_common()
+ . t6099, t6600: add side-exhaustion regression tests
+ . t6600: add test cases for side-exhaustion edge cases
+ . test-lib-functions: improve diagnostic output for trace2 data assertions
+ . Documentation/technical: add paint-down-to-common doc
The merge-base computation has been optimized by stopping the walk
early when one side's exclusive commits in the queue are exhausted,
yielding significant speedups for queries with one-sided histories.
- Expecting a reroll.
- cf. <48bfdb11-2624-4aa6-8fbd-d3f894c33bcc@gmail.com>
- cf. <CAL71e4N92t8170UBW3rMA6B-rEUeOm-R_HSioB957mUKOpwRyQ@mail.gmail.com>
- source: <pull.2149.v4.git.1782649547.gitgitgadget@gmail.com>
+ Needs review.
+ passes t6600 standalone, breaks when merged to 'seen'.
+ source: <pull.2149.v5.git.1782923832.gitgitgadget@gmail.com>
* dk/meson-enable-use-nsec-build (2026-06-20) 1 commit
source: <20260625-pks-connected-generic-promisor-checks-v3-0-7308f3b9dc44@pks.im>
-* ps/libgit-in-subdir (2026-06-26) 4 commits
- - fixup??? Move libgit.a sources into separate "lib/" directory
+* ps/libgit-in-subdir (2026-06-30) 3 commits
- Move libgit.a sources into separate "lib/" directory
- t/helper: prepare "test-example-tap.c" for introduction of "lib/"
- Merge branch 'ps/odb-source-packed' into ps/libgit-in-subdir
library code.
Waiting for response(s) to review comment(s).
- cf. <32bb1cf6-1e37-dc0c-dfb2-e78a30763342@gmx.de>
- cf. <xmqqwlvl6sr5.fsf@gitster.g>
- cf. <aj9wcFEb6oCRnfn2@szeder.dev>
- source: <20260622-pks-libgit-in-subdir-v2-0-cb946c51ee7b@pks.im>
+ cf. <cbbb08fc-fd4d-45ef-927b-05ac44602ff1@gmail.com>
+ source: <20260701-pks-libgit-in-subdir-v3-0-5e4860056094@pks.im>
* ps/odb-generalize-prepare (2026-06-22) 3 commits
flag, and a new `odb_prepare()` wrapper has been introduced to
allow pre-opening object database sources.
- Waiting for response(s) to review comment(s).
- cf. <87ldc14i4n.fsf@emacs.iotcl.com>
+ Will merge to 'next'?
+ cf. <87ik704f1j.fsf@emacs.iotcl.com>
source: <20260622-b4-pks-odb-generalize-prepare-v1-0-d2a5c5d13144@pks.im>
and how the resolution of such critiques should be recorded in the
final commit messages.
- Will cook in 'next'.
+ Will merge to 'master'.
cf. <ajjwYGWZ6hQWr600@pks.im>
source: <xmqqeci0g4mz.fsf@gitster.g>
Waiting for response(s) to review comment(s).
cf. <xmqqse65zyhw.fsf@gitster.g>
cf. <akIQLM6xZTHBudWT@pks.im>
+ cf. <3b3af3ef-a043-4af9-964e-429237789c97@gmail.com>
source: <pull.2337.v6.git.git.1782635349.gitgitgadget@gmail.com>
provide a default for the per-remote `remote.<name>.followRemoteHEAD`
setting.
- Will cook in 'next'.
+ Will merge to 'master'.
cf. <xmqqcxxp1j2t.fsf@gitster.g>
source: <20260619094751.2996804-1-m@lfurio.us>
-* ps/refs-writing-subcommands (2026-06-17) 5 commits
+* ps/refs-writing-subcommands (2026-06-30) 5 commits
- builtin/refs: add "rename" subcommand
- builtin/refs: add "create" subcommand
- builtin/refs: add "update" subcommand
"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>
+ Will merge to 'next'?
+ cf. <xmqqcxx7susi.fsf@gitster.g>
+ source: <20260630-pks-refs-writing-subcommands-v3-0-deb04de1ecef@pks.im>
* po/hash-object-size-t (2026-06-16) 6 commits
and other LLP64 platforms has been improved by converting object header
buffers and data-handling functions from 'unsigned long' to 'size_t'.
- Will cook in 'next'.
+ Will merge to 'master'.
cf. <ajOQthRjhD3hRM9w@pks.im>
source: <pull.2138.v2.git.1781621398.gitgitgadget@gmail.com>
The trailer sections in SubmittingPatches have been updated to
encourage use of standard trailers.
- Will cook in 'next'.
+ Will merge to 'master'.
cf. <xmqq4ij0vo8f.fsf@gitster.g>
source: <V3_CV_SubPatches_trailers.9ec@msgid.xyz>
which the path being tracked gets renamed differently in multiple
history lines, better.
- Will cook in 'next'.
+ Will merge to 'master'.
source: <ajjU4w2B0NlZffw1@collabora.com>
Waiting for response(s) to review comment(s).
cf. <aj93BE8MYatQAjoy@szeder.dev>
+ cf. <xmqqqzlpt543.fsf@gitster.g>
source: <pull.2135.v2.git.1781323575.gitgitgadget@gmail.com>
(merged to 'next' on 2026-06-17 at 43ed8b3969)
+ cat-file: speed up default format
- Will cook in 'next'.
+ Will merge to 'master'.
cf. <20260615165326.GA91269@coredump.intra.peff.net>
source: <5a7ed929-6fe0-496c-83bd-65dee57c2241@web.de>
into prio_queue itself, speeding up commit traversal workflows and
simplifying callers.
- On hold, waiting for kk/prio-queue-get-put-fusion to land first.
- cf. <CAL71e4MYNiScZjTwkApjDAjRh2LM0_SP59h5HCTywV-Pua03tw@mail.gmail.com>
+ Will merge to 'next'?
+ cf. <xmqqh5mjrbgq.fsf@gitster.g>
source: <pull.2140.v4.git.1780945851.gitgitgadget@gmail.com>
connectivity checks across many candidate refs with shared
history.
- Needs review.
+ Comments?
+ cf. <xmqqqzlpulkp.fsf@gitster.g>
source: <20260612-ref-filter-memoized-contains-v4-0-5ed39fd001dd@gmail.com>
cf. <xmqq5x358byf.fsf@gitster.g>
cf. <b5d70a0b-ef32-49c9-84ba-8a64b7809574@gmail.com>
cf. <f8b520d1-edeb-9e45-c503-025c8b5833c3@gmx.de>
+ cf. <akOpOXeD_gS5U7rH@pks.im>
source: <20260626-toon-git-replay-drop-merges-v5-0-5e120738b9d0@iotcl.com>
+ builtin/init: simplify logic to configure worktree
+ builtin/init: stop modifying global `git_work_tree_cfg` variable
+ Merge branch 'ps/setup-centralize-odb-creation' into ps/setup-drop-global-state
+ (this branch is used by ps/setup-split-discovery-and-setup.)
Continuation of "setup.c" refactoring to drop remaining global state
(`git_work_tree_cfg`, `is_bare_repository_cfg`). The most notable
outcome is that `is_bare_repository()` has been updated to no longer
implicitly rely on `the_repository`.
- Will cook in 'next'.
+ Will merge to 'master'.
cf. <airVOrTboNDDGBak@denethor>
cf. <87ldckyygk.fsf@emacs.iotcl.com>
source: <20260611-b4-pks-setup-drop-global-state-v2-0-a6f7269c841d@pks.im>
+ setup: stop applying repository format twice
+ setup: inline `check_and_apply_repository_format()`
+ Merge branch 'ps/setup-centralize-odb-creation' into ps/refs-onbranch-fixes
+ (this branch is used by ps/setup-split-discovery-and-setup.)
Reference backend configuration is now loaded lazily to avoid
recursive calls during repository initialization when "onbranch"
The packed object source has been refactored into a proper struct
odb_source.
- Will cook in 'next'.
+ Will merge to 'master'.
cf. <ajK2QKdW-TdflfR0@denethor>
source: <20260617-pks-odb-source-packed-v3-0-b5c7583cd795@pks.im>
their ref iterator, avoiding a loose-ref scaling regression in
repositories with many unrelated loose references.
- Will cook in 'next'.
+ Will merge to 'master'.
cf. <xmqqik7fsv2m.fsf@gitster.g>
source: <20260612-fix-git-branch-regression-v4-1-f150038c02f4@gmail.com>
been migrated into struct repo_config_values to tie them to
per-repository configuration state.
- Will cook in 'next'.
+ Will merge to 'master'.
cf. <CAP8UFD35Tiy1_fqpjq8P-z=ZhzR3MTiThqfCs977652umRoSEQ@mail.gmail.com>
cf. <xmqqse6uwdnz.fsf@gitster.g>
source: <20260610124353.149874-2-cat@malon.dev>
source: <20260620140957.667820-1-cat@malon.dev>
-* ps/cat-file-remote-object-info (2026-06-25) 13 commits
+* ps/cat-file-remote-object-info (2026-07-01) 13 commits
- cat-file: make remote-object-info allow-list dynamic
- - cat-file: validate remote atoms with allow_list
+ - cat-file: validate remote atoms with an allow-list
- cat-file: add remote-object-info to batch-command
- transport: add client support for object-info
- serve: advertise object-info feature
- fetch-pack: move fetch initialization
- - connect: refactor packet writing
- - fetch-pack: move function to connect.c
- - fetch-pack: prepare function to be moved
- - t1006: split test utility functions into new "lib-cat-file.sh"
+ - connect: make `write_fetch_command_and_capabilities()` more generic
+ - fetch-pack: move `write_fetch_command_and_capabilities()` to connect.c
+ - fetch-pack: drop static `advertise_sid` variable
+ - t1006: split test utility functions into new 'lib-cat-file.sh'
- cat-file: declare loop counter inside for()
- - git-compat-util: add strtoul_szt() with error handling
+ - git-compat-util: add `strtoumax_szt()` with error handling
- transport-helper: fix memory leak of helper on disconnect
The `remote-object-info` command has been added to `git cat-file
inapplicable or unsupported fields.
Waiting for response(s) to review comment(s).
- cf. <CAOLa=ZScS3Gmm5BAgJF69phpaDXGnP_j9jx+bMhn_tfF65RXEg@mail.gmail.com>
- source: <20260625-ps-eric-work-rebase-v14-0-09f7ffe21a53@gmail.com>
-
-
-* ap/http-redirect-wwwauth-fix (2026-06-02) 1 commit
- - http: preserve wwwauth_headers across redirects
-
- When cURL follows a redirect, the WWW-Authenticate headers from the
- redirect target were lost because credential_from_url() cleared the
- credential state. This has been fixed by preserving the collected
- headers across the redirect update.
-
- Expecting a reroll.
- cf. <5144a29d-a53f-4446-beff-e1f549345bf9@nvidia.com>
- source: <20260602161150.1527493-1-aplattner@nvidia.com>
+ cf. <xmqq7bneo9mh.fsf@gitster.g>
+ source: <20260701-ps-eric-work-rebase-v15-0-c88a43b63917@gmail.com>
* ps/doc-recommend-b4 (2026-06-15) 3 commits
documentation has been updated to recommend using it as a
streamlined method for submitting patches.
- Will cook in 'next'.
+ Will merge to 'master'.
cf. <87eci7yomp.fsf@emacs.iotcl.com>
source: <20260615-pks-b4-v4-0-22cfca8f19c5@pks.im>
faster packaging by falling back to path-walk when bitmaps cannot
fully satisfy the request.
- Will cook in 'next'.
+ Will merge to 'master'.
cf. <xmqqwlvq1qyy.fsf@gitster.g>
source: <cover.1782082975.git.me@ttaylorr.com>
configuration) has been migrated into 'repo_config_values' to tie it
to a specific repository instance.
- Needs review.
+ Comments?
+ cf. <xmqqcxx9ukvw.fsf@gitster.g>
source: <20260619162105.648495-1-cat@malon.dev>
+ repo: add path.gitdir with absolute and relative suffix formatting
+ repo: add path.commondir with absolute and relative suffix formatting
+ path: extract format_path() and use in rev-parse
+ (this branch is used by ps/setup-split-discovery-and-setup.)
The "git repo info" command has been taught new keys to output both
absolute and relative paths for "gitdir" and "commondir", supported by
source: <20260624033748.108281-1-jayatheerthkulkarni2005@gmail.com>
-* ps/history-drop (2026-06-29) 11 commits
+* ps/history-drop (2026-07-01) 11 commits
- builtin/history: implement "drop" subcommand
- builtin/history: split handling of ref updates into two phases
- replay: expose `replay_result_queue_update()`
parent.
Needs review.
- source: <20260629-b4-pks-history-drop-v7-0-6e9392a957d8@pks.im>
+ source: <20260701-b4-pks-history-drop-v8-0-19b5cdf1facd@pks.im>
* jk/setup-gitfile-diag-fix (2026-06-16) 1 commit
been fixed, avoiding a potential NULL-pointer crash when reporting
that a .git file does not point to a valid repository.
- Will cook in 'next'.
+ Will merge to 'master'.
cf. <xmqqjyry4hax.fsf@gitster.g>
source: <20260616123516.GA2301231@coredump.intra.peff.net>
the path with a dot, matching standard shell-completion behavior.
Waiting for response(s) to review comment(s).
- cf. <xmqq1pe0g08t.fsf@gitster.g>
- cf. <xmqqbjd37i4y.fsf@gitster.g>
+ cf. <xmqqik71t3nr.fsf@gitster.g>
source: <pull.2311.v3.git.git.1781978156.gitgitgadget@gmail.com>
diverged from its push branch has been updated to suggest "git pull
<remote> <branch>".
- Will cook in 'next'.
+ Will merge to 'master'.
cf. <xmqq7bo6xuok.fsf@gitster.g>
source: <pull.2301.v4.git.git.1779372367317.gitgitgadget@gmail.com>
remotes via the promisor.acceptFromServerURL configuration
variable.
- Will cook in 'next'.
+ Will merge to 'master'.
cf. <877bo7294j.fsf@emacs.iotcl.com>
cf. <xmqqh5naxwfc.fsf@gitster.g>
source: <20260527140820.1438165-1-christian.couder@gmail.com>
"ort" merge backend handles merging corrupt trees better by
aborting when it should.
- Will cook in 'next'.
+ Will merge to 'master'.
cf. <xmqq5x3ldu4h.fsf@gitster.g>
source: <pull.2096.v2.git.1781419047.gitgitgadget@gmail.com>
improved to correctly abbreviate object IDs for more commands and
avoid misinterpreting refs as object IDs.
- Will cook in 'next'.
+ Will merge to 'master'.
source: <cover.1782230024.git.phillip.wood@dunelm.org.uk>
appearing falsely related to unrelated commits rendered immediately
above them.
- Waiting for response(s) to review comment(s).
+ Expecting a reroll.
The peek-ahead approach may need to be scratched.
cf. <CAN5EUNSj-2hkEBF7N_M6RLsuujDNFNUF3w53zR7SN1_5i2BRyg@mail.gmail.com>
cf. <CAL71e4OQ_kGb+UwHgikHG236-8BVtc7P9OdpV4i4UzYRCoPczw@mail.gmail.com>
+ cf. <CAN5EUNTQV68_eofa7BGb0BukMe=U2d4-FEVmJwW4dObQ2r6LuA@mail.gmail.com>
source: <20260620-ps-pre-commit-indent-v6-0-cdc6d8fd5fbc@gmail.com>