What's cooking (2026/07 #01)
Junio C Hamano committed
Jul 1, 2026 at 14:30 UTC
6a990135b8488c3d78c83b9644aff608edb46e96
1 file changed
+275
-144
whats-cooking.txt
+275
-144
@@ -1,23 +1,31 @@
1
To: git@vger.kernel.org
2
-Subject: What's cooking in git.git (Jun 2026, #11)
2
+Subject: What's cooking in git.git (Jul 2026, #01)
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, #11)
7
+What's cooking in git.git (Jul 2026, #01)
8
-----------------------------------------
9
10
Here are the topics that have been cooking in my tree. Commits
11
prefixed with '+' are in 'next' (being in 'next' is a sign that a
12
topic is stable enough to be used and is a candidate to be in a
13
future release). Commits prefixed with '-' are only in 'seen', and
14
-aren't considered "accepted" at all and may be annotated with a URL
14
+aren't considered "accepted" at all. They may be annotated with a URL
15
to a message that raises issues but they are by no means exhaustive.
16
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 (final) has been tagged, with a few last-minute fixes.
17
+of no activity (of course, it can be resubmitted when new interest
18
+arises).
19
+
20
+Git 2.55 (final) has been tagged. The next release is tentatively
21
+called Git 2.56. This week is the 0th week of the cycle, which is
22
+time to see if there are any brown paper bag breakages and
23
+regressions we need to fix. Next week, I plan to start merging the
24
+topics that have been cooking in 'next' down to 'master'. It has
25
+been customary to rewind 'next' and rebuild it on top of 'master'
26
+soon after a major release, but IIRC, we didn't do so in Git 2.55;
27
+perhaps we can do without rebuilding it this cycle as well. We'll
28
+see.
29
30
Copies of the source code to Git live in many repositories, and the
31
following is a list of the ones I push into or their mirrors. Some
@@ -50,84 +58,167 @@ Release tarballs are available at:
58
--------------------------------------------------
59
[New Topics]
60
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
61
+* kk/commit-reach-find-all-fix (2026-06-29) 2 commits
62
+ - commit-reach: guard !FIND_ALL early exit with generation ordering check
63
+ - t6600: add test for merge-base early exit with clock skew
64
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.
65
+ The early-exit optimization in paint_down_to_common() has been gated
66
+ on the queue being generation-ordered. This fixes a bug where git
67
+ merge-base (without --all) could return incorrect results on
68
+ repositories with v1 commit graphs and clock skew.
69
71
- Needs review.
72
- cf. <xmqqpl1d56dd.fsf@gitster.g>
73
- source: <cover.1782500507.git.me@ttaylorr.com>
70
+ Comments?
71
+ cf. <xmqqa4sdw55v.fsf@gitster.g>
72
+ source: <pull.2162.git.1782739162.gitgitgadget@gmail.com>
73
74
76
-* jk/reftable-leakfix (2026-06-28) 1 commit
77
- - reftable: fix unlikely leak on API error
75
+* bl/t7412-use-test-path-helpers (2026-06-29) 1 commit
76
+ - submodule absorbgitdirs tests: use test_* helper functions
77
79
- Leakfix.
78
+ t7412 that tests "git submodule absorbgitdirs" has been modernized to
79
+ use test_path_is_file, test_path_is_dir, and test_path_is_missing
80
+ helper functions instead of raw "test -[fde]" commands.
81
81
- Will merge to 'next'?
82
- cf. <akIPBJLtPqDjQt-A@pks.im>
83
- source: <20260628090314.GA661068@coredump.intra.peff.net>
82
+ Waiting for response(s) to review comment(s).
83
+ cf. <akTKHfKPsP3-Rn31@pks.im>
84
+ source: <20260630020220.1559190-1-bblima@usp.br>
85
86
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
87
+* jk/format-patch-leakfix (2026-06-29) 2 commits
88
+ - format-patch: fix leak of rev_info in prepare_bases()
89
+ - t: move LSan errors from stdout to stderr
90
90
- Test fix.
91
+ A memory leak in the '--base' handling of 'git format-patch' has been
92
+ plugged, and the leak-reporting of the test suite when running under a
93
+ TAP harness has been improved.
94
92
- Will merge to 'master'.
93
- source: <20211010172809.1472914-1-szeder.dev@gmail.com>
95
+ Will merge to 'next'?
96
+ cf. <akOZy-BygZS8fqPM@pks.im>
97
+ source: <20260630063944.GA3733670@coredump.intra.peff.net>
98
+
99
+
100
+* ps/setup-split-discovery-and-setup (2026-06-30) 16 commits
101
+ - setup: mark `set_git_work_tree()` as file-local
102
+ - setup: pass worktree to `init_db()`
103
+ - setup: drop redundant configuration of `startup_info->have_repository`
104
+ - setup: make repository discovery self-contained
105
+ - setup: propagate prefix via repository discovery
106
+ - setup: drop static `cwd` variable
107
+ - setup: move prefix into repository
108
+ - setup: embed repository format in discovery
109
+ - setup: introduce explicit repository discovery
110
+ - setup: split up concerns of `setup_git_env_internal()`
111
+ - setup: unify setup of shallow file
112
+ - setup: mark bogus worktree in `apply_repository_format()`
113
+ - setup: rename `check_repository_format_gently()`
114
+ - Merge branch 'jk/repo-info-path-keys' into ps/setup-split-discovery-and-setup
115
+ - Merge branch 'ps/setup-drop-global-state' into ps/setup-split-discovery-and-setup
116
+ - Merge branch 'ps/refs-onbranch-fixes' into ps/setup-split-discovery-and-setup
117
+ (this branch uses jk/repo-info-path-keys, ps/refs-onbranch-fixes and ps/setup-drop-global-state.)
118
+
119
+ The repository discovery and repository configuration phases, which
120
+ were previously intertwined in 'setup.c', have been split. Repository
121
+ discovery now populates a 'struct repo_discovery' without modifying
122
+ the repository state, and repository configuration takes this
123
+ structure to initialize the repository, paving the way for clean
124
+ unification of repository configuration.
125
95
---------------------------------------------------
96
-[Graduated to 'master']
126
+ Needs review.
127
+ source: <20260630-pks-setup-split-discovery-and-setup-v1-0-13864eb5a032@pks.im>
128
+
129
+
130
+* pw/rebase-drop-notes-with-commit (2026-06-30) 15 commits
131
+ - amend! sequencer: simplify pick_one_commit()
132
+ - amend! sequencer: remove unnecessary "or" in pick_one_commit()
133
+ - fixup! sequencer: never reschedule on failed commit
134
+ - fixup! sequencer: be more careful with external merge
135
+ - sequencer: do not record dropped commits as rewritten
136
+ - sequencer: use an enum to represent result of picking a commit
137
+ - sequencer: return early from pick_one_commit() on success
138
+ - sequencer: simplify pick_one_commit()
139
+ - sequencer: remove unnecessary condition in pick_one_commit()
140
+ - sequencer: simplify handing of fixup with conflicts
141
+ - sequencer: remove unnecessary "or" in pick_one_commit()
142
+ - sequencer: never reschedule on failed commit
143
+ - sequencer: be more careful with external merge
144
+ - sequencer: move definition of is_final_fixup()
145
+ - t3400: restore coverage for note copying with apply backend
146
+
147
+ The rebase post-rewrite notes-copying logic has been corrected. When a
148
+ commit is dropped during rebase (e.g., because its changes are already
149
+ upstream), we no longer record it as rewritten, preventing its notes
150
+ from being copied to an unrelated commit.
151
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
152
+ Expecting a reroll.
153
+ cf. <dce74d17-eefd-40bb-82f3-f6b3179cc2b6@gmail.com>
154
+ source: <cover.1782833268.git.phillip.wood@dunelm.org.uk>
155
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>
156
157
+* jk/bloom-leak-fixes (2026-06-30) 3 commits
158
+ - line-log: drop extra copy of range with bloom filters
159
+ - revision: avoid leaking bloom keyvecs with multiple traversals
160
+ - bloom: make bloom-filter slab initialization idempotent
161
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
162
+ Plug various memory leaks in the Bloom-filter code paths that are
163
+ exposed when running tests with the
164
+ `GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS=1` environment variable.
165
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>
166
+ Will merge to 'next'?
167
+ cf. <xmqqo6gqobrt.fsf@gitster.g>
168
+ source: <20260701063538.GA2579765@coredump.intra.peff.net>
169
170
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
171
+* js/ci-dockerized-pid-limit (2026-07-01) 1 commit
172
+ - ci(dockerized): reduce the PID limit for private repositories
173
124
- TAP output breakage fix.
125
- cf. <xmqq8q82fk8r.fsf@gitster.g>
126
- source: <20260619-pks-t4216-drop-unused-prereq-v1-1-2ce0d7bea088@pks.im>
174
+ Dockerized CI jobs running in private GitHub repositories have been
175
+ adjusted to use explicit process and file limits, preventing resource
176
+ exhaustion errors on private runners.
177
+
178
+ Waiting for response(s) to review comment(s).
179
+ cf. <xmqq5x2yps4c.fsf@gitster.g>
180
+ source: <pull.2164.git.1782889484346.gitgitgadget@gmail.com>
181
+
182
+
183
+* js/coverity-fixes (2026-07-01) 13 commits
184
+ - mingw: make exit_process() own the process handle on all paths
185
+ - fsmonitor: plug token-data leak on early daemon-startup failures
186
+ - reftable/table: release filter on error path
187
+ - imap-send: avoid leaking the IMAP upload buffer
188
+ - worktree: fix resource leaks when branch creation fails
189
+ - submodule: fix cwd leak in get_superproject_working_tree()
190
+ - dir: free allocations on parse-error paths in read_one_dir()
191
+ - line-log: avoid redundant copy that leaks in process_ranges
192
+ - run_diff_files: avoid memory leak
193
+ - run-command: avoid close(-1) in start_command() error paths
194
+ - download_https_uri_to_file(): do not leak fd upon failure
195
+ - loose: avoid closing invalid fd on error path
196
+ - load_one_loose_object_map(): fix resource leak
197
+
198
+ A collection of fixes for various resource leaks, invalid file
199
+ descriptor closures, and process handle ownership issues flagged by
200
+ Coverity.
201
+
202
+ Waiting for response(s) to review comment(s).
203
+ cf. <akTIMM6qLfDNdg-a@pks.im>
204
+ source: <pull.2163.git.1782889472.gitgitgadget@gmail.com>
205
206
--------------------------------------------------
207
[Stalled]
208
209
+* ap/http-redirect-wwwauth-fix (2026-06-02) 1 commit
210
+ - http: preserve wwwauth_headers across redirects
211
+
212
+ When cURL follows a redirect, the WWW-Authenticate headers from the
213
+ redirect target were lost because credential_from_url() cleared the
214
+ credential state. This has been fixed by preserving the collected
215
+ headers across the redirect update.
216
+
217
+ Expecting a reroll for too long, stalled.
218
+ cf. <5144a29d-a53f-4446-beff-e1f549345bf9@nvidia.com>
219
+ source: <20260602161150.1527493-1-aplattner@nvidia.com>
220
+
221
+
222
* jt/config-lock-timeout (2026-05-17) 1 commit
223
- config: retry acquiring config.lock, configurable via core.configLockTimeout
224
@@ -177,6 +268,49 @@ Release tarballs are available at:
268
--------------------------------------------------
269
[Cooking]
270
271
+* tb/repack-geometric-cruft (2026-06-28) 11 commits
272
+ - SQUASH??? bare grep !???
273
+ - repack: support combining '--geometric' with '--cruft'
274
+ - pack-objects: support '--refs-snapshot' with 'follow-reachable'
275
+ - pack-objects: introduce '--stdin-packs=follow-reachable'
276
+ - pack-objects: extract `stdin_packs_add_all_pack_entries()`
277
+ - repack-geometry: drop unused redundant-pack removal
278
+ - repack: delete geometric packs via existing_packs
279
+ - repack: teach MIDX retention about geometric rollups
280
+ - repack: mark geometric progression of packs as retained
281
+ - repack: extract `locate_existing_pack()` helper
282
+ - repack: unconditionally exclude non-kept packs
283
+
284
+ Teach `git repack` to accept `--geometric` and `--cruft`
285
+ together. When both are given, the geometric repack rolls up non-cruft
286
+ packs as usual, while a separate cruft pack is written to collect
287
+ unreachable objects.
288
+
289
+ Expecting a reroll.
290
+ cf. <akTIMM6qLfDNdg-a@pks.im>
291
+ source: <cover.1782500507.git.me@ttaylorr.com>
292
+
293
+
294
+* jk/reftable-leakfix (2026-06-28) 1 commit
295
+ - reftable: fix unlikely leak on API error
296
+
297
+ Leakfix.
298
+
299
+ Will merge to 'next'.
300
+ cf. <akIPBJLtPqDjQt-A@pks.im>
301
+ source: <20260628090314.GA661068@coredump.intra.peff.net>
302
+
303
+
304
+* sg/t3420-do-not-grep-in-missing-file (2021-10-10) 1 commit
305
+ (merged to 'next' on 2026-06-29 at 2bf33c6a40)
306
+ + t3420-rebase-autostash: don't try to grep non-existing files
307
+
308
+ Test fix.
309
+
310
+ Will merge to 'master'.
311
+ source: <20211010172809.1472914-1-szeder.dev@gmail.com>
312
+
313
+
314
* ad/gpg-strip-cr-before-lf (2026-06-24) 1 commit
315
- gpg-interface: fix strip_cr_before_lf to only remove CR before LF
316
@@ -184,7 +318,7 @@ Release tarballs are available at:
318
carriage return characters only when they immediately precede line
319
feeds, instead of unconditionally stripping all carriage returns.
320
187
- Needs review.
321
+ Will merge to 'next'.
322
source: <20260624093618.17456-1-antonio.destefani08@gmail.com>
323
324
@@ -200,8 +334,10 @@ Release tarballs are available at:
334
interfaces instead of directly managing tmp_objdir for staging
335
incoming objects, bringing it closer to being ODB backend agnostic.
336
203
- Waiting for response(s) to review comment(s).
337
+ Expecting a reroll.
338
cf. <aju_AmlKVi5UZaiQ@pks.im>
339
+ cf. <akK05yZ6843K8Vdd@denethor>
340
+ cf. <akLLB_J-pvJ7iR7c@denethor>
341
source: <20260624041920.2601961-1-jltobler@gmail.com>
342
343
@@ -219,7 +355,9 @@ Release tarballs are available at:
355
refactoring backend-specific object information retrieval into an
356
opt-in struct object_info_source structure.
357
222
- Needs review.
358
+ Will merge to 'next'?
359
+ cf. <akOod6X1a2axIXKZ@pks.im>
360
+ cf. <xmqqv7b0rmt6.fsf@gitster.g>
361
source: <20260624-b4-pks-odb-drop-whence-v1-0-8d1877b790ac@pks.im>
362
363
@@ -252,7 +390,7 @@ Release tarballs are available at:
390
"git push origin/main" and "git branch origin main" could both be
391
an obvious typo, in which case offer the obvious typofix.
392
255
- Will merge to 'next'?
393
+ Will merge to 'next'.
394
cf. <xmqqfr272lq7.fsf@gitster.g>
395
source: <pull.2331.v3.git.git.1782583345.gitgitgadget@gmail.com>
396
@@ -262,39 +400,39 @@ Release tarballs are available at:
400
401
Code clean-up with leakfix for a write file stream.
402
265
- Needs review.
403
+ Will merge to 'next'?
404
+ cf. <akO1mhi2u2PntLbt@pks.im>
405
source: <xmqqmrwdxrat.fsf@gitster.g>
406
407
269
-* ty/migrate-excludes-file (2026-06-27) 1 commit
408
+* ty/migrate-excludes-file (2026-06-30) 1 commit
409
- environment: move excludes_file into repo_config_values
410
411
Move excludes_file global variable into per-repository structure.
412
274
- Waiting for response(s) to review comment(s).
275
- cf. <xmqqbjcv2h3j.fsf@gitster.g>
276
- cf. <CAP8UFD3Z0M_1NEXGcAxNZKpRUQiSkHZLTEvNNYushKA_PoPgjA@mail.gmail.com>
277
- source: <20260627160813.1074201-2-cat@malon.dev>
413
+ Needs review.
414
+ source: <20260630164401.2906091-2-cat@malon.dev>
415
416
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
285
- - commit-reach: add trace2 instrumentation to paint_down_to_common()
286
- - t6099, t6600: add side-exhaustion regression tests
287
- - t6600: add test cases for side-exhaustion edge cases
288
- - Documentation/technical: add paint-down-to-common doc
417
+* kk/merge-base-exhaustion (2026-07-01) 10 commits
418
+ . commit-reach: remove commit-date ordering fallback
419
+ . commit-reach: move min_generation check into paint_queue_get()
420
+ . commit-reach: terminate merge-base walk when one paint side is exhausted
421
+ . commit-reach: introduce struct paint_state with per-side counters
422
+ . t6600: add clock-skew topologies and step counts for edge cases
423
+ . commit-reach: add trace2 instrumentation to paint_down_to_common()
424
+ . t6099, t6600: add side-exhaustion regression tests
425
+ . t6600: add test cases for side-exhaustion edge cases
426
+ . test-lib-functions: improve diagnostic output for trace2 data assertions
427
+ . Documentation/technical: add paint-down-to-common doc
428
429
The merge-base computation has been optimized by stopping the walk
430
early when one side's exclusive commits in the queue are exhausted,
431
yielding significant speedups for queries with one-sided histories.
432
294
- Expecting a reroll.
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>
433
+ Needs review.
434
+ passes t6600 standalone, breaks when merged to 'seen'.
435
+ source: <pull.2149.v5.git.1782923832.gitgitgadget@gmail.com>
436
437
438
* dk/meson-enable-use-nsec-build (2026-06-20) 1 commit
@@ -328,8 +466,7 @@ Release tarballs are available at:
466
source: <20260625-pks-connected-generic-promisor-checks-v3-0-7308f3b9dc44@pks.im>
467
468
331
-* ps/libgit-in-subdir (2026-06-26) 4 commits
332
- - fixup??? Move libgit.a sources into separate "lib/" directory
469
+* ps/libgit-in-subdir (2026-06-30) 3 commits
470
- Move libgit.a sources into separate "lib/" directory
471
- t/helper: prepare "test-example-tap.c" for introduction of "lib/"
472
- Merge branch 'ps/odb-source-packed' into ps/libgit-in-subdir
@@ -340,10 +477,8 @@ Release tarballs are available at:
477
library code.
478
479
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>
480
+ cf. <cbbb08fc-fd4d-45ef-927b-05ac44602ff1@gmail.com>
481
+ source: <20260701-pks-libgit-in-subdir-v3-0-5e4860056094@pks.im>
482
483
484
* ps/odb-generalize-prepare (2026-06-22) 3 commits
@@ -357,8 +492,8 @@ Release tarballs are available at:
492
flag, and a new `odb_prepare()` wrapper has been introduced to
493
allow pre-opening object database sources.
494
360
- Waiting for response(s) to review comment(s).
361
- cf. <87ldc14i4n.fsf@emacs.iotcl.com>
495
+ Will merge to 'next'?
496
+ cf. <87ik704f1j.fsf@emacs.iotcl.com>
497
source: <20260622-b4-pks-odb-generalize-prepare-v1-0-d2a5c5d13144@pks.im>
498
499
@@ -371,7 +506,7 @@ Release tarballs are available at:
506
and how the resolution of such critiques should be recorded in the
507
final commit messages.
508
374
- Will cook in 'next'.
509
+ Will merge to 'master'.
510
cf. <ajjwYGWZ6hQWr600@pks.im>
511
source: <xmqqeci0g4mz.fsf@gitster.g>
512
@@ -433,6 +568,7 @@ Release tarballs are available at:
568
Waiting for response(s) to review comment(s).
569
cf. <xmqqse65zyhw.fsf@gitster.g>
570
cf. <akIQLM6xZTHBudWT@pks.im>
571
+ cf. <3b3af3ef-a043-4af9-964e-429237789c97@gmail.com>
572
source: <pull.2337.v6.git.git.1782635349.gitgitgadget@gmail.com>
573
574
@@ -451,12 +587,12 @@ Release tarballs are available at:
587
provide a default for the per-remote `remote.<name>.followRemoteHEAD`
588
setting.
589
454
- Will cook in 'next'.
590
+ Will merge to 'master'.
591
cf. <xmqqcxxp1j2t.fsf@gitster.g>
592
source: <20260619094751.2996804-1-m@lfurio.us>
593
594
459
-* ps/refs-writing-subcommands (2026-06-17) 5 commits
595
+* ps/refs-writing-subcommands (2026-06-30) 5 commits
596
- builtin/refs: add "rename" subcommand
597
- builtin/refs: add "create" subcommand
598
- builtin/refs: add "update" subcommand
@@ -467,8 +603,9 @@ Release tarballs are available at:
603
"update", and "rename" subcommands to create, delete, update, and
604
rename references, respectively.
605
470
- Needs review.
471
- source: <20260617-pks-refs-writing-subcommands-v2-0-07f3d18336f9@pks.im>
606
+ Will merge to 'next'?
607
+ cf. <xmqqcxx7susi.fsf@gitster.g>
608
+ source: <20260630-pks-refs-writing-subcommands-v3-0-deb04de1ecef@pks.im>
609
610
611
* po/hash-object-size-t (2026-06-16) 6 commits
@@ -484,7 +621,7 @@ Release tarballs are available at:
621
and other LLP64 platforms has been improved by converting object header
622
buffers and data-handling functions from 'unsigned long' to 'size_t'.
623
487
- Will cook in 'next'.
624
+ Will merge to 'master'.
625
cf. <ajOQthRjhD3hRM9w@pks.im>
626
source: <pull.2138.v2.git.1781621398.gitgitgadget@gmail.com>
627
@@ -500,7 +637,7 @@ Release tarballs are available at:
637
The trailer sections in SubmittingPatches have been updated to
638
encourage use of standard trailers.
639
503
- Will cook in 'next'.
640
+ Will merge to 'master'.
641
cf. <xmqq4ij0vo8f.fsf@gitster.g>
642
source: <V3_CV_SubPatches_trailers.9ec@msgid.xyz>
643
@@ -513,7 +650,7 @@ Release tarballs are available at:
650
which the path being tracked gets renamed differently in multiple
651
history lines, better.
652
516
- Will cook in 'next'.
653
+ Will merge to 'master'.
654
source: <ajjU4w2B0NlZffw1@collabora.com>
655
656
@@ -554,6 +691,7 @@ Release tarballs are available at:
691
692
Waiting for response(s) to review comment(s).
693
cf. <aj93BE8MYatQAjoy@szeder.dev>
694
+ cf. <xmqqqzlpt543.fsf@gitster.g>
695
source: <pull.2135.v2.git.1781323575.gitgitgadget@gmail.com>
696
697
@@ -561,7 +699,7 @@ Release tarballs are available at:
699
(merged to 'next' on 2026-06-17 at 43ed8b3969)
700
+ cat-file: speed up default format
701
564
- Will cook in 'next'.
702
+ Will merge to 'master'.
703
cf. <20260615165326.GA91269@coredump.intra.peff.net>
704
source: <5a7ed929-6fe0-496c-83bd-65dee57c2241@web.de>
705
@@ -575,8 +713,8 @@ Release tarballs are available at:
713
into prio_queue itself, speeding up commit traversal workflows and
714
simplifying callers.
715
578
- On hold, waiting for kk/prio-queue-get-put-fusion to land first.
579
- cf. <CAL71e4MYNiScZjTwkApjDAjRh2LM0_SP59h5HCTywV-Pua03tw@mail.gmail.com>
716
+ Will merge to 'next'?
717
+ cf. <xmqqh5mjrbgq.fsf@gitster.g>
718
source: <pull.2140.v4.git.1780945851.gitgitgadget@gmail.com>
719
720
@@ -591,7 +729,8 @@ Release tarballs are available at:
729
connectivity checks across many candidate refs with shared
730
history.
731
594
- Needs review.
732
+ Comments?
733
+ cf. <xmqqqzlpulkp.fsf@gitster.g>
734
source: <20260612-ref-filter-memoized-contains-v4-0-5ed39fd001dd@gmail.com>
735
736
@@ -608,6 +747,7 @@ Release tarballs are available at:
747
cf. <xmqq5x358byf.fsf@gitster.g>
748
cf. <b5d70a0b-ef32-49c9-84ba-8a64b7809574@gmail.com>
749
cf. <f8b520d1-edeb-9e45-c503-025c8b5833c3@gmx.de>
750
+ cf. <akOpOXeD_gS5U7rH@pks.im>
751
source: <20260626-toon-git-replay-drop-merges-v5-0-5e120738b9d0@iotcl.com>
752
753
@@ -621,13 +761,14 @@ Release tarballs are available at:
761
+ builtin/init: simplify logic to configure worktree
762
+ builtin/init: stop modifying global `git_work_tree_cfg` variable
763
+ Merge branch 'ps/setup-centralize-odb-creation' into ps/setup-drop-global-state
764
+ (this branch is used by ps/setup-split-discovery-and-setup.)
765
766
Continuation of "setup.c" refactoring to drop remaining global state
767
(`git_work_tree_cfg`, `is_bare_repository_cfg`). The most notable
768
outcome is that `is_bare_repository()` has been updated to no longer
769
implicitly rely on `the_repository`.
770
630
- Will cook in 'next'.
771
+ Will merge to 'master'.
772
cf. <airVOrTboNDDGBak@denethor>
773
cf. <87ldckyygk.fsf@emacs.iotcl.com>
774
source: <20260611-b4-pks-setup-drop-global-state-v2-0-a6f7269c841d@pks.im>
@@ -647,6 +788,7 @@ Release tarballs are available at:
788
+ setup: stop applying repository format twice
789
+ setup: inline `check_and_apply_repository_format()`
790
+ Merge branch 'ps/setup-centralize-odb-creation' into ps/refs-onbranch-fixes
791
+ (this branch is used by ps/setup-split-discovery-and-setup.)
792
793
Reference backend configuration is now loaded lazily to avoid
794
recursive calls during repository initialization when "onbranch"
@@ -684,7 +826,7 @@ Release tarballs are available at:
826
The packed object source has been refactored into a proper struct
827
odb_source.
828
687
- Will cook in 'next'.
829
+ Will merge to 'master'.
830
cf. <ajK2QKdW-TdflfR0@denethor>
831
source: <20260617-pks-odb-source-packed-v3-0-b5c7583cd795@pks.im>
832
@@ -698,7 +840,7 @@ Release tarballs are available at:
840
their ref iterator, avoiding a loose-ref scaling regression in
841
repositories with many unrelated loose references.
842
701
- Will cook in 'next'.
843
+ Will merge to 'master'.
844
cf. <xmqqik7fsv2m.fsf@gitster.g>
845
source: <20260612-fix-git-branch-regression-v4-1-f150038c02f4@gmail.com>
846
@@ -713,26 +855,26 @@ Release tarballs are available at:
855
been migrated into struct repo_config_values to tie them to
856
per-repository configuration state.
857
716
- Will cook in 'next'.
858
+ Will merge to 'master'.
859
cf. <CAP8UFD35Tiy1_fqpjq8P-z=ZhzR3MTiThqfCs977652umRoSEQ@mail.gmail.com>
860
cf. <xmqqse6uwdnz.fsf@gitster.g>
861
source: <20260610124353.149874-2-cat@malon.dev>
862
source: <20260620140957.667820-1-cat@malon.dev>
863
864
723
-* ps/cat-file-remote-object-info (2026-06-25) 13 commits
865
+* ps/cat-file-remote-object-info (2026-07-01) 13 commits
866
- cat-file: make remote-object-info allow-list dynamic
725
- - cat-file: validate remote atoms with allow_list
867
+ - cat-file: validate remote atoms with an allow-list
868
- cat-file: add remote-object-info to batch-command
869
- transport: add client support for object-info
870
- serve: advertise object-info feature
871
- fetch-pack: move fetch initialization
730
- - connect: refactor packet writing
731
- - fetch-pack: move function to connect.c
732
- - fetch-pack: prepare function to be moved
733
- - t1006: split test utility functions into new "lib-cat-file.sh"
872
+ - connect: make `write_fetch_command_and_capabilities()` more generic
873
+ - fetch-pack: move `write_fetch_command_and_capabilities()` to connect.c
874
+ - fetch-pack: drop static `advertise_sid` variable
875
+ - t1006: split test utility functions into new 'lib-cat-file.sh'
876
- cat-file: declare loop counter inside for()
735
- - git-compat-util: add strtoul_szt() with error handling
877
+ - git-compat-util: add `strtoumax_szt()` with error handling
878
- transport-helper: fix memory leak of helper on disconnect
879
880
The `remote-object-info` command has been added to `git cat-file
@@ -745,21 +887,8 @@ Release tarballs are available at:
887
inapplicable or unsupported fields.
888
889
Waiting for response(s) to review comment(s).
748
- cf. <CAOLa=ZScS3Gmm5BAgJF69phpaDXGnP_j9jx+bMhn_tfF65RXEg@mail.gmail.com>
749
- source: <20260625-ps-eric-work-rebase-v14-0-09f7ffe21a53@gmail.com>
750
-
751
-
752
-* ap/http-redirect-wwwauth-fix (2026-06-02) 1 commit
753
- - http: preserve wwwauth_headers across redirects
754
-
755
- When cURL follows a redirect, the WWW-Authenticate headers from the
756
- redirect target were lost because credential_from_url() cleared the
757
- credential state. This has been fixed by preserving the collected
758
- headers across the redirect update.
759
-
760
- Expecting a reroll.
761
- cf. <5144a29d-a53f-4446-beff-e1f549345bf9@nvidia.com>
762
- source: <20260602161150.1527493-1-aplattner@nvidia.com>
890
+ cf. <xmqq7bneo9mh.fsf@gitster.g>
891
+ source: <20260701-ps-eric-work-rebase-v15-0-c88a43b63917@gmail.com>
892
893
894
* ps/doc-recommend-b4 (2026-06-15) 3 commits
@@ -772,7 +901,7 @@ Release tarballs are available at:
901
documentation has been updated to recommend using it as a
902
streamlined method for submitting patches.
903
775
- Will cook in 'next'.
904
+ Will merge to 'master'.
905
cf. <87eci7yomp.fsf@emacs.iotcl.com>
906
source: <20260615-pks-b4-v4-0-22cfca8f19c5@pks.im>
907
@@ -823,7 +952,7 @@ Release tarballs are available at:
952
faster packaging by falling back to path-walk when bitmaps cannot
953
fully satisfy the request.
954
826
- Will cook in 'next'.
955
+ Will merge to 'master'.
956
cf. <xmqqwlvq1qyy.fsf@gitster.g>
957
source: <cover.1782082975.git.me@ttaylorr.com>
958
@@ -837,7 +966,8 @@ Release tarballs are available at:
966
configuration) has been migrated into 'repo_config_values' to tie it
967
to a specific repository instance.
968
840
- Needs review.
969
+ Comments?
970
+ cf. <xmqqcxx9ukvw.fsf@gitster.g>
971
source: <20260619162105.648495-1-cat@malon.dev>
972
973
@@ -859,6 +989,7 @@ Release tarballs are available at:
989
+ repo: add path.gitdir with absolute and relative suffix formatting
990
+ repo: add path.commondir with absolute and relative suffix formatting
991
+ path: extract format_path() and use in rev-parse
992
+ (this branch is used by ps/setup-split-discovery-and-setup.)
993
994
The "git repo info" command has been taught new keys to output both
995
absolute and relative paths for "gitdir" and "commondir", supported by
@@ -869,7 +1000,7 @@ Release tarballs are available at:
1000
source: <20260624033748.108281-1-jayatheerthkulkarni2005@gmail.com>
1001
1002
872
-* ps/history-drop (2026-06-29) 11 commits
1003
+* ps/history-drop (2026-07-01) 11 commits
1004
- builtin/history: implement "drop" subcommand
1005
- builtin/history: split handling of ref updates into two phases
1006
- replay: expose `replay_result_queue_update()`
@@ -887,7 +1018,7 @@ Release tarballs are available at:
1018
parent.
1019
1020
Needs review.
890
- source: <20260629-b4-pks-history-drop-v7-0-6e9392a957d8@pks.im>
1021
+ source: <20260701-b4-pks-history-drop-v8-0-19b5cdf1facd@pks.im>
1022
1023
1024
* jk/setup-gitfile-diag-fix (2026-06-16) 1 commit
@@ -898,7 +1029,7 @@ Release tarballs are available at:
1029
been fixed, avoiding a potential NULL-pointer crash when reporting
1030
that a .git file does not point to a valid repository.
1031
901
- Will cook in 'next'.
1032
+ Will merge to 'master'.
1033
cf. <xmqqjyry4hax.fsf@gitster.g>
1034
source: <20260616123516.GA2301231@coredump.intra.peff.net>
1035
@@ -931,8 +1062,7 @@ Release tarballs are available at:
1062
the path with a dot, matching standard shell-completion behavior.
1063
1064
Waiting for response(s) to review comment(s).
934
- cf. <xmqq1pe0g08t.fsf@gitster.g>
935
- cf. <xmqqbjd37i4y.fsf@gitster.g>
1065
+ cf. <xmqqik71t3nr.fsf@gitster.g>
1066
source: <pull.2311.v3.git.git.1781978156.gitgitgadget@gmail.com>
1067
1068
@@ -968,7 +1098,7 @@ Release tarballs are available at:
1098
diverged from its push branch has been updated to suggest "git pull
1099
<remote> <branch>".
1100
971
- Will cook in 'next'.
1101
+ Will merge to 'master'.
1102
cf. <xmqq7bo6xuok.fsf@gitster.g>
1103
source: <pull.2301.v4.git.git.1779372367317.gitgitgadget@gmail.com>
1104
@@ -1006,7 +1136,7 @@ Release tarballs are available at:
1136
remotes via the promisor.acceptFromServerURL configuration
1137
variable.
1138
1009
- Will cook in 'next'.
1139
+ Will merge to 'master'.
1140
cf. <877bo7294j.fsf@emacs.iotcl.com>
1141
cf. <xmqqh5naxwfc.fsf@gitster.g>
1142
source: <20260527140820.1438165-1-christian.couder@gmail.com>
@@ -1036,7 +1166,7 @@ Release tarballs are available at:
1166
"ort" merge backend handles merging corrupt trees better by
1167
aborting when it should.
1168
1039
- Will cook in 'next'.
1169
+ Will merge to 'master'.
1170
cf. <xmqq5x3ldu4h.fsf@gitster.g>
1171
source: <pull.2096.v2.git.1781419047.gitgitgadget@gmail.com>
1172
@@ -1050,7 +1180,7 @@ Release tarballs are available at:
1180
improved to correctly abbreviate object IDs for more commands and
1181
avoid misinterpreting refs as object IDs.
1182
1053
- Will cook in 'next'.
1183
+ Will merge to 'master'.
1184
source: <cover.1782230024.git.phillip.wood@dunelm.org.uk>
1185
1186
@@ -1065,8 +1195,9 @@ Release tarballs are available at:
1195
appearing falsely related to unrelated commits rendered immediately
1196
above them.
1197
1068
- Waiting for response(s) to review comment(s).
1198
+ Expecting a reroll.
1199
The peek-ahead approach may need to be scratched.
1200
cf. <CAN5EUNSj-2hkEBF7N_M6RLsuujDNFNUF3w53zR7SN1_5i2BRyg@mail.gmail.com>
1201
cf. <CAL71e4OQ_kGb+UwHgikHG236-8BVtc7P9OdpV4i4UzYRCoPczw@mail.gmail.com>
1202
+ cf. <CAN5EUNTQV68_eofa7BGb0BukMe=U2d4-FEVmJwW4dObQ2r6LuA@mail.gmail.com>
1203
source: <20260620-ps-pre-commit-indent-v6-0-cdc6d8fd5fbc@gmail.com>