What's cooking (2026/06 #05)
Junio C Hamano committed
Jun 15, 2026 at 11:55 UTC
d9b424d2f20ab83037f4d84c3b04b44ab3228199
1 file changed
+414
-484
whats-cooking.txt
+414
-484
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
-Subject: What's cooking in git.git (Jun 2026, #04)
3
-X-master-at: 3e65291872de10c3f0bf05ea8c24187e7a71ebf0
4
-X-next-at: 7b1980befcad838a440dd908397520459faf403d
2
+Subject: What's cooking in git.git (Jun 2026, #05)
3
+X-master-at: 700432b2ba22603a0bcb71475c9c333d17c9b0d1
4
+X-next-at: 65d90a03286dc77b5f6461c448f51d024b3fee22
5
Bcc: lwn@lwn.net, gitster@pobox.com
6
7
-What's cooking in git.git (Jun 2026, #04)
7
+What's cooking in git.git (Jun 2026, #05)
8
-----------------------------------------
9
10
Here are the topics that have been cooking in my tree. Commits
@@ -53,199 +53,254 @@ Release tarballs are available at:
53
--------------------------------------------------
54
[Graduated to 'master']
55
56
-* gh/jump-auto-mode (2026-05-21) 1 commit
57
- (merged to 'next' on 2026-06-02 at f70dd05c9c)
58
- + git-jump: pick a mode automatically when invoked without arguments
59
-
60
- The 'git-jump' command (in contrib/) has been taught to automatically
61
- pick a mode (merge, diff, or ws) when invoked without arguments.
62
- cf. <20260522052821.GC861761@coredump.intra.peff.net>
63
- source: <pull.2108.v3.git.1779371110195.gitgitgadget@gmail.com>
64
-
65
-
66
-* hn/macos-linker-warning (2026-06-02) 1 commit
67
- (merged to 'next' on 2026-06-04 at db2ca164c4)
68
- + config.mak.uname: avoid macOS linker warning on Xcode 16.3+
56
+* ak/typofixes (2026-05-31) 1 commit
57
+ (merged to 'next' on 2026-06-09 at 40de2e7b90)
58
+ + doc: fix typos via codespell
59
+
60
+ Typofixes.
61
+ cf. <3398ef40-1547-4324-2cfc-97b9e2b24854@gmx.de>
62
+ cf. <xmqq8q8p1ese.fsf@gitster.g>
63
+ source: <20260531184428.55905-1-algonell@gmail.com>
64
+ source: <20260506101631.18127-1-algonell@gmail.com>
65
+ source: <3398ef40-1547-4324-2cfc-97b9e2b24854@gmx.de>
66
+
67
+
68
+* am/doc-tech-hash-typofix (2026-06-05) 1 commit
69
+ (merged to 'next' on 2026-06-09 at aeaf2363f8)
70
+ + doc: fix typo in GIT_ALTERNATE_OBJECT_DIRECTORIES
71
+
72
+ Typofix.
73
+ cf. <aiZo9FqsdKrhz0gA@pks.im>
74
+ source: <20260605172643.8796-1-amonakov@ispras.ru>
75
+
76
+
77
+* hn/config-typo-advice (2026-06-02) 2 commits
78
+ (merged to 'next' on 2026-06-09 at 5149e69e3e)
79
+ + config: improve diagnostic for "set" with missing value
80
+ + config: add git_config_key_is_valid() for quiet validation
81
+
82
+ "git config foo.bar=baz" is not likely to be a request to read the
83
+ value of such a variable with '=' in its name; rather it is plausible
84
+ that the user meant "git config set foo.bar baz". Give advice when
85
+ giving an error message.
86
+ cf. <xmqq1penqfg2.fsf@gitster.g>
87
+ source: <pull.2302.v6.git.git.1780425808.gitgitgadget@gmail.com>
88
+
89
+
90
+* jc/submitting-patches-cover-letter (2026-06-02) 2 commits
91
+ (merged to 'next' on 2026-06-09 at 42b2538a2a)
92
+ + SubmittingPatches: describe cover letter
93
+ + SubmittingPatches: separate typofixes section
94
+
95
+ Guidelines on how to write a cover letter for a multi-patch series
96
+ have been added to SubmittingPatches, which also got a new marker
97
+ to separate the section for typofixes.
98
+ cf. <c54f3571-ff7b-4caa-b75d-a739ed87ec9d@gmail.com>
99
+ cf. <aiEgUdnL8dkszKFn@pks.im>
100
+ source: <20260602144304.3341000-1-gitster@pobox.com>
101
+
102
+
103
+* lo/doc-format-patch-subject-prefix (2026-06-04) 1 commit
104
+ (merged to 'next' on 2026-06-09 at 58b2a20f6d)
105
+ + Documentation: remove redundant 'instead' in --subject-prefix
106
+
107
+ Wording used in "format-patch --subject-prefix" documentation
108
+ has been improved.
109
+
110
+ source: <20260604163510.36687-2-lucasseikioshiro@gmail.com>
111
+
112
+
113
+* ls/doc-raw-timestamp-prefix (2026-06-02) 1 commit
114
+ (merged to 'next' on 2026-06-09 at 7198b6bb9d)
115
+ + doc: document and test `@` prefix for raw timestamps
116
70
- A linker warning on macOS when building with Xcode 16.3 or newer has
71
- been avoided by passing -fno-common to the compiler when a
72
- sufficiently new linker is detected.
73
- source: <pull.2313.v3.git.git.1780385878555.gitgitgadget@gmail.com>
74
-
75
-
76
-* ib/doc-push-default-simple (2026-05-25) 1 commit
77
- (merged to 'next' on 2026-06-02 at 5c1ff2a769)
78
- + doc: clarify push.default=simple behavior
117
+ Documentation and tests have been added to clarify that Git's internal
118
+ raw timestamp format requires a `@` prefix for values less than
119
+ 100,000,000 to prevent ambiguity with other formats like YYYYMMDD.
120
+ cf. xmqqmrxdxq1r.fsf@gitster.g>
121
+ source: <20260602081924.673763-2-dev@luna.gl>
122
80
- The documentation for `push.default = simple` has been clarified to
81
- better explain its behavior, making it clear that it pushes the
82
- current branch to a same-named branch on the remote, and detailing
83
- the upstream requirements for centralized workflows.
84
- cf. <pull.2115.v2.git.1779767888508.gitgitgadget@gmail.com>
85
- source: <pull.2115.v2.git.1779767888508.gitgitgadget@gmail.com>
86
-
87
-
88
-* jc/doc-monitor-ghci (2026-05-24) 1 commit
89
- (merged to 'next' on 2026-06-02 at 46fb5fe1c2)
90
- + SubmittingPatches: proactively monitor GHCI pages
91
-
92
- Encourage original authors to monitor the CI status.
93
- source: <xmqq1pf0gpp3.fsf@gitster.g>
94
-
95
-
96
-* kk/wildmatch-windows-ls-files-prereq (2026-05-28) 1 commit
97
- (merged to 'next' on 2026-06-04 at 6dc748aa63)
98
- + t3070: skip ls-files tests with backslash patterns on Windows
99
-
100
- In t3070-wildmatch, "via ls-files" test variants with patterns
101
- containing backslash escapes are now skipped on Windows, avoiding 36
102
- test failures caused by pathspec separator conversion.
103
- cf. <xmqqecivjn7k.fsf@gitster.g>
104
- source: <pull.2128.git.1779958849319.gitgitgadget@gmail.com>
123
124
+* ob/more-repo-config-values (2026-06-02) 8 commits
125
+ (merged to 'next' on 2026-06-09 at 3d0b057aee)
126
+ + environment: move "warn_on_object_refname_ambiguity" into `struct repo_config_values`
127
+ + environment: move "sparse_expect_files_outside_of_patterns" into `struct repo_config_values`
128
+ + environment: move "core_sparse_checkout_cone" into `struct repo_config_values`
129
+ + environment: move "precomposed_unicode" into `struct repo_config_values`
130
+ + environment: move "pack_compression_level" into `struct repo_config_values`
131
+ + environment: move `zlib_compression_level` into `struct repo_config_values`
132
+ + environment: move "check_stat" into `struct repo_config_values`
133
+ + environment: move "trust_ctime" into `struct repo_config_values`
134
+
135
+ Many core configuration variables have been migrated from global
136
+ variables into 'repo_config_values' to tie them to a specific
137
+ repository instance, avoiding cross-repository state leakage.
138
+
139
+ source: <20260602170921.35869-1-belkid98@gmail.com>
140
+
141
+
142
+* ps/setup-centralize-odb-creation (2026-06-04) 9 commits
143
+ (merged to 'next' on 2026-06-09 at a1f23cb38c)
144
+ + setup: construct object database in `apply_repository_format()`
145
+ + repository: stop reading loose object map twice on repo init
146
+ + setup: stop initializing object database without repository
147
+ + setup: stop creating the object database in `setup_git_env()`
148
+ + repository: stop initializing the object database in `repo_set_gitdir()`
149
+ + setup: deduplicate logic to apply repository format
150
+ + setup: drop `setup_git_env()`
151
+ + t0001: plug test gaps for git-init(1) with GIT_OBJECT_DIRECTORY
152
+ + Merge branch 'ps/setup-wo-the-repository' into ps/setup-centralize-odb-creation
153
+ (this branch is used by ps/refs-avoid-chdir-notify-reparent and ps/setup-drop-global-state.)
154
+
155
+ The setup logic to discover and configure repositories has been
156
+ refactored, and the initialization of the object database has been
157
+ centralized.
158
+ cf. <CAOLa=ZQwVbLsOcajaxQwtkTPm=4St7EiGEEyL6_B0o3Tt1v1pw@mail.gmail.com>
159
+ source: <20260604-b4-pks-setup-centralize-odb-creation-v3-0-0691834f318a@pks.im>
160
107
-* lp/http-fetch-pack-index-leak-fix (2026-06-01) 2 commits
108
- (merged to 'next' on 2026-06-04 at f4090b5068)
109
- + http: fix memory leak in fetch_and_setup_pack_index()
110
- + http: cleanup function fetch_and_setup_pack_index()
111
-
112
- A memory leak in `fetch_and_setup_pack_index()` when verification of
113
- the downloaded pack index fails has been plugged. Also an obsolete
114
- `unlink()` call on parse failure has been cleaned up.
115
- cf. <20260529053659.GC1099450@coredump.intra.peff.net>
116
- source: <cover.1780321770.git.lorenzo.pegorari2002@gmail.com>
117
-
118
-
119
-* mm/doc-word-diff (2026-05-28) 1 commit
120
- (merged to 'next' on 2026-06-04 at 9fa723ec63)
121
- + doc: clarify that --word-diff operates on line-level hunks
122
-
123
- The documentation for "--word-diff" has been extended with a bit of
124
- implementation detail of where these different words come from.
125
- source: <pull.2113.v2.git.1779996106005.gitgitgadget@gmail.com>
126
-
127
-
128
-* mm/line-log-cleanup (2026-05-28) 3 commits
129
- (merged to 'next' on 2026-06-04 at 02f8bea278)
130
- + line-log: allow non-patch diff formats with -L
131
- + line-log: integrate -L output with the standard log-tree pipeline
132
- + revision: move -L setup before output_format-to-diff derivation
133
-
134
- The `git log -L` implementation has been refactored to use the
135
- standard diff output pipeline, enabling pickaxe and diff-filter to
136
- work as expected. Additionally, metadata-only diff formats like
137
- --raw and --name-only are now supported with -L.
138
- cf. <B59BA5B1-184D-48A8-8BAD-11EB6F8EB50C@gmail.com>
139
- source: <pull.2094.v3.git.1780001267.gitgitgadget@gmail.com>
140
-
141
-
142
-* ps/odb-source-loose (2026-06-01) 19 commits
143
- (merged to 'next' on 2026-06-04 at 660909ad66)
144
- + odb/source-loose: drop pointer to the "files" source
145
- + odb/source-loose: stub out remaining callbacks
146
- + odb/source-loose: wire up `write_object_stream()` callback
147
- + object-file: refactor writing objects to use loose source
148
- + odb/source-loose: wire up `write_object()` callback
149
- + loose: refactor object map to operate on `struct odb_source_loose`
150
- + odb/source-loose: wire up `freshen_object()` callback
151
- + odb/source-loose: drop `odb_source_loose_has_object()`
152
- + odb/source-loose: wire up `count_objects()` callback
153
- + odb/source-loose: wire up `find_abbrev_len()` callback
154
- + odb/source-loose: wire up `for_each_object()` callback
155
- + odb/source-loose: wire up `read_object_stream()` callback
156
- + odb/source-loose: wire up `read_object_info()` callback
157
- + odb/source-loose: wire up `close()` callback
158
- + odb/source-loose: wire up `reprepare()` callback
159
- + odb/source-loose: start converting to a proper `struct odb_source`
160
- + odb/source-loose: store pointer to "files" instead of generic source
161
- + odb/source-loose: move loose source into "odb/" subsystem
162
- + Merge branch 'ps/odb-in-memory' into ps/odb-source-loose
163
- (this branch is used by ps/odb-source-packed.)
164
-
165
- The loose object source has been refactored into a proper `struct
166
- odb_source`.
167
- source: <20260601-b4-pks-odb-source-loose-v2-0-90ff159430af@pks.im>
168
-
169
-
170
-* rs/strbuf-add-oid-hex (2026-05-13) 1 commit
171
- (merged to 'next' on 2026-06-02 at 4876f95de0)
172
- + hex: add and use strbuf_add_oid_hex()
173
-
174
- Formatting object name in full hexadecimal form has been optimized
175
- by using a new strbuf_add_oid_hex() helper function.
176
- cf. <20260513160155.GA103037@coredump.intra.peff.net>
177
- source: <183aa0fd-d455-4ec9-9c42-d511fac8b3e4@web.de>
178
-
179
-
180
-* rs/strbuf-add-uint (2026-05-12) 4 commits
181
- (merged to 'next' on 2026-06-02 at f5be02d8ec)
182
- + ls-tree: use strbuf_add_uint()
183
- + ls-files: use strbuf_add_uint()
184
- + cat-file: use strbuf_add_uint()
185
- + strbuf: add strbuf_add_uint()
186
-
187
- Adding a decimal integer with strbuf_addf("%u") appears commonly;
188
- they have been optimized by using a custom formatter.
189
- cf. <20260512184619.GD70851@coredump.intra.peff.net>
190
- source: <20260512115603.80780-1-l.s.r@web.de>
191
-
192
-
193
-* st/daemon-sockaddr-fixes (2026-05-27) 3 commits
194
- (merged to 'next' on 2026-06-04 at 17684e6158)
195
- + daemon: guard NULL REMOTE_PORT in execute() logging
196
- + daemon: fix IPv6 address truncation in ip2str()
197
- + daemon: fix IPv6 address corruption in lookup_hostname()
198
-
199
- Correct use of sockaddr API in "git daemon".
200
- source: <pull.2300.v3.git.git.1779937016.gitgitgadget@gmail.com>
201
-
202
-
203
-* tb/bitmap-build-performance (2026-05-27) 9 commits
204
- (merged to 'next' on 2026-06-02 at d1a84a996a)
205
- + pack-bitmap: build pseudo-merge bitmaps after regular bitmaps
206
- + pack-bitmap: remember pseudo-merge parents
207
- + pack-bitmap: sort bitmaps before XORing
208
- + pack-bitmap: cache object positions during fill
209
- + pack-bitmap: consolidate `find_object_pos()` success path
210
- + pack-bitmap: reuse stored selected bitmaps
211
- + pack-bitmap: check subtree bits before recursing
212
- + pack-bitmap: pass object position to `fill_bitmap_tree()`
213
- + Merge branch 'tb/pseudo-merge-bugfixes' into tb/bitmap-build-performance
214
-
215
- Reachability bitmap generation has been significantly optimized. By
216
- reordering tree traversal, caching object positions, and refining how
217
- pseudo-merge bitmaps are constructed, the performance of "git repack
218
- --write-midx-bitmaps" is improved, especially for large repositories
219
- and when using pseudo-merges.
220
- cf. <20260529083439.GD1106035@coredump.intra.peff.net>
221
- source: <cover.1779911733.git.me@ttaylorr.com>
222
-
223
-
224
-* th/promisor-quiet-per-repo (2026-04-06) 1 commit
225
- (merged to 'next' on 2026-06-02 at 02a749d7fe)
226
- + promisor-remote: fix promisor.quiet to use the correct repository
227
-
228
- The "promisor.quiet" configuration variable was not used from
229
- relevant submodules when commands like "grep --recurse-submodules"
230
- triggered a lazy fetch, which has been corrected.
231
- cf. <c87f1f12-d0cc-4150-8f43-4dc9cc1fe24f@malon.dev>
232
- source: <20260406183041.783800-1-vikingtc4@gmail.com>
233
-
234
-
235
-* ua/push-remote-group (2026-05-03) 3 commits
236
- (merged to 'next' on 2026-06-02 at ba5d6aebaa)
237
- + push: support pushing to a remote group
238
- + remote: move remote group resolution to remote.c
239
- + remote: fix sign-compare warnings in push_cas_option
240
-
241
- "git push" learned to take a "remote group" name to push to, which
242
- causes pushes to multiple places, just like "git fetch" would do.
243
- cf. <20260518182721.155070-1-usmanakinyemi202@gmail.com>
244
- source: <20260503153402.1333220-1-usmanakinyemi202@gmail.com>
245
-
161
--------------------------------------------------
162
[New Topics]
163
164
+* kh/submittingpatches-trailers (2026-06-10) 6 commits
165
+ - SubmittingPatches: note that trailer order matters
166
+ - SubmittingPatches: be consistent with trailer markup
167
+ - SubmittingPatches: document Based-on-patch-by trailer
168
+ - SubmittingPatches: discourage common Linux trailers
169
+ - SubmittingPatches: discuss non-ident trailers
170
+ - SubmittingPatches: encourage trailer use for substantial help
171
+
172
+ The trailer sections in SubmittingPatches have been updated to
173
+ encourage use of standard trailers.
174
+
175
+ Waiting for response(s) to review comment(s).
176
+ cf. <xmqqse6tnho1.fsf@gitster.g>
177
+ source: <CV_SubPatches_trailers.8f3@msgid.xyz>
178
+
179
+
180
+* mv/log-follow-mergy (2026-06-14) 1 commit
181
+ - log: improve --follow following renames for non-linear history
182
+
183
+ "git log --follow" has been updated to handle non-linear history, in
184
+ which the path being tracked gets renamed differently in multiple
185
+ history lines, better.
186
+
187
+ Needs review.
188
+ source: <ai-aE83w02xPRlPr@collabora.com>
189
+
190
+
191
+* wy/doc-myfirstcontribution-trim-quotes (2026-06-11) 1 commit
192
+ - MyFirstContribution: mention trimming quoted text in replies
193
+
194
+ The contributor guide has been updated to advise new contributors to
195
+ trim irrelevant quoted text when replying to review comments, matching
196
+ the existing advice given to reviewers.
197
+
198
+ Comments?
199
+ cf. <xmqqcxxwljue.fsf@gitster.g>
200
+ source: <080402ff0ac8127b654dccea59a1bf643df62a5c.1781186476.git.wy@wyuan.org>
201
+
202
+
203
+* td/ls-files-pathspec-prefilter (2026-06-11) 1 commit
204
+ (merged to 'next' on 2026-06-15 at 38918c4cfd)
205
+ + ls-files: filter pathspec before lstat
206
+
207
+ `git ls-files --modified` and `git ls-files --deleted` have been
208
+ optimized to filter with pathspec before calling lstat() when there is
209
+ only a single pathspec item, avoiding unnecessary filesystem access
210
+ for entries that will not be shown.
211
+
212
+ Will merge to 'master'.
213
+ cf. <xmqqfr2tnfk0.fsf@gitster.g>
214
+ source: <20260611-ls-files-pathspec-lstat-v3-1-f967e1a00c13@gmail.com>
215
+
216
+
217
+* tb/midx-incremental-custom-base (2026-06-12) 3 commits
218
+ - midx-write: include packs above custom incremental base
219
+ - midx: pass custom '--base' through incremental writes
220
+ - t5334: expose shared `nth_line()` helper
221
+
222
+ The `git multi-pack-index write --incremental` command has been
223
+ corrected to properly honor the `--base` option. Previously, the
224
+ custom base was ignored by the normal write path, and the pack
225
+ exclusion logic incorrectly skipped packs from layers above the
226
+ selected base, breaking reachability closure for bitmaps.
227
+
228
+ Needs review.
229
+ source: <cover.1781294771.git.me@ttaylorr.com>
230
+
231
+
232
+* en/commit-graph-timestamp-fix (2026-06-13) 1 commit
233
+ - commit-graph: use timestamp_t for max parent generation accumulator
234
+
235
+ compute_reachable_generation_numbers() in commit-graph used a 32-bit
236
+ integer to accumulate parent generations, which is OK for generation
237
+ number v1 (topological levels), but with generation number v2
238
+ (adjusted committer timestamps), it truncated timestamps beyond
239
+ 2106. Fixed by widening the accumulator to timestamp_t.
240
+ Will merge to 'next'?
241
+ cf. <ai-zzWn9Ls6-j9h8@pks.im>
242
+ source: <pull.2148.git.1781420271100.gitgitgadget@gmail.com>
243
+
244
+
245
+* mm/test-grep-lint (2026-06-12) 6 commits
246
+ . t: add greplint to detect bare grep assertions
247
+ . t: convert grep assertions to test_grep
248
+ . t: fix Lexer line count for $() inside double-quoted strings
249
+ . t: extract chainlint's parser into shared module
250
+ . t: fix grep assertions missing file arguments
251
+ . t/README: document test_grep helper
252
+
253
+ Needs review.
254
+ source: <pull.2135.v2.git.1781323575.gitgitgadget@gmail.com>
255
+
256
+
257
+* js/objects-larger-than-4gb-on-windows-more (2026-06-15) 7 commits
258
+ - odb: use size_t for object_info.sizep and the size APIs
259
+ - packfile,delta: drop the `cast_size_t_to_ulong()` wrappers
260
+ - pack-objects: use size_t for in-core object sizes
261
+ - packfile: widen unpack_entry()'s size out-parameter to size_t
262
+ - pack-objects(check_pack_inflate()): use size_t instead of unsigned long
263
+ - patch-delta: use size_t for sizes
264
+ - compat/msvc: use _chsize_s for ftruncate
265
+
266
+ source: <pull.2137.v2.git.1781524349.gitgitgadget@gmail.com>
267
+
268
+
269
+* kw/gitattributes-typofix (2026-06-15) 1 commit
270
+ - gitattributes: fix eol attribute for Perl scripts
271
+
272
+ source: <pull.2151.v2.git.1781510039164.gitgitgadget@gmail.com>
273
+
274
+
275
+* rs/cat-file-default-format-optim (2026-06-14) 1 commit
276
+ - cat-file: speed up default format
277
+
278
+ source: <5a7ed929-6fe0-496c-83bd-65dee57c2241@web.de>
279
+
280
+--------------------------------------------------
281
+[Cooking]
282
+
283
+* js/parseopt-subcommand-autocorrection (2026-04-27) 11 commits
284
+ - SQUASH???
285
+ - doc: document autocorrect API
286
+ - parseopt: add tests for subcommand autocorrection
287
+ - parseopt: enable subcommand autocorrection for git-remote and git-notes
288
+ - parseopt: autocorrect mistyped subcommands
289
+ - autocorrect: provide config resolution API
290
+ - autocorrect: rename AUTOCORRECT_SHOW to AUTOCORRECT_HINT
291
+ - autocorrect: use mode and delay instead of magic numbers
292
+ - help: move tty check for autocorrection to autocorrect.c
293
+ - help: make autocorrect handling reusable
294
+ - parseopt: extract subcommand handling from parse_options_step()
295
+
296
+ The parse-options library learned to auto-correct misspelled
297
+ subcommand names.
298
+
299
+ Expecting a reroll for too long. stalled.
300
+ cf. <SY0P300MB0801E50FCB7EB2F45CD15208CE042@SY0P300MB0801.AUSP300.PROD.OUTLOOK.COM>
301
+ source: <SY0P300MB0801677A2A1E0FD38D06A841CE2A2@SY0P300MB0801.AUSP300.PROD.OUTLOOK.COM>
302
+
303
+
304
* kk/prio-queue-get-put-fusion (2026-06-08) 2 commits
305
- prio-queue: fold lazy_queue into prio_queue for automatic get+put fusion
306
- prio-queue: rename .nr to .nr_ and add accessor helpers
@@ -264,13 +319,15 @@ Release tarballs are available at:
319
320
API clean-up.
321
267
- Needs review.
322
+ Waiting for response(s) to review comment(s).
323
+ cf. <3a3d1dc4-341f-4276-a1ee-2972a885db84@gmail.com>
324
source: <pull.2144.v2.git.1781178567862.gitgitgadget@gmail.com>
325
326
271
-* td/ref-filter-memoize-contains (2026-06-08) 2 commits
327
+* td/ref-filter-memoize-contains (2026-06-12) 3 commits
328
+ - commit-reach: die on contains walk errors
329
- ref-filter: memoize --contains with generations
273
- - commit-reach: handle cycles in contains walk
330
+ - commit-reach: reject cycles in contains walk
331
332
'git branch --contains' and 'git for-each-ref --contains' have
333
been optimized to use the memoized commit traversal previously
@@ -278,9 +335,8 @@ Release tarballs are available at:
335
connectivity checks across many candidate refs with shared
336
history.
337
281
- Waiting for response(s) to review comment(s).
282
- cf. <CAOLa=ZRFSuGrqFXhTuQ7Dk5GCQQGHom++78xwONoiNdt1h_gWQ@mail.gmail.com>
283
- source: <20260608-ref-filter-memoized-contains-v2-0-e72720344a7c@gmail.com>
338
+ Needs review.
339
+ source: <20260612-ref-filter-memoized-contains-v4-0-5ed39fd001dd@gmail.com>
340
341
342
* tc/replay-linearize (2026-06-10) 3 commits
@@ -294,55 +350,60 @@ Release tarballs are available at:
350
351
Waiting for response(s) to review comment(s).
352
cf. <xmqqjys6wcpo.fsf@gitster.g>
353
+ cf. <CABPp-BGRi2obnqRGEY9pSMyvRbNGs8AdVUpZmr0C6vZSgHb=cg@mail.gmail.com>
354
source: <20260610-toon-git-replay-drop-merges-v2-0-5714a71c6d83@iotcl.com>
355
356
357
* td/describe-tag-iteration (2026-06-10) 1 commit
301
- - describe: limit default ref iteration to tags
358
+ (merged to 'next' on 2026-06-15 at 1ae171f3b7)
359
+ + describe: limit default ref iteration to tags
360
361
'git describe' has been taught to pass the 'refs/tags/' prefix down to
362
the ref iterator when '--all' is not requested, avoiding unnecessary
363
iteration over non-tag refs.
364
307
- Needs review.
365
+ Will merge to 'master'.
366
+ cf. <20260611064912.GC2191159@coredump.intra.peff.net>
367
source: <20260610-describe-tag-ref-scope-v3-1-5aa63ab279f7@gmail.com>
368
369
311
-* ta/doc-config-adoc-fixes (2026-06-10) 3 commits
312
- - doc: git-config: escape erroneous highlight markup
313
- - doc: config/sideband: fix description list delimiter
314
- - doc: config: terminate runaway lists
370
+* ta/doc-config-adoc-fixes (2026-06-11) 3 commits
371
+ (merged to 'next' on 2026-06-15 at 93340b5cf0)
372
+ + doc: git-config: escape erroneous highlight markup
373
+ + doc: config/sideband: fix description list delimiter
374
+ + doc: config: terminate runaway lists
375
376
Various AsciiDoc markup fixes in 'git config' documentation and
377
related files to ensure lists and formatting are rendered correctly.
378
319
- Comments?
320
- cf. <20260611083139.GA2237523@coredump.intra.peff.net>
321
- source: <20260610225513.6269-1-taahol@utu.fi>
379
+ Will merge to 'master'.
380
+ cf. <20260612045329.GA593075@coredump.intra.peff.net>
381
+ source: <20260611161946.12166-1-taahol@utu.fi>
382
383
384
* ps/setup-drop-global-state (2026-06-10) 8 commits
325
- - treewide: drop USE_THE_REPOSITORY_VARIABLE
326
- - environment: stop using `the_repository` in `is_bare_repository()`
327
- - environment: split up concerns of `is_bare_repository_cfg`
328
- - builtin/init: stop modifying `is_bare_repository_cfg`
329
- - setup: remove global `git_work_tree_cfg` variable
330
- - builtin/init: simplify logic to configure worktree
331
- - builtin/init: stop modifying global `git_work_tree_cfg` variable
332
- - Merge branch 'ps/setup-centralize-odb-creation' into ps/setup-drop-global-state
333
- (this branch uses ps/setup-centralize-odb-creation.)
385
+ (merged to 'next' on 2026-06-15 at d9a8b88d47)
386
+ + treewide: drop USE_THE_REPOSITORY_VARIABLE
387
+ + environment: stop using `the_repository` in `is_bare_repository()`
388
+ + environment: split up concerns of `is_bare_repository_cfg`
389
+ + builtin/init: stop modifying `is_bare_repository_cfg`
390
+ + setup: remove global `git_work_tree_cfg` variable
391
+ + builtin/init: simplify logic to configure worktree
392
+ + builtin/init: stop modifying global `git_work_tree_cfg` variable
393
+ + Merge branch 'ps/setup-centralize-odb-creation' into ps/setup-drop-global-state
394
395
Continuation of "setup.c" refactoring to drop remaining global state
396
(`git_work_tree_cfg`, `is_bare_repository_cfg`). The most notable
397
outcome is that `is_bare_repository()` has been updated to no longer
398
implicitly rely on `the_repository`.
399
340
- Comments?
400
+ Will merge to 'master'.
401
+ cf. <airVOrTboNDDGBak@denethor>
402
+ cf. <87ldckyygk.fsf@emacs.iotcl.com>
403
source: <20260611-b4-pks-setup-drop-global-state-v2-0-a6f7269c841d@pks.im>
404
405
344
-* ps/refs-avoid-chdir-notify-reparent (2026-06-10) 10 commits
345
- - refs: always use absolute paths for reference stores
406
+* ps/refs-avoid-chdir-notify-reparent (2026-06-15) 9 commits
407
- refs: drop local buffer in `refs_compute_filesystem_location()`
408
- refs: fix recursing `get_main_ref_store()` with "onbranch" config
409
- repository: free main reference database
@@ -352,49 +413,36 @@ Release tarballs are available at:
413
- setup: stop applying repository format twice
414
- setup: inline `check_and_apply_repository_format()`
415
- Merge branch 'ps/setup-centralize-odb-creation' into ps/refs-avoid-chdir-notify-reparent
355
- (this branch uses ps/setup-centralize-odb-creation.)
416
417
The reference backends have been converted to always use absolute
418
paths internally. This allows dropping the calls to
419
`chdir_notify_reparent()` and fixes a memory leak in how the
420
reference database is constructed with an "onbranch" condition.
421
362
- Waiting for response(s) to review comment(s).
363
- cf. <20260611065346.GD2191159@coredump.intra.peff.net>
364
- source: <20260610-b4-pks-refs-avoid-chdir-notify-reparent-v1-0-56c864b01c43@pks.im>
422
+ Needs review.
423
+ source: <20260615-b4-pks-refs-avoid-chdir-notify-reparent-v2-0-f4854aa99859@pks.im>
424
425
426
* jc/t1400-fifo-cleanup (2026-06-10) 1 commit
368
- - t1400: have fifo test clean after itself
369
-
370
- source: <xmqqo6hit6rn.fsf@gitster.g>
427
+ (merged to 'next' on 2026-06-15 at 7d5acd110a)
428
+ + t1400: have fifo test clean after itself
429
372
---------------------------------------------------
373
-[Stalled]
374
-
375
-* cs/subtree-split-recursion (2026-03-05) 3 commits
376
- - contrib/subtree: reduce recursion during split
377
- - contrib/subtree: functionalize split traversal
378
- - contrib/subtree: reduce function side-effects
379
-
380
- When processing large history graphs on Debian or Ubuntu, "git
381
- subtree" can die with a "recursion depth reached" error.
430
+ Test cleanup.
431
383
- Waiting for response(s) to review comment(s) for too long, consider discarding.
384
- cf. <xmqqv7c13o5l.fsf@gitster.g>
385
- source: <20260305-cs-subtree-split-recursion-v2-0-7266be870ba9@howdoi.land>
432
+ Will merge to 'master'.
433
+ cf. <aiqs5Wq2Di-6yW0D@pks.im>
434
+ source: <xmqqo6hit6rn.fsf@gitster.g>
435
387
---------------------------------------------------
388
-[Cooking]
436
437
* jd/unpack-trees-wo-the-repository (2026-03-31) 1 commit
391
- - unpack-trees: use repository from index instead of global
438
+ (merged to 'next' on 2026-06-11 at 3d7788721e)
439
+ + unpack-trees: use repository from index instead of global
440
441
A handful of inappropriate uses of the_repository have been
442
rewritten to use the right repository structure instance in the
443
unpack-trees.c codepath.
444
397
- Will merge to 'next'.
445
+ Will merge to 'master'.
446
cf. <xmqqqzmfz91r.fsf@gitster.g>
447
source: <pull.2258.v2.git.git.1774971267.gitgitgadget@gmail.com>
448
@@ -427,25 +475,27 @@ Release tarballs are available at:
475
476
477
* ps/transport-helper-tsan-fix (2026-06-09) 1 commit
430
- - transport-helper: fix TSAN race in transfer_debug()
478
+ (merged to 'next' on 2026-06-15 at 0857e6696f)
479
+ + transport-helper: fix TSAN race in transfer_debug()
480
481
The TSAN race in transfer_debug() within transport-helper.c has been
482
resolved by initializing the debug flag early in
483
bidirectional_transfer_loop() before spawning worker threads, allowing
484
the removal of a TSAN suppression.
485
437
- Will merge to 'next'?
486
+ Will merge to 'master'.
487
cf. <20260609002833.GE358144@coredump.intra.peff.net>
488
cf. <20260611083320.GI2191159@coredump.intra.peff.net>
489
source: <20260609134741.4727-2-pushkarkumarsingh1970@gmail.com>
490
491
492
* ta/typofixes (2026-06-04) 1 commit
444
- - docs: fix typos
493
+ (merged to 'next' on 2026-06-11 at dfb63ded01)
494
+ + docs: fix typos
495
496
Typofixes
497
448
- Will merge to 'next'.
498
+ Will merge to 'master'.
499
cf. <xmqqh5ncvfsu.fsf@gitster.g>
500
source: <20260604131457.19215-1-taahol@utu.fi>
501
@@ -463,42 +513,23 @@ Release tarballs are available at:
513
source: <pull.2130.git.1780590261.gitgitgadget@gmail.com>
514
515
466
-* dl/posix-unused-warning-clang (2026-06-08) 2 commits
467
- - compat/posix.h: simplify GIT_GNUC_PREREQ() comparison
468
- - compat/posix.h: enable UNUSED warning messages for Clang
516
+* dl/posix-unused-warning-clang (2026-06-13) 3 commits
517
+ (merged to 'next' on 2026-06-15 at 1d7e627c24)
518
+ + compat/posix.h: simplify GIT_GNUC_PREREQ() comparison
519
+ + compat/posix.h: clean up GIT_GNUC_PREREQ() and UNUSED
520
+ + compat/posix.h: enable UNUSED warning messages for Clang
521
522
The UNUSED macro in 'compat/posix.h' has been updated to use a
523
newly introduced GIT_CLANG_PREREQ macro for compiler version
524
checks, and the existing GIT_GNUC_PREREQ macro has been modernized
525
to use explicit major/minor comparisons rather than bit-shifting.
526
475
- Needs review.
476
- source: <20260608124419.38905-1-dominik.loidolt@univie.ac.at>
477
-
478
-
479
-* lo/doc-format-patch-subject-prefix (2026-06-04) 1 commit
480
- (merged to 'next' on 2026-06-09 at 58b2a20f6d)
481
- + Documentation: remove redundant 'instead' in --subject-prefix
482
-
483
- Wording used in "format-patch --subject-prefix" documentation
484
- has been improved.
485
-
486
- Will merge to 'master'.
487
- source: <20260604163510.36687-2-lucasseikioshiro@gmail.com>
488
-
489
-
490
-* am/doc-tech-hash-typofix (2026-06-05) 1 commit
491
- (merged to 'next' on 2026-06-09 at aeaf2363f8)
492
- + doc: fix typo in GIT_ALTERNATE_OBJECT_DIRECTORIES
493
-
494
- Typofix.
495
-
527
Will merge to 'master'.
497
- cf. <aiZo9FqsdKrhz0gA@pks.im>
498
- source: <20260605172643.8796-1-amonakov@ispras.ru>
528
+ cf. <ai-8Y1r9zbWfdY8p@pks.im>
529
+ source: <20260613122711.38662-1-dominik.loidolt@univie.ac.at>
530
531
501
-* td/ref-filter-restore-prefix-iteration (2026-06-10) 1 commit
532
+* td/ref-filter-restore-prefix-iteration (2026-06-12) 1 commit
533
- ref-filter: restore prefix-scoped iteration
534
535
Commands that list branches and tags (like git branch and git tag)
@@ -507,17 +538,18 @@ Release tarballs are available at:
538
repositories with many unrelated loose references.
539
540
Needs review.
510
- source: <20260610-fix-git-branch-regression-v3-1-6fd48fad7a53@gmail.com>
541
+ source: <20260612-fix-git-branch-regression-v4-1-f150038c02f4@gmail.com>
542
543
544
* ty/move-protect-hfs-ntfs (2026-06-10) 1 commit
514
- - environment.c: move 'protect_hfs' and 'protect_ntfs' into 'repo_config_values'
545
+ (merged to 'next' on 2026-06-15 at c2a30ca954)
546
+ + environment: move 'protect_hfs' and 'protect_ntfs' into 'repo_config_values'
547
548
The global configuration variables protect_hfs and protect_ntfs have
549
been migrated into struct repo_config_values to tie them to
550
per-repository configuration state.
551
520
- Will merge to 'next'?
552
+ Will merge to 'master'.
553
cf. <CAP8UFD35Tiy1_fqpjq8P-z=ZhzR3MTiThqfCs977652umRoSEQ@mail.gmail.com>
554
cf. <xmqqse6uwdnz.fsf@gitster.g>
555
source: <20260610124353.149874-2-cat@malon.dev>
@@ -532,8 +564,8 @@ Release tarballs are available at:
564
the top-level --no-includes command-line option, have been introduced
565
to ignore configuration include directives.
566
535
- Comments?
536
- cf. <20260608225149.GB340696@coredump.intra.peff.net>
567
+ Retracted.
568
+ cf. <539713c4-b291-42e6-8541-a16a454518f5@gmail.com>
569
source: <pull.2139.git.1780927027.gitgitgadget@gmail.com>
570
571
@@ -560,8 +592,8 @@ Release tarballs are available at:
592
server-advertised capabilities and safely returns empty strings for
593
inapplicable or unsupported fields.
594
563
- Comments?
564
- cf. <CA+J6zkQ22en2HgH03EedKOfC+jLcHH2UbwpH0h_bDEAHR6B2pg@mail.gmail.com>
595
+ Expecting a reroll.
596
+ cf. <CAN5EUNQQBRoHUbZtkhLoBX-K7_4Carsxws_fyh1Ac7Lmd_FjKg@mail.gmail.com>
597
source: <20260608-ps-eric-work-rebase-v12-0-5338b766e658@gmail.com>
598
599
@@ -578,7 +610,7 @@ Release tarballs are available at:
610
source: <20260602161150.1527493-1-aplattner@nvidia.com>
611
612
581
-* ps/doc-recommend-b4 (2026-06-07) 3 commits
613
+* ps/doc-recommend-b4 (2026-06-15) 3 commits
614
- b4: introduce configuration for the Git project
615
- MyFirstContribution: recommend the use of b4
616
- MyFirstContribution: recommend shallow threading of cover letters
@@ -587,9 +619,8 @@ Release tarballs are available at:
619
documentation has been updated to recommend using it as a
620
streamlined method for submitting patches.
621
590
- Comments?
591
- cf. <87a4t32a4g.fsf@emacs.iotcl.com>
592
- source: <20260608-pks-b4-v3-0-f5e497d10c56@pks.im>
622
+ Needs review.
623
+ source: <20260615-pks-b4-v4-0-22cfca8f19c5@pks.im>
624
625
626
* kk/streaming-walk-pqueue (2026-05-27) 3 commits
@@ -634,34 +665,35 @@ Release tarballs are available at:
665
666
667
* wy/docs-typofixes (2026-05-29) 1 commit
637
- - docs: fix typos and grammar
668
+ (merged to 'next' on 2026-06-11 at bd53c91110)
669
+ + docs: fix typos and grammar
670
671
Various typos, grammatical errors, and duplicated words in both
672
documentation and code comments have been corrected.
673
642
- Will merge to 'next'.
674
+ Will merge to 'master'.
675
source: <7b502e20e9495cd4720496bd6738a1fbeb453410.1780041658.git.wy@wyuan.org>
676
677
646
-* ab/index-pack-retain-child-bases (2026-06-02) 1 commit
647
- - index-pack: retain child bases in delta cache
678
+* ab/index-pack-retain-child-bases (2026-06-01) 1 commit
679
+ (merged to 'next' on 2026-06-12 at 625f76ac4c)
680
+ + index-pack: retain child bases in delta cache
681
682
"git index-pack" has been optimized by retaining child bases in the
683
delta cache instead of immediately freeing them, letting the existing
684
cache limit policy decide eviction.
685
653
- Will replace with [v2] and then merge to 'next'.
654
- cf. <20260611065748.GF2191159@coredump.intra.peff.net>
655
- source: <pull.2131.v3.git.1780445118653.gitgitgadget@gmail.com>
686
+ Will merge to 'master'.
687
+ source: <pull.2131.v2.git.1780330402264.gitgitgadget@gmail.com>
688
689
658
-* mm/diff-process-hunks (2026-05-29) 6 commits
659
- . blame: consult diff process for no-hunk detection
660
- . diff: bypass diff process with --no-ext-diff and in format-patch
661
- . diff: add long-running diff process via diff.<driver>.process
662
- . sub-process: separate process lifecycle from hashmap management
663
- . userdiff: add diff.<driver>.process config
664
- . xdiff: support external hunks via xpparam_t
690
+* mm/diff-process-hunks (2026-06-14) 6 commits
691
+ - blame: consult diff process for no-hunk detection
692
+ - diff: bypass diff process with --no-ext-diff and in format-patch
693
+ - diff: add long-running diff process via diff.<driver>.process
694
+ - sub-process: separate process lifecycle from hashmap management
695
+ - userdiff: add diff.<driver>.process config
696
+ - xdiff: support external hunks via xpparam_t
697
698
A new `diff.<driver>.process` configuration has been introduced to
699
allow a long-running external process to act as a hunk provider to
@@ -669,9 +701,8 @@ Release tarballs are available at:
701
while leaving all output formatting (word diff, color, blame, etc.) to
702
Git's standard pipeline.
703
672
- Expecting a reroll.
673
- cf. <CAC2QwmKNA6wv-jG07fgJj7Xj2J+dzzWEiqV5Q+8HJpjA_GtkFw@mail.gmail.com>
674
- source: <pull.2120.v3.git.1780087700.gitgitgadget@gmail.com>
704
+ Needs review.
705
+ source: <pull.2120.v4.git.1781463564.gitgitgadget@gmail.com>
706
707
708
* tb/pack-path-walk-bitmap-delta-islands (2026-06-02) 5 commits
@@ -686,11 +717,12 @@ Release tarballs are available at:
717
faster packaging by falling back to path-walk when bitmaps cannot
718
fully satisfy the request.
719
689
- Needs review.
720
+ Waiting for response(s) to review comment(s).
721
+ cf. <849c659f-efa8-430a-bfac-0c26a3ed1aaa@gmail.com>
722
source: <cover.1780438896.git.me@ttaylorr.com>
723
724
693
-* ty/migrate-trust-executable-bit (2026-06-10) 3 commits
725
+* ty/migrate-trust-executable-bit (2026-06-12) 3 commits
726
- environment: move trust_executable_bit into repo_config_values
727
- read-cache: move 'ce_mode_from_stat()' to 'read-cache.c'
728
- read-cache: remove redundant extern declarations
@@ -700,23 +732,7 @@ Release tarballs are available at:
732
to a specific repository instance.
733
734
Needs review.
703
- cf. <CAP8UFD1GJ=caPh-M97KLCfB1ZKtpomzosYN0uYBOnay+G23GcA@mail.gmail.com>
704
- cf. <CAP8UFD20yij=1ZEYnR74DoCJ3g=b39yOsUxZecYuuf7nFGaKyA@mail.gmail.com>
705
- source: <20260610093635.139719-1-cat@malon.dev>
706
-
707
-
708
-* ak/typofixes (2026-05-31) 1 commit
709
- (merged to 'next' on 2026-06-09 at 40de2e7b90)
710
- + doc: fix typos via codespell
711
-
712
- Typofixes.
713
-
714
- Will merge to 'master'.
715
- cf. <3398ef40-1547-4324-2cfc-97b9e2b24854@gmx.de>
716
- cf. <xmqq8q8p1ese.fsf@gitster.g>
717
- source: <20260531184428.55905-1-algonell@gmail.com>
718
- source: <20260506101631.18127-1-algonell@gmail.com>
719
- source: <3398ef40-1547-4324-2cfc-97b9e2b24854@gmx.de>
735
+ source: <20260612160527.167203-1-cat@malon.dev>
736
737
738
* kk/prio-queue-cascade-sift (2026-06-01) 1 commit
@@ -734,33 +750,33 @@ Release tarballs are available at:
750
751
752
* mm/subprocess-handshake-fix (2026-06-01) 1 commit
737
- - sub-process: use gentle handshake to avoid die() on startup failure
753
+ (merged to 'next' on 2026-06-11 at b649c3a97c)
754
+ + sub-process: use gentle handshake to avoid die() on startup failure
755
756
The subprocess handshake during startup has been made gentler by using
757
packet_read_line_gently() instead of packet_read_line() to prevent the
758
parent Git process from dying abruptly when a configured subprocess
759
(e.g., a clean/smudge filter) fails to start.
760
744
- Will merge to 'next'.
761
+ Will merge to 'master'.
762
source: <pull.2133.v2.git.1780348848489.gitgitgadget@gmail.com>
763
764
748
-* jk/repo-info-path-keys (2026-06-05) 4 commits
749
- - repo: add path.commondir with absolute and relative suffix formatting
765
+* jk/repo-info-path-keys (2026-06-14) 4 commits
766
- repo: add path.gitdir with absolute and relative suffix formatting
751
- - rev-parse: use format_path for path formatting
752
- - path: introduce format_path() for centralized path formatting
767
+ - repo: add path.commondir with absolute and relative suffix formatting
768
+ - rev-parse: use append_formatted_path() for path formatting
769
+ - path: introduce append_formatted_path() for shared path formatting
770
771
The "git repo info" command has been taught new keys to output both
772
absolute and relative paths for "gitdir" and "commondir", supported by
773
a new path-formatting helper extracted from "git rev-parse".
774
758
- Expecting a reroll.
759
- cf. <CA+rGoLf39iQH9X-xKW7HeTS3sMv-N-QzGiqm0Y=RYGOAqDcaoA@mail.gmail.com>
760
- source: <20260605163012.181089-1-jayatheerthkulkarni2005@gmail.com>
775
+ Needs review.
776
+ source: <20260615045112.50686-1-jayatheerthkulkarni2005@gmail.com>
777
778
763
-* ps/history-drop (2026-06-10) 10 commits
779
+* ps/history-drop (2026-06-15) 10 commits
780
- builtin/history: implement "drop" subcommand
781
- builtin/history: split handling of ref updates into two phases
782
- reset: stop assuming that the caller passes in a clean index
@@ -777,20 +793,7 @@ Release tarballs are available at:
793
parent.
794
795
Needs review.
780
- source: <20260610-b4-pks-history-drop-v4-0-70d5f0ae8c25@pks.im>
781
-
782
-
783
-* ls/doc-raw-timestamp-prefix (2026-06-02) 1 commit
784
- (merged to 'next' on 2026-06-09 at 7198b6bb9d)
785
- + doc: document and test `@` prefix for raw timestamps
786
-
787
- Documentation and tests have been added to clarify that Git's internal
788
- raw timestamp format requires a `@` prefix for values less than
789
- 100,000,000 to prevent ambiguity with other formats like YYYYMMDD.
790
-
791
- Will merge to 'master'.
792
- cf. xmqqmrxdxq1r.fsf@gitster.g>
793
- source: <20260602081924.673763-2-dev@luna.gl>
796
+ source: <20260615-b4-pks-history-drop-v6-0-2e329e536d78@pks.im>
797
798
799
* jk/setup-gitfile-diag-fix (2026-06-01) 1 commit
@@ -800,26 +803,11 @@ Release tarballs are available at:
803
been fixed, avoiding a potential NULL-pointer crash when reporting
804
that a .git file does not point to a valid repository.
805
803
- Expecting a reroll?
804
- cf. <ah6WEtk2pXyViEQA@pks.im>
806
+ Waiting for response(s) to review comment(s).
807
+ cf. <xmqqeciezh0w.fsf@gitster.g>
808
source: <20260602061159.GA693928@coredump.intra.peff.net>
809
810
808
-* jc/submitting-patches-cover-letter (2026-06-02) 2 commits
809
- (merged to 'next' on 2026-06-09 at 42b2538a2a)
810
- + SubmittingPatches: describe cover letter
811
- + SubmittingPatches: separate typofixes section
812
-
813
- Guidelines on how to write a cover letter for a multi-patch series
814
- have been added to SubmittingPatches, which also got a new marker
815
- to separate the section for typofixes.
816
-
817
- Will merge to 'master'.
818
- cf. <c54f3571-ff7b-4caa-b75d-a739ed87ec9d@gmail.com>
819
- cf. <aiEgUdnL8dkszKFn@pks.im>
820
- source: <20260602144304.3341000-1-gitster@pobox.com>
821
-
822
-
811
* ps/t7527-fix-tap-output (2026-06-04) 8 commits
812
(merged to 'next' on 2026-06-11 at b5a4cd26ee)
813
+ t: let prove fail when parsing invalid TAP output
@@ -840,25 +828,6 @@ Release tarballs are available at:
828
source: <20260604-pks-t7527-fix-tap-output-v3-0-7d766ed481e4@pks.im>
829
830
843
-* ob/more-repo-config-values (2026-06-02) 8 commits
844
- (merged to 'next' on 2026-06-09 at 3d0b057aee)
845
- + environment: move "warn_on_object_refname_ambiguity" into `struct repo_config_values`
846
- + environment: move "sparse_expect_files_outside_of_patterns" into `struct repo_config_values`
847
- + environment: move "core_sparse_checkout_cone" into `struct repo_config_values`
848
- + environment: move "precomposed_unicode" into `struct repo_config_values`
849
- + environment: move "pack_compression_level" into `struct repo_config_values`
850
- + environment: move `zlib_compression_level` into `struct repo_config_values`
851
- + environment: move "check_stat" into `struct repo_config_values`
852
- + environment: move "trust_ctime" into `struct repo_config_values`
853
-
854
- Many core configuration variables have been migrated from global
855
- variables into 'repo_config_values' to tie them to a specific
856
- repository instance, avoiding cross-repository state leakage.
857
-
858
- Will merge to 'master'.
859
- source: <20260602170921.35869-1-belkid98@gmail.com>
860
-
861
-
831
* kh/doc-trailers (2026-06-10) 10 commits
832
- doc: interpret-trailers: document comment line treatment
833
- doc: interpret-trailers: commit to “trailer block” term
@@ -873,7 +842,8 @@ Release tarballs are available at:
842
843
Documentation updates.
844
876
- Needs review.
845
+ Waiting for response(s) to review comment(s).
846
+ cf. <xmqqcxxyt4op.fsf@gitster.g>
847
source: <V3_CV_doc_int-tr_key_format.8a3@msgid.xyz>
848
849
@@ -885,7 +855,7 @@ Release tarballs are available at:
855
the path with a dot, matching standard shell-completion behavior.
856
857
Waiting for response(s) to review comment(s).
888
- cf. <xmqqqzmxlep3.fsf@gitster.g>
858
+ cf. <xmqqik7qusuc.fsf@gitster.g>
859
source: <pull.2311.v2.git.git.1779808987825.gitgitgadget@gmail.com>
860
861
@@ -900,28 +870,6 @@ Release tarballs are available at:
870
source: <cover.1779792311.git.erik@cervined.in>
871
872
903
-* ps/setup-centralize-odb-creation (2026-06-04) 9 commits
904
- (merged to 'next' on 2026-06-09 at a1f23cb38c)
905
- + setup: construct object database in `apply_repository_format()`
906
- + repository: stop reading loose object map twice on repo init
907
- + setup: stop initializing object database without repository
908
- + setup: stop creating the object database in `setup_git_env()`
909
- + repository: stop initializing the object database in `repo_set_gitdir()`
910
- + setup: deduplicate logic to apply repository format
911
- + setup: drop `setup_git_env()`
912
- + t0001: plug test gaps for git-init(1) with GIT_OBJECT_DIRECTORY
913
- + Merge branch 'ps/setup-wo-the-repository' into ps/setup-centralize-odb-creation
914
- (this branch is used by ps/refs-avoid-chdir-notify-reparent and ps/setup-drop-global-state.)
915
-
916
- The setup logic to discover and configure repositories has been
917
- refactored, and the initialization of the object database has been
918
- centralized.
919
-
920
- Will merge to 'master'.
921
- cf. <CAOLa=ZQwVbLsOcajaxQwtkTPm=4St7EiGEEyL6_B0o3Tt1v1pw@mail.gmail.com>
922
- source: <20260604-b4-pks-setup-centralize-odb-creation-v3-0-0691834f318a@pks.im>
923
-
924
-
873
* kh/doc-replay-config (2026-06-05) 4 commits
874
- doc: replay: move “default” to the right-hand side
875
- doc: replay: use a nested description list
@@ -936,32 +884,18 @@ Release tarballs are available at:
884
885
886
* hn/status-pull-advice-qualified (2026-05-21) 1 commit
939
- - remote: qualify "git pull" advice for non-upstream compareBranches
887
+ (merged to 'next' on 2026-06-15 at 898a4df940)
888
+ + remote: qualify "git pull" advice for non-upstream compareBranches
889
890
Advice shown by "git status" when the local branch is behind or has
891
diverged from its push branch has been updated to suggest "git pull
892
<remote> <branch>".
893
945
- Will merge to 'next'?
894
+ Will merge to 'master'.
895
cf. <xmqq7bo6xuok.fsf@gitster.g>
896
source: <pull.2301.v4.git.git.1779372367317.gitgitgadget@gmail.com>
897
898
950
-* hn/config-typo-advice (2026-06-02) 2 commits
951
- (merged to 'next' on 2026-06-09 at 5149e69e3e)
952
- + config: improve diagnostic for "set" with missing value
953
- + config: add git_config_key_is_valid() for quiet validation
954
-
955
- "git config foo.bar=baz" is not likely to be a request to read the
956
- value of such a variable with '=' in its name; rather it is plausible
957
- that the user meant "git config set foo.bar baz". Give advice when
958
- giving an error message.
959
-
960
- Will merge to 'master'.
961
- cf. <xmqq1penqfg2.fsf@gitster.g>
962
- source: <pull.2302.v6.git.git.1780425808.gitgitgadget@gmail.com>
963
-
964
-
899
* jt/config-lock-timeout (2026-05-17) 1 commit
900
- config: retry acquiring config.lock, configurable via core.configLockTimeout
901
@@ -974,12 +908,13 @@ Release tarballs are available at:
908
source: <20260517132111.1014901-1-joerg@thalheim.io>
909
910
977
-* hn/branch-prune-merged (2026-06-09) 6 commits
978
- - branch: add --dry-run for --prune-merged
979
- - branch: add branch.<name>.pruneMerged opt-out
980
- - branch: add --prune-merged <branch>
911
+* hn/branch-prune-merged (2026-06-15) 7 commits
912
+ - branch: add --dry-run for --delete-merged
913
+ - branch: add branch.<name>.deleteMerged opt-out
914
+ - branch: add --delete-merged <branch>
915
- branch: prepare delete_branches for a bulk caller
982
- - branch: let delete_branches warn instead of error on bulk refusal
916
+ - branch: let delete_branches skip unmerged branches on bulk refusal
917
+ - branch: convert delete_branches() to a flags argument
918
- branch: add --forked filter for --list mode
919
920
"git branch" command learned "--prune-merged" option to remove
@@ -987,26 +922,26 @@ Release tarballs are available at:
922
branches they track.
923
924
Needs review.
990
- cf. <1c56bf9c-8273-4499-87c8-16ddf0112dca@gmail.com>
991
- source: <pull.2285.v14.git.git.1780999917.gitgitgadget@gmail.com>
925
+ source: <pull.2285.v15.git.git.1781542042.gitgitgadget@gmail.com>
926
927
928
* cc/promisor-auto-config-url-more (2026-05-27) 8 commits
995
- - doc: promisor: improve acceptFromServer entry
996
- - promisor-remote: auto-configure unknown remotes
997
- - promisor-remote: trust known remotes matching acceptFromServerUrl
998
- - promisor-remote: introduce promisor.acceptFromServerUrl
999
- - promisor-remote: add 'local_name' to 'struct promisor_info'
1000
- - urlmatch: add url_normalize_pattern() helper
1001
- - urlmatch: change 'allow_globs' arg to bool
1002
- - t5710: simplify 'mkdir X' followed by 'git -C X init'
929
+ (merged to 'next' on 2026-06-15 at d1c99e75cc)
930
+ + doc: promisor: improve acceptFromServer entry
931
+ + promisor-remote: auto-configure unknown remotes
932
+ + promisor-remote: trust known remotes matching acceptFromServerUrl
933
+ + promisor-remote: introduce promisor.acceptFromServerUrl
934
+ + promisor-remote: add 'local_name' to 'struct promisor_info'
935
+ + urlmatch: add url_normalize_pattern() helper
936
+ + urlmatch: change 'allow_globs' arg to bool
937
+ + t5710: simplify 'mkdir X' followed by 'git -C X init'
938
939
The handling of promisor-remote protocol capability has been
940
loosened to allow the other side to add to the list of promisor
941
remotes via the promisor.acceptFromServerURL configuration
942
variable.
943
1009
- Will merge to 'next'?
944
+ Will merge to 'master'.
945
cf. <877bo7294j.fsf@emacs.iotcl.com>
946
cf. <xmqqh5naxwfc.fsf@gitster.g>
947
source: <20260527140820.1438165-1-christian.couder@gmail.com>
@@ -1023,7 +958,9 @@ Release tarballs are available at:
958
source: <pull.2281.v13.git.git.1779565714.gitgitgadget@gmail.com>
959
960
1026
-* mf/revision-max-count-oldest (2026-05-18) 1 commit
961
+* mf/revision-max-count-oldest (2026-06-10) 2 commits
962
+ (merged to 'next' on 2026-06-11 at c89a71798a)
963
+ + bash-completions: add --max-count-oldest
964
(merged to 'next' on 2026-06-09 at 076600fa21)
965
+ revision.c: implement --max-count-oldest
966
@@ -1034,7 +971,7 @@ Release tarballs are available at:
971
source: <xmqq4ijm3p2x.fsf@gitster.g>
972
973
1037
-* en/ort-harden-against-corrupt-trees (2026-04-20) 5 commits
974
+* en/ort-harden-against-corrupt-trees (2026-06-13) 5 commits
975
- cache-tree: fix verify_cache() to catch non-adjacent D/F conflicts
976
- merge-ort: abort merge when trees have duplicate entries
977
- merge-ort: free diff pairs queue in clear_or_reinit_internal_opts()
@@ -1045,8 +982,8 @@ Release tarballs are available at:
982
aborting when it should.
983
984
Waiting for response(s) to review comment(s).
1048
- cf. <xmqqldcy4f07.fsf@gitster.g>
1049
- source: <pull.2096.git.1776731171.gitgitgadget@gmail.com>
985
+ cf. <xmqq5x3ldu4h.fsf@gitster.g>
986
+ source: <pull.2096.v2.git.1781419047.gitgitgadget@gmail.com>
987
988
989
* pw/status-rebase-todo (2026-05-01) 2 commits
@@ -1058,7 +995,7 @@ Release tarballs are available at:
995
avoid misinterpreting refs as object IDs.
996
997
Waiting for response(s) to review comment(s).
1061
- cf. <xmqqbjdwcsno.fsf@gitster.g>
998
+ cf. <xmqqqzmdoya9.fsf@gitster.g>
999
source: <cover.1777648598.git.phillip.wood@dunelm.org.uk>
1000
1001
@@ -1075,51 +1012,19 @@ Release tarballs are available at:
1012
source: <20260525-includeif-worktree-v5-0-1efe525d025a@black-desk.cn>
1013
1014
1078
-* ps/shift-root-in-graph (2026-04-27) 1 commit
1079
- - graph: add indentation for commits preceded by a parentless commit
1080
-
1081
- In a history with more than one root commit, "git log --graph
1082
- --oneline" stuffed an unrelated commit immediately below a root
1083
- commit, which has been corrected by making the spot below a root
1084
- unavailable.
1085
-
1086
- Expecting a reroll.
1087
- cf. <CAN5EUNQoKRqt3FGLmzRGpPU1nO5jCAogP8Wm9gBZXuPbMNbQAw@mail.gmail.com>
1088
- cf. <CAN5EUNSFBC0+aoW1ceGjEiKWBRjzuzUEUjg8Xys5O9rDsJdkjg@mail.gmail.com>
1089
- source: <20260427102838.44867-2-pabloosabaterr@gmail.com>
1015
+* ps/shift-root-in-graph (2026-06-13) 2 commits
1016
+ - graph: indent visual root in graph
1017
+ - lib-log-graph: move check_graph function
1018
1019
+ "git log --graph" has been modified to visually distinguish
1020
+ parentless "root" commits (and commits that become roots due to
1021
+ history simplification) by indenting them, preventing them from
1022
+ appearing falsely related to unrelated commits rendered immediately
1023
+ above them.
1024
1092
-* js/parseopt-subcommand-autocorrection (2026-04-27) 11 commits
1093
- - SQUASH???
1094
- - doc: document autocorrect API
1095
- - parseopt: add tests for subcommand autocorrection
1096
- - parseopt: enable subcommand autocorrection for git-remote and git-notes
1097
- - parseopt: autocorrect mistyped subcommands
1098
- - autocorrect: provide config resolution API
1099
- - autocorrect: rename AUTOCORRECT_SHOW to AUTOCORRECT_HINT
1100
- - autocorrect: use mode and delay instead of magic numbers
1101
- - help: move tty check for autocorrection to autocorrect.c
1102
- - help: make autocorrect handling reusable
1103
- - parseopt: extract subcommand handling from parse_options_step()
1104
-
1105
- The parse-options library learned to auto-correct misspelled
1106
- subcommand names.
1107
-
1108
- Expecting a reroll.
1109
- cf. <SY0P300MB0801E50FCB7EB2F45CD15208CE042@SY0P300MB0801.AUSP300.PROD.OUTLOOK.COM>
1110
- source: <SY0P300MB0801677A2A1E0FD38D06A841CE2A2@SY0P300MB0801.AUSP300.PROD.OUTLOOK.COM>
1111
-
1112
-
1113
-* jc/neuter-sideband-post-3.0 (2026-03-05) 2 commits
1114
- - sideband: delay sanitizing by default to Git v3.0
1115
- - Merge branch 'jc/neuter-sideband-fixup' into jc/neuter-sideband-post-3.0
1116
-
1117
- The final step, split from earlier attempt by Dscho, to loosen the
1118
- sideband restriction for now and tighten later at Git v3.0 boundary.
1119
-
1120
- Will retract.
1121
- (this branch uses jc/neuter-sideband-fixup.)
1122
- source: <20260305233452.3727126-8-gitster@pobox.com>
1025
+ Waiting for response(s) to review comment(s).
1026
+ cf. <xmqqo6hdepgy.fsf@gitster.g>
1027
+ source: <20260613-ps-pre-commit-indent-v5-0-8d308efea63d@gmail.com>
1028
1029
--------------------------------------------------
1030
[Discarded]
@@ -1152,3 +1057,28 @@ Release tarballs are available at:
1057
Retracted.
1058
cf. <agx_GPfBKpkSc3Gx@lorenzo-VM>
1059
source: <cover.1776384902.git.lorenzo.pegorari2002@gmail.com>
1060
+
1061
+
1062
+* cs/subtree-split-recursion (2026-03-05) 3 commits
1063
+ . contrib/subtree: reduce recursion during split
1064
+ . contrib/subtree: functionalize split traversal
1065
+ . contrib/subtree: reduce function side-effects
1066
+
1067
+ When processing large history graphs on Debian or Ubuntu, "git
1068
+ subtree" can die with a "recursion depth reached" error.
1069
+
1070
+ Retracted.
1071
+ cf. <0915b5cc-5cbb-4cce-a832-147f85d4ff1f@howdoi.land>
1072
+ source: <20260305-cs-subtree-split-recursion-v2-0-7266be870ba9@howdoi.land>
1073
+
1074
+
1075
+* jc/neuter-sideband-post-3.0 (2026-03-05) 2 commits
1076
+ . sideband: delay sanitizing by default to Git v3.0
1077
+ . Merge branch 'jc/neuter-sideband-fixup' into jc/neuter-sideband-post-3.0
1078
+
1079
+ The final step, split from earlier attempt by Dscho, to loosen the
1080
+ sideband restriction for now and tighten later at Git v3.0 boundary.
1081
+
1082
+ Retracted.
1083
+ cf. <xmqqzf11oz7a.fsf@gitster.g>
1084
+ source: <20260305233452.3727126-8-gitster@pobox.com>