What's cooking (2026/06 #11)

Junio C Hamano committed Jun 29, 2026 at 09:41 UTC 121defe9bf3180b3265907518d23f5341c167e5d
1 file changed +222 -140
whats-cooking.txt
+222 -140
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Jun 2026, #10)
3 -X-master-at: ab776a62a78576513ee121424adb19597fbb7613
4 -X-next-at: 42296fc12ea8e7025714869d102fa1a8ccc844f5
2 +Subject: What's cooking in git.git (Jun 2026, #11)
3 +X-master-at: e9019fcafe0040228b8631c30f97ae1adb61bcdc
4 +X-next-at: 602f6c329a7d99df269d382df353b4e1bbbbd8aa
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Jun 2026, #10)
7 +What's cooking in git.git (Jun 2026, #11)
8 -----------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -17,9 +17,7 @@ A topic without enough support may be discarded after a long period
17 of no activity (of course they can be resubmitted when new interests
18 arise).
19
20 -Git 2.55-rc2 has been tagged. The tree is in deep feature-freeze,
21 -and remaining topics in 'next' will stay in "Will cook in 'next'"
22 -instead of "Will merge to 'master'" state, until Git 2.55 final.
20 +Git 2.55 (final) has been tagged, with a few last-minute fixes.
21
22 Copies of the source code to Git live in many repositories, and the
23 following is a list of the ones I push into or their mirrors. Some
@@ -52,6 +50,133 @@ Release tarballs are available at:
50 --------------------------------------------------
51 [New Topics]
52
53 +* tb/repack-geometric-cruft (2026-06-28) 11 commits
54 + - SQUASH??? bare grep !???
55 + - repack: support combining '--geometric' with '--cruft'
56 + - pack-objects: support '--refs-snapshot' with 'follow-reachable'
57 + - pack-objects: introduce '--stdin-packs=follow-reachable'
58 + - pack-objects: extract `stdin_packs_add_all_pack_entries()`
59 + - repack-geometry: drop unused redundant-pack removal
60 + - repack: delete geometric packs via existing_packs
61 + - repack: teach MIDX retention about geometric rollups
62 + - repack: mark geometric progression of packs as retained
63 + - repack: extract `locate_existing_pack()` helper
64 + - repack: unconditionally exclude non-kept packs
65 +
66 + Teach `git repack` to accept `--geometric` and `--cruft`
67 + together. When both are given, the geometric repack rolls up non-cruft
68 + packs as usual, while a separate cruft pack is written to collect
69 + unreachable objects.
70 +
71 + Needs review.
72 + cf. <xmqqpl1d56dd.fsf@gitster.g>
73 + source: <cover.1782500507.git.me@ttaylorr.com>
74 +
75 +
76 +* jk/reftable-leakfix (2026-06-28) 1 commit
77 + - reftable: fix unlikely leak on API error
78 +
79 + Leakfix.
80 +
81 + Will merge to 'next'?
82 + cf. <akIPBJLtPqDjQt-A@pks.im>
83 + source: <20260628090314.GA661068@coredump.intra.peff.net>
84 +
85 +
86 +* sg/t3420-do-not-grep-in-missing-file (2021-10-10) 1 commit
87 + (merged to 'next' on 2026-06-29 at 2bf33c6a40)
88 + + t3420-rebase-autostash: don't try to grep non-existing files
89 +
90 + Test fix.
91 +
92 + Will merge to 'master'.
93 + source: <20211010172809.1472914-1-szeder.dev@gmail.com>
94 +
95 +--------------------------------------------------
96 +[Graduated to 'master']
97 +
98 +* jk/t5551-expensive-test-timeouts-fix (2026-06-28) 2 commits
99 + - t5551: put many-tags case into its own repo
100 + - t/lib-httpd: bump apache timeout
101 +
102 + The Apache timeout in HTTP tests has been increased to prevent test
103 + failures on heavily loaded CI runners. The tests creating an
104 + enormous number of refs have been isolated to their own
105 + repositories to avoid slowing down subsequent tests.
106 + cf. <akIPBJLtPqDjQt-A@pks.im>
107 + source: <20260628075716.GA3525066@coredump.intra.peff.net>
108 +
109 +
110 +* js/http-https-proxy-fix (2026-06-27) 1 commit
111 + (merged to 'next' on 2026-06-28 at a7fdf2ec97)
112 + + http: accept https:// proxies again
113 +
114 + We lost ability to use https:// proxies during this cycle; this is
115 + a hotfix for the regression.
116 +
117 + source: <pull.2161.git.1782580676734.gitgitgadget@gmail.com>
118 +
119 +
120 +* ps/t4216-tap-fix (2026-06-19) 1 commit
121 + (merged to 'next' on 2026-06-25 at 42296fc12e)
122 + + t4216: fix no-op test that breaks TAP output
123 +
124 + TAP output breakage fix.
125 + cf. <xmqq8q82fk8r.fsf@gitster.g>
126 + source: <20260619-pks-t4216-drop-unused-prereq-v1-1-2ce0d7bea088@pks.im>
127 +
128 +--------------------------------------------------
129 +[Stalled]
130 +
131 +* jt/config-lock-timeout (2026-05-17) 1 commit
132 + - config: retry acquiring config.lock, configurable via core.configLockTimeout
133 +
134 + Configuration file locking now retries for a short period, avoiding
135 + failures when multiple processes attempt to update the configuration
136 + simultaneously.
137 +
138 + Waiting for response(s) to review comment(s) for too long, stalled.
139 + cf. <agrIrGwSMFlKTx9x@pks.im>
140 + source: <20260517132111.1014901-1-joerg@thalheim.io>
141 +
142 +
143 +* js/parseopt-subcommand-autocorrection (2026-04-27) 11 commits
144 + - SQUASH???
145 + - doc: document autocorrect API
146 + - parseopt: add tests for subcommand autocorrection
147 + - parseopt: enable subcommand autocorrection for git-remote and git-notes
148 + - parseopt: autocorrect mistyped subcommands
149 + - autocorrect: provide config resolution API
150 + - autocorrect: rename AUTOCORRECT_SHOW to AUTOCORRECT_HINT
151 + - autocorrect: use mode and delay instead of magic numbers
152 + - help: move tty check for autocorrection to autocorrect.c
153 + - help: make autocorrect handling reusable
154 + - parseopt: extract subcommand handling from parse_options_step()
155 +
156 + The parse-options library learned to auto-correct misspelled
157 + subcommand names.
158 +
159 + Waiting for response(s) to review comment(s) for too long, stalled.
160 + cf. <xmqq33yzd9yf.fsf@gitster.g>
161 + cf. <SY0P300MB0801E50FCB7EB2F45CD15208CE042@SY0P300MB0801.AUSP300.PROD.OUTLOOK.COM>
162 + source: <SY0P300MB0801677A2A1E0FD38D06A841CE2A2@SY0P300MB0801.AUSP300.PROD.OUTLOOK.COM>
163 +
164 +
165 +* cl/conditional-config-on-worktree-path (2026-05-24) 2 commits
166 + - config: add "worktree" and "worktree/i" includeIf conditions
167 + - config: refactor include_by_gitdir() into include_by_path()
168 +
169 + The [includeIf "condition"] conditional inclusion facility for
170 + configuration files has learned to use the location of worktree
171 + in its condition.
172 +
173 + Waiting for response(s) to review comment(s) for too long, stalled.
174 + cf. <xmqq8q97et9b.fsf@gitster.g>
175 + source: <20260525-includeif-worktree-v5-0-1efe525d025a@black-desk.cn>
176 +
177 +--------------------------------------------------
178 +[Cooking]
179 +
180 * ad/gpg-strip-cr-before-lf (2026-06-24) 1 commit
181 - gpg-interface: fix strip_cr_before_lf to only remove CR before LF
182
@@ -98,7 +223,7 @@ Release tarballs are available at:
223 source: <20260624-b4-pks-odb-drop-whence-v1-0-8d1877b790ac@pks.im>
224
225
101 -* ps/reftable-hardening (2026-06-24) 11 commits
226 +* ps/reftable-hardening (2026-06-29) 12 commits
227 - reftable/table: fix OOB read on truncated table
228 - reftable/table: fix NULL pointer access when seeking to bogus offsets
229 - reftable/block: fix OOB read with bogus restart offset
@@ -106,6 +231,7 @@ Release tarballs are available at:
231 - reftable/block: fix OOB read with bogus restart count
232 - reftable/block: fix OOB read with bogus block size
233 - reftable/block: fix OOB write with bogus inflated log size
234 + - t/unit-tests: introduce test helper to write reftable blocks
235 - reftable/record: don't abort when decoding invalid ref value type
236 - reftable/basics: fix OOB read on binary search of empty range
237 - oss-fuzz: add fuzzer for parsing reftables
@@ -116,94 +242,43 @@ Release tarballs are available at:
242 during parsing.
243
244 Needs review.
119 - source: <20260624-pks-reftable-hardening-v1-0-66e4ce87c6b9@pks.im>
245 + source: <20260629-pks-reftable-hardening-v2-0-b0228e7d908d@pks.im>
246
247
122 -* hn/branch-push-slip-advice (2026-06-24) 3 commits
123 - - SQUASH??? use test_grep
248 +* hn/branch-push-slip-advice (2026-06-27) 2 commits
249 - push: suggest <remote> <branch> for a slash slip
250 - branch: suggest <remote>/<branch> on upstream slip
251
252 "git push origin/main" and "git branch origin main" could both be
253 an obvious typo, in which case offer the obvious typofix.
254
130 - Waiting for response(s) to review comment(s).
131 - cf. <xmqqfr2ae2wp.fsf@gitster.g>
132 - source: <pull.2331.v2.git.git.1782338114.gitgitgadget@gmail.com>
255 + Will merge to 'next'?
256 + cf. <xmqqfr272lq7.fsf@gitster.g>
257 + source: <pull.2331.v3.git.git.1782583345.gitgitgadget@gmail.com>
258
259
135 -* jc/history-message-prep-fix (2026-06-25) 1 commit
260 +* jc/history-message-prep-fix (2026-06-29) 1 commit
261 - history: streamline message preparation and plug file stream leak
262
263 Code clean-up with leakfix for a write file stream.
264
265 Needs review.
141 - source: <xmqqh5mqfkpv.fsf@gitster.g>
266 + source: <xmqqmrwdxrat.fsf@gitster.g>
267
268
144 -* ty/migrate-excludes-file (2026-06-25) 2 commits
269 +* ty/migrate-excludes-file (2026-06-27) 1 commit
270 - environment: move excludes_file into repo_config_values
146 - - dir: encapsulate excludes_file lazy-load
271
272 Move excludes_file global variable into per-repository structure.
273
274 Waiting for response(s) to review comment(s).
151 - cf. <xmqqwlvme4lz.fsf@gitster.g>
152 - source: <20260625161845.7543-1-cat@malon.dev>
275 + cf. <xmqqbjcv2h3j.fsf@gitster.g>
276 + cf. <CAP8UFD3Z0M_1NEXGcAxNZKpRUQiSkHZLTEvNNYushKA_PoPgjA@mail.gmail.com>
277 + source: <20260627160813.1074201-2-cat@malon.dev>
278
154 ---------------------------------------------------
155 -[Stalled]
156 -
157 -* jt/config-lock-timeout (2026-05-17) 1 commit
158 - - config: retry acquiring config.lock, configurable via core.configLockTimeout
159 -
160 - Configuration file locking now retries for a short period, avoiding
161 - failures when multiple processes attempt to update the configuration
162 - simultaneously.
163 -
164 - Waiting for response(s) to review comment(s) for too long, stalled.
165 - cf. <agrIrGwSMFlKTx9x@pks.im>
166 - source: <20260517132111.1014901-1-joerg@thalheim.io>
167 -
168 -
169 -* js/parseopt-subcommand-autocorrection (2026-04-27) 11 commits
170 - - SQUASH???
171 - - doc: document autocorrect API
172 - - parseopt: add tests for subcommand autocorrection
173 - - parseopt: enable subcommand autocorrection for git-remote and git-notes
174 - - parseopt: autocorrect mistyped subcommands
175 - - autocorrect: provide config resolution API
176 - - autocorrect: rename AUTOCORRECT_SHOW to AUTOCORRECT_HINT
177 - - autocorrect: use mode and delay instead of magic numbers
178 - - help: move tty check for autocorrection to autocorrect.c
179 - - help: make autocorrect handling reusable
180 - - parseopt: extract subcommand handling from parse_options_step()
279
182 - The parse-options library learned to auto-correct misspelled
183 - subcommand names.
184 -
185 - Waiting for response(s) to review comment(s) for too long, stalled.
186 - cf. <xmqq33yzd9yf.fsf@gitster.g>
187 - cf. <SY0P300MB0801E50FCB7EB2F45CD15208CE042@SY0P300MB0801.AUSP300.PROD.OUTLOOK.COM>
188 - source: <SY0P300MB0801677A2A1E0FD38D06A841CE2A2@SY0P300MB0801.AUSP300.PROD.OUTLOOK.COM>
189 -
190 -
191 -* cl/conditional-config-on-worktree-path (2026-05-24) 2 commits
192 - - config: add "worktree" and "worktree/i" includeIf conditions
193 - - config: refactor include_by_gitdir() into include_by_path()
194 -
195 - The [includeIf "condition"] conditional inclusion facility for
196 - configuration files has learned to use the location of worktree
197 - in its condition.
198 -
199 - Waiting for response(s) to review comment(s) for too long, stalled.
200 - cf. <xmqq8q97et9b.fsf@gitster.g>
201 - source: <20260525-includeif-worktree-v5-0-1efe525d025a@black-desk.cn>
202 -
203 ---------------------------------------------------
204 -[Cooking]
205 -
206 -* kk/merge-base-exhaustion (2026-06-24) 7 commits
280 +* kk/merge-base-exhaustion (2026-06-28) 8 commits
281 + - commit-reach: move min_generation check into paint_queue_get()
282 - commit-reach: terminate merge-base walk when one paint side is exhausted
283 - commit-reach: remove unused nonstale_queue dedup wrappers
284 - commit-reach: introduce struct paint_state with per-side counters
@@ -217,8 +292,9 @@ Release tarballs are available at:
292 yielding significant speedups for queries with one-sided histories.
293
294 Expecting a reroll.
220 - cf. <CAL71e4MnA36ZchLaUsMSoLcb9LO77aac274jES8+oV=yxuigOA@mail.gmail.com>
221 - source: <pull.2149.v2.git.1782303254.gitgitgadget@gmail.com>
295 + cf. <48bfdb11-2624-4aa6-8fbd-d3f894c33bcc@gmail.com>
296 + cf. <CAL71e4N92t8170UBW3rMA6B-rEUeOm-R_HSioB957mUKOpwRyQ@mail.gmail.com>
297 + source: <pull.2149.v4.git.1782649547.gitgitgadget@gmail.com>
298
299
300 * dk/meson-enable-use-nsec-build (2026-06-20) 1 commit
@@ -229,15 +305,17 @@ Release tarballs are available at:
305
306 Waiting for response(s) to review comment(s).
307 cf. <ajjuoS5Qc3K0nCRl@pks.im>
308 + cf. <akIL6oJgUv8J8SB2@pks.im>
309 source: <c4c5ade901ff95b0f95939ea818870e4f3d59da1.1781971201.git.ben.knoble+github@gmail.com>
310
311
312 * ps/connected-generic-promisor-checks (2026-06-25) 5 commits
236 - - connected: search promisor objects generically
237 - - connected: split out promisor-based connectivity check
238 - - odb/source-packed: support flags when iterating an object prefix
239 - - odb/source-packed: extract logic to skip certain packs
240 - - Merge branch 'ps/odb-source-packed' into ps/connected-generic-promisor-checks
313 + (merged to 'next' on 2026-06-29 at 10eef65b98)
314 + + connected: search promisor objects generically
315 + + connected: split out promisor-based connectivity check
316 + + odb/source-packed: support flags when iterating an object prefix
317 + + odb/source-packed: extract logic to skip certain packs
318 + + Merge branch 'ps/odb-source-packed' into ps/connected-generic-promisor-checks
319 (this branch uses ps/odb-source-packed.)
320
321 The connectivity check has been refactored to search for promisor
@@ -245,12 +323,13 @@ Release tarballs are available at:
323 rather than iterating packfiles directly. This allows connectivity
324 checks to work properly in repositories that do not use packfiles.
325
248 - Will merge to 'next'?
249 - cf. <xmqq4iiqfk0l.fsf@gitster.g>
326 + Will merge to 'master'.
327 + cf. <CAP8UFD07AzNtP3rRj4btYfFfakX0kkLXKpO9T=a3Mds3YWEsXw@mail.gmail.com>
328 source: <20260625-pks-connected-generic-promisor-checks-v3-0-7308f3b9dc44@pks.im>
329
330
253 -* ps/libgit-in-subdir (2026-06-22) 3 commits
331 +* ps/libgit-in-subdir (2026-06-26) 4 commits
332 + - fixup??? Move libgit.a sources into separate "lib/" directory
333 - Move libgit.a sources into separate "lib/" directory
334 - t/helper: prepare "test-example-tap.c" for introduction of "lib/"
335 - Merge branch 'ps/odb-source-packed' into ps/libgit-in-subdir
@@ -260,7 +339,10 @@ Release tarballs are available at:
339 directory to clean up the top-level directory and clearly separate
340 library code.
341
263 - Needs review.
342 + Waiting for response(s) to review comment(s).
343 + cf. <32bb1cf6-1e37-dc0c-dfb2-e78a30763342@gmx.de>
344 + cf. <xmqqwlvl6sr5.fsf@gitster.g>
345 + cf. <aj9wcFEb6oCRnfn2@szeder.dev>
346 source: <20260622-pks-libgit-in-subdir-v2-0-cb946c51ee7b@pks.im>
347
348
@@ -275,7 +357,8 @@ Release tarballs are available at:
357 flag, and a new `odb_prepare()` wrapper has been introduced to
358 allow pre-opening object database sources.
359
278 - Needs review.
360 + Waiting for response(s) to review comment(s).
361 + cf. <87ldc14i4n.fsf@emacs.iotcl.com>
362 source: <20260622-b4-pks-odb-generalize-prepare-v1-0-d2a5c5d13144@pks.im>
363
364
@@ -294,15 +377,16 @@ Release tarballs are available at:
377
378
379 * wy/doc-clarify-review-replies (2026-06-21) 2 commits
297 - - doc: advise batching patch rerolls
298 - - doc: encourage review replies before rerolling
380 + (merged to 'next' on 2026-06-29 at 21ae0599dc)
381 + + doc: advise batching patch rerolls
382 + + doc: encourage review replies before rerolling
383
384 Documentation on community contribution guidelines has been updated to
385 encourage replying to review comments before rerolling, and to advise
386 a default limit of at most one reroll per day to give reviewers across
387 different time zones enough time to participate.
388
305 - Will merge to 'next'?
389 + Will merge to 'master'.
390 cf. <ajvDuUiDsmyf5LnX@pks.im>
391 source: <cover.1782028813.git.wy@wyuan.org>
392
@@ -320,7 +404,7 @@ Release tarballs are available at:
404 source: <20260619155152.642760-1-cat@malon.dev>
405
406
323 -* mm/line-log-limited-ops (2026-06-18) 7 commits
407 +* mm/line-log-limited-ops (2026-06-27) 7 commits
408 - diffcore-pickaxe: scope -G to the -L tracked range
409 - diff: support --check with -L line ranges
410 - line-log: support diff stat formats with -L
@@ -332,12 +416,11 @@ Release tarballs are available at:
416 "git log -L<range>:<path>" learned to limit various "diff" operations
417 like --stat, --check, -G, to the specified range:path.
418
335 - Expecting a reroll.
336 - cf. <CAC2QwmKEHb+LL4ZkQwq+Rw8eyDXzdBp_nxa_d+Ecx0K1icNqQA@mail.gmail.com>
337 - source: <pull.2152.git.1781806593.gitgitgadget@gmail.com>
419 + Needs review.
420 + source: <pull.2152.v2.git.1782581342.gitgitgadget@gmail.com>
421
422
340 -* hn/history-squash (2026-06-24) 4 commits
423 +* hn/history-squash (2026-06-28) 4 commits
424 - history: re-edit a squash with every message
425 - history: add squash subcommand to fold a range
426 - history: give commit_tree_ext a message template
@@ -347,19 +430,10 @@ Release tarballs are available at:
430 "squash" subcommand to fold a range of commits into a single commit,
431 replaying any descendants on top.
432
350 - Needs review.
351 - source: <pull.2337.v5.git.git.1782338102.gitgitgadget@gmail.com>
352 -
353 -
354 -* ps/t4216-tap-fix (2026-06-19) 1 commit
355 - (merged to 'next' on 2026-06-25 at 42296fc12e)
356 - + t4216: fix no-op test that breaks TAP output
357 -
358 - TAP output breakage fix.
359 -
360 - Will merge to 'master'.
361 - cf. <xmqq8q82fk8r.fsf@gitster.g>
362 - source: <20260619-pks-t4216-drop-unused-prereq-v1-1-2ce0d7bea088@pks.im>
433 + Waiting for response(s) to review comment(s).
434 + cf. <xmqqse65zyhw.fsf@gitster.g>
435 + cf. <akIQLM6xZTHBudWT@pks.im>
436 + source: <pull.2337.v6.git.git.1782635349.gitgitgadget@gmail.com>
437
438
439 * mh/fetch-follow-remote-head-config (2026-06-19) 8 commits
@@ -478,7 +552,8 @@ Release tarballs are available at:
552 - t: fix grep assertions missing file arguments
553 - t/README: document test_grep helper
554
481 - Needs review.
555 + Waiting for response(s) to review comment(s).
556 + cf. <aj93BE8MYatQAjoy@szeder.dev>
557 source: <pull.2135.v2.git.1781323575.gitgitgadget@gmail.com>
558
559
@@ -520,18 +595,20 @@ Release tarballs are available at:
595 source: <20260612-ref-filter-memoized-contains-v4-0-5ed39fd001dd@gmail.com>
596
597
523 -* tc/replay-linearize (2026-06-22) 3 commits
598 +* tc/replay-linearize (2026-06-25) 3 commits
599 - replay: offer an option to linearize the commit topology
600 + - replay: better explain how pick_regular_commit() picks a base
601 - replay: add helper to put entry into mapped_commits
526 - - replay: refactor enum replay_mode into a bool
602
603 git replay learns --linearize option to drop merge commits and
604 linearize the replayed history, mimicking git rebase
605 --no-rebase-merges.
606
532 - Expecting a reroll.
533 - cf. <87tsqrycke.fsf@emacs.iotcl.com>
534 - source: <20260622-toon-git-replay-drop-merges-v4-0-ff257f534319@iotcl.com>
607 + Waiting for response(s) to review comment(s).
608 + cf. <xmqq5x358byf.fsf@gitster.g>
609 + cf. <b5d70a0b-ef32-49c9-84ba-8a64b7809574@gmail.com>
610 + cf. <f8b520d1-edeb-9e45-c503-025c8b5833c3@gmx.de>
611 + source: <20260626-toon-git-replay-drop-merges-v5-0-5e120738b9d0@iotcl.com>
612
613
614 * ps/setup-drop-global-state (2026-06-10) 8 commits
@@ -556,27 +633,29 @@ Release tarballs are available at:
633 source: <20260611-b4-pks-setup-drop-global-state-v2-0-a6f7269c841d@pks.im>
634
635
559 -* ps/refs-avoid-chdir-notify-reparent (2026-06-25) 12 commits
560 - - refs: protect against chicken-and-egg recursion
561 - - refs/reftable: lazy-load configuration to fix chicken-and-egg
562 - - reftable: split up write options
563 - - refs/files: lazy-load configuration to fix chicken-and-egg
564 - - refs: move parsing of "core.logAllRefUpdates" back into ref stores
565 - - repository: free main reference database
566 - - chdir-notify: drop unused `chdir_notify_reparent()`
567 - - refs: unregister reference stores from "chdir_notify"
568 - - setup: don't apply "GIT_REFERENCE_BACKEND" without a repository
569 - - setup: stop applying repository format twice
570 - - setup: inline `check_and_apply_repository_format()`
571 - - Merge branch 'ps/setup-centralize-odb-creation' into ps/refs-avoid-chdir-notify-reparent
572 -
573 - The reference backends have been converted to always use absolute
574 - paths internally. This allows dropping the calls to
575 - `chdir_notify_reparent()` and fixes a memory leak in how the
576 - reference database is constructed with an "onbranch" condition.
636 +* ps/refs-onbranch-fixes (2026-06-25) 12 commits
637 + (merged to 'next' on 2026-06-29 at 7b4929e311)
638 + + refs: protect against chicken-and-egg recursion
639 + + refs/reftable: lazy-load configuration to fix chicken-and-egg
640 + + reftable: split up write options
641 + + refs/files: lazy-load configuration to fix chicken-and-egg
642 + + refs: move parsing of "core.logAllRefUpdates" back into ref stores
643 + + repository: free main reference database
644 + + chdir-notify: drop unused `chdir_notify_reparent()`
645 + + refs: unregister reference stores from "chdir_notify"
646 + + setup: don't apply "GIT_REFERENCE_BACKEND" without a repository
647 + + setup: stop applying repository format twice
648 + + setup: inline `check_and_apply_repository_format()`
649 + + Merge branch 'ps/setup-centralize-odb-creation' into ps/refs-onbranch-fixes
650 +
651 + Reference backend configuration is now loaded lazily to avoid
652 + recursive calls during repository initialization when "onbranch"
653 + configuration conditions are evaluated. This also fixes a memory
654 + leak and allows dropping the unused `chdir_notify_reparent()`
655 + machinery.
656
578 - Will merge to 'next'?
579 - cf. <aj1DuUzusBUqmF_C@denethor>
657 + Will merge to 'master'.
658 + cf. <xmqqse6ae45i.fsf@gitster.g>
659 source: <20260625-b4-pks-refs-avoid-chdir-notify-reparent-v6-0-41fbca3cf5e3@pks.im>
660
661
@@ -666,7 +745,7 @@ Release tarballs are available at:
745 inapplicable or unsupported fields.
746
747 Waiting for response(s) to review comment(s).
669 - cf. <xmqqjyrme393.fsf@gitster.g>
748 + cf. <CAOLa=ZScS3Gmm5BAgJF69phpaDXGnP_j9jx+bMhn_tfF65RXEg@mail.gmail.com>
749 source: <20260625-ps-eric-work-rebase-v14-0-09f7ffe21a53@gmail.com>
750
751
@@ -776,22 +855,24 @@ Release tarballs are available at:
855
856
857 * jk/repo-info-path-keys (2026-06-23) 3 commits
779 - - repo: add path.gitdir with absolute and relative suffix formatting
780 - - repo: add path.commondir with absolute and relative suffix formatting
781 - - path: extract format_path() and use in rev-parse
858 + (merged to 'next' on 2026-06-29 at fbf9652169)
859 + + repo: add path.gitdir with absolute and relative suffix formatting
860 + + repo: add path.commondir with absolute and relative suffix formatting
861 + + path: extract format_path() and use in rev-parse
862
863 The "git repo info" command has been taught new keys to output both
864 absolute and relative paths for "gitdir" and "commondir", supported by
865 a new path-formatting helper extracted from "git rev-parse".
866
787 - Will merge to 'next'?
867 + Will merge to 'master'.
868 cf. <xmqqy0g3iz38.fsf@gitster.g>
869 source: <20260624033748.108281-1-jayatheerthkulkarni2005@gmail.com>
870
871
792 -* ps/history-drop (2026-06-15) 10 commits
872 +* ps/history-drop (2026-06-29) 11 commits
873 - builtin/history: implement "drop" subcommand
874 - builtin/history: split handling of ref updates into two phases
875 + - replay: expose `replay_result_queue_update()`
876 - reset: stop assuming that the caller passes in a clean index
877 - reset: allow the caller to specify the current HEAD object
878 - reset: introduce ability to skip updating HEAD
@@ -805,9 +886,8 @@ Release tarballs are available at:
886 subcommand to remove a commit and replay its descendants onto its
887 parent.
888
808 - Waiting for response(s) to review comment(s).
809 - cf. <CAP8UFD1evTZqj1ymW9g5g2RmMkYMaE0rPa0Hzt+irH94M6LD6A@mail.gmail.com>
810 - source: <20260615-b4-pks-history-drop-v6-0-2e329e536d78@pks.im>
889 + Needs review.
890 + source: <20260629-b4-pks-history-drop-v7-0-6e9392a957d8@pks.im>
891
892
893 * jk/setup-gitfile-diag-fix (2026-06-16) 1 commit
@@ -852,6 +932,7 @@ Release tarballs are available at:
932
933 Waiting for response(s) to review comment(s).
934 cf. <xmqq1pe0g08t.fsf@gitster.g>
935 + cf. <xmqqbjd37i4y.fsf@gitster.g>
936 source: <pull.2311.v3.git.git.1781978156.gitgitgadget@gmail.com>
937
938
@@ -940,6 +1021,7 @@ Release tarballs are available at:
1021
1022 Waiting for response(s) to review comment(s).
1023 cf. <12998c3a-ff69-4a98-9ed6-18aa0224e75e@gmail.com>
1024 + cf. <CAL71e4MiijEiM26TKJcOYT7L4pfQeMM_F2oT3U3igP-wOZm2Ag@mail.gmail.com>
1025 source: <pull.2281.v15.git.git.1782338098.gitgitgadget@gmail.com>
1026
1027