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