What's cooking (2026/06 #07)

Junio C Hamano committed Jun 19, 2026 at 15:14 UTC f0b532b1b35cdbe7ef4f7d8c89d8ff80b273c09f
1 file changed +326 -330
whats-cooking.txt
+326 -330
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Jun 2026, #06)
3 -X-master-at: 4621f8ce5e9b97aa2e8d0d9ffe9d25df2471074d
4 -X-next-at: 3b0662c7b3a4a6dab9e3cb8a89039457b92b29fd
2 +Subject: What's cooking in git.git (Jun 2026, #07)
3 +X-master-at: 8d96f09e9245ddf80c1981476fcbac8c4bb4125f
4 +X-next-at: 43192e7977f5f05138abcdb3212a3f87ab513bef
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Jun 2026, #06)
7 +What's cooking in git.git (Jun 2026, #07)
8 -----------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -57,177 +57,204 @@ Release tarballs are available at:
57 https://www.kernel.org/pub/software/scm/git/
58
59 --------------------------------------------------
60 -[New Topics]
60 +[Graduated to 'master']
61
62 -* mh/fetch-follow-remote-head-config (2026-06-16) 7 commits
63 - - fetch: fixup a misaligned comment
64 - - fetch: add configuration variable fetch.followRemoteHEAD
65 - - fetch: refactor do_fetch handling of followRemoteHEAD
66 - - fetch: rename function report_set_head
67 - - t5510: cleanup remote in followRemoteHEAD dangling ref test
68 - - doc: explain fetchRemoteHEADWarn advice
69 - - fetch: fixup set_head advice for warn-if-not-branch
62 +* dl/posix-unused-warning-clang (2026-06-13) 3 commits
63 + (merged to 'next' on 2026-06-15 at 1d7e627c24)
64 + + compat/posix.h: simplify GIT_GNUC_PREREQ() comparison
65 + + compat/posix.h: clean up GIT_GNUC_PREREQ() and UNUSED
66 + + compat/posix.h: enable UNUSED warning messages for Clang
67
71 - The `fetch.followRemoteHEAD` configuration variable has been added to
72 - provide a default for the per-remote `remote.<name>.followRemoteHEAD`
73 - setting.
68 + The UNUSED macro in 'compat/posix.h' has been updated to use a
69 + newly introduced GIT_CLANG_PREREQ macro for compiler version
70 + checks, and the existing GIT_GNUC_PREREQ macro has been modernized
71 + to use explicit major/minor comparisons rather than bit-shifting.
72 + cf. <ai-8Y1r9zbWfdY8p@pks.im>
73 + source: <20260613122711.38662-1-dominik.loidolt@univie.ac.at>
74
75 - Will merge to 'next'?
76 - source: <20260616222606.1003521-1-m@lfurio.us>
75
76 +* en/commit-graph-timestamp-fix (2026-06-13) 1 commit
77 + (merged to 'next' on 2026-06-16 at 13248b8196)
78 + + commit-graph: use timestamp_t for max parent generation accumulator
79
79 -* ps/refs-writing-subcommands (2026-06-17) 5 commits
80 - - builtin/refs: add "rename" subcommand
81 - - builtin/refs: add "create" subcommand
82 - - builtin/refs: add "update" subcommand
83 - - builtin/refs: add "delete" subcommand
84 - - builtin/refs: drop `the_repository`
80 + compute_reachable_generation_numbers() in commit-graph used a 32-bit
81 + integer to accumulate parent generations, which is OK for generation
82 + number v1 (topological levels), but with generation number v2
83 + (adjusted committer timestamps), it truncated timestamps beyond
84 + 2106. Fixed by widening the accumulator to timestamp_t.
85 + cf. <09e50180-e165-48d8-a9d0-485283342f5c@gmail.com>
86 + source: <pull.2148.git.1781420271100.gitgitgadget@gmail.com>
87
86 - The "git refs" toolbox has been extended with new "create", "delete",
87 - "update", and "rename" subcommands to create, delete, update, and
88 - rename references, respectively.
88
90 - Will merge to 'next'?
91 - source: <20260617-pks-refs-writing-subcommands-v2-0-07f3d18336f9@pks.im>
89 +* jc/t1400-fifo-cleanup (2026-06-10) 1 commit
90 + (merged to 'next' on 2026-06-15 at 7d5acd110a)
91 + + t1400: have fifo test clean after itself
92
93 + Test cleanup.
94 + cf. <aiqs5Wq2Di-6yW0D@pks.im>
95 + source: <xmqqo6hit6rn.fsf@gitster.g>
96
94 -* po/hash-object-size-t (2026-06-16) 6 commits
95 - - hash-object: add a >4GB/LLP64 test case using filtered input
96 - - hash-object: add another >4GB/LLP64 test case
97 - - hash-object --stdin: verify that it works with >4GB/LLP64
98 - - hash algorithms: use size_t for section lengths
99 - - object-file.c: use size_t for header lengths
100 - - hash-object: demonstrate a >4GB/LLP64 problem
97
102 - Support for hashing loose or packed objects larger than 4GB on Windows
103 - and other LLP64 platforms has been improved by converting object header
104 - buffers and data-handling functions from 'unsigned long' to 'size_t'.
98 +* js/objects-larger-than-4gb-on-windows (2026-06-18) 1 commit
99 + (merged to 'next' on 2026-06-18 at 99d7cf9126)
100 + + zlib: properly clamp to uLong
101
106 - Will merge to 'next'?
107 - source: <pull.2138.v2.git.1781621398.gitgitgadget@gmail.com>
102 + A hotfix to an earlier attempt to update code paths that assumed
103 + "unsigned long" was long enough for "size_t".
104 + source: <pull.2153.git.1781790619424.gitgitgadget@gmail.com>
105
109 ---------------------------------------------------
110 -[Graduated to 'master']
106
112 -* ab/index-pack-retain-child-bases (2026-06-01) 1 commit
113 - (merged to 'next' on 2026-06-12 at 625f76ac4c)
114 - + index-pack: retain child bases in delta cache
107 +* ps/transport-helper-tsan-fix (2026-06-09) 1 commit
108 + (merged to 'next' on 2026-06-15 at 0857e6696f)
109 + + transport-helper: fix TSAN race in transfer_debug()
110 +
111 + The TSAN race in transfer_debug() within transport-helper.c has been
112 + resolved by initializing the debug flag early in
113 + bidirectional_transfer_loop() before spawning worker threads, allowing
114 + the removal of a TSAN suppression.
115 + cf. <20260609002833.GE358144@coredump.intra.peff.net>
116 + cf. <20260611083320.GI2191159@coredump.intra.peff.net>
117 + source: <20260609134741.4727-2-pushkarkumarsingh1970@gmail.com>
118 +
119 +
120 +* ta/doc-config-adoc-fixes (2026-06-11) 3 commits
121 + (merged to 'next' on 2026-06-15 at 93340b5cf0)
122 + + doc: git-config: escape erroneous highlight markup
123 + + doc: config/sideband: fix description list delimiter
124 + + doc: config: terminate runaway lists
125 +
126 + Various AsciiDoc markup fixes in 'git config' documentation and
127 + related files to ensure lists and formatting are rendered correctly.
128 + cf. <20260612045329.GA593075@coredump.intra.peff.net>
129 + source: <20260611161946.12166-1-taahol@utu.fi>
130
116 - "git index-pack" has been optimized by retaining child bases in the
117 - delta cache instead of immediately freeing them, letting the existing
118 - cache limit policy decide eviction.
119 - source: <pull.2131.v2.git.1780330402264.gitgitgadget@gmail.com>
131
132 +* td/describe-tag-iteration (2026-06-10) 1 commit
133 + (merged to 'next' on 2026-06-15 at 1ae171f3b7)
134 + + describe: limit default ref iteration to tags
135
122 -* jd/unpack-trees-wo-the-repository (2026-03-31) 1 commit
123 - (merged to 'next' on 2026-06-11 at 3d7788721e)
124 - + unpack-trees: use repository from index instead of global
136 + 'git describe' has been taught to pass the 'refs/tags/' prefix down to
137 + the ref iterator when '--all' is not requested, avoiding unnecessary
138 + iteration over non-tag refs.
139 + cf. <20260611064912.GC2191159@coredump.intra.peff.net>
140 + source: <20260610-describe-tag-ref-scope-v3-1-5aa63ab279f7@gmail.com>
141
126 - A handful of inappropriate uses of the_repository have been
127 - rewritten to use the right repository structure instance in the
128 - unpack-trees.c codepath.
129 - cf. <xmqqqzmfz91r.fsf@gitster.g>
130 - source: <pull.2258.v2.git.git.1774971267.gitgitgadget@gmail.com>
142
143 +* td/ls-files-pathspec-prefilter (2026-06-11) 1 commit
144 + (merged to 'next' on 2026-06-15 at 38918c4cfd)
145 + + ls-files: filter pathspec before lstat
146 +
147 + `git ls-files --modified` and `git ls-files --deleted` have been
148 + optimized to filter with pathspec before calling lstat() when there is
149 + only a single pathspec item, avoiding unnecessary filesystem access
150 + for entries that will not be shown.
151 + cf. <xmqqfr2tnfk0.fsf@gitster.g>
152 + source: <20260611-ls-files-pathspec-lstat-v3-1-f967e1a00c13@gmail.com>
153 +
154 +--------------------------------------------------
155 +[New Topics]
156 +
157 +* jc/submittingpatches-design-critiques (2026-06-19) 1 commit
158 + - SubmittingPatches: address design critiques
159 +
160 + The documentation in SubmittingPatches has been updated to clarify how
161 + patch contributors should respond to design and viability critiques,
162 + and how the resolution of such critiques should be recorded in the
163 + final commit messages.
164 +
165 + Needs review.
166 + source: <xmqqik7eld2g.fsf_-_@gitster.g>
167
133 -* jk/describe-contains-all-match-fix (2026-06-01) 1 commit
134 - (merged to 'next' on 2026-06-11 at a95871538b)
135 - + describe: fix --exclude, --match with --contains and --all
168
137 - The 'git describe --contains --all' command has been fixed to
138 - properly honor the '--match' and '--exclude' options by passing
139 - them down to 'git name-rev' with the appropriate reference
140 - prefixes.
141 - source: <20260601233727.43558-1-jacob.e.keller@intel.com>
169 +* wy/doc-clarify-review-replies (2026-06-17) 2 commits
170 + - doc: advise batching patch rerolls
171 + - doc: encourage review replies before rerolling
172
173 + Documentation on community contribution guidelines has been updated to
174 + encourage replying to review comments before rerolling, and to advise
175 + a default limit of at most one reroll per day to give reviewers across
176 + different time zones enough time to participate.
177 +
178 + Expecting a reroll.
179 + cf. <ajVCD51lLvHreyJB@wyuan.org>
180 + source: <cover.1781714757.git.wy@wyuan.org>
181
144 -* js/osxkeychain-build-wo-rust (2026-06-17) 1 commit
145 - (merged to 'next' on 2026-06-17 at d5f6cec43d)
146 - + osxkeychain: fix build with Rust
182
148 - Build fix.
149 - source: <pull.2154.git.1781691074710.gitgitgadget@gmail.com>
183 +* ps/gitlab-ci-windows (2026-06-15) 1 commit
184 + - gitlab-ci: migrate Windows builds away from Chocolatey
185
186 + Wean the Windows builds in GitLab CI procedure away from
187 + (unfortunately unreliable) Chocolatey to install dependencies.
188
152 -* js/win-kill-child-more-gently (2026-06-04) 2 commits
153 - (merged to 'next' on 2026-06-11 at b4a2299e7e)
154 - + mingw: really handle SIGINT
155 - + mingw: kill child processes in a gentler way
189 + Will merge to 'next'?
190 + cf. <ajL1677NQShTO6tD@denethor>
191 + source: <20260615-b4-pks-gitlab-ci-drop-chocolatey-v1-1-51a6e7d5e388@pks.im>
192
157 - Advanced emulation of kill() used on Windows in GfW has been
158 - upstreamed to improve the symptoms like left-behind .lock files and
159 - that fails to let the child clean-up itself when it gets killed.
160 - source: <pull.2130.git.1780590261.gitgitgadget@gmail.com>
193
194 +* ty/migrate-ignorecase (2026-06-19) 2 commits
195 + - config: use repo_ignore_case() to access core.ignorecase
196 + - environment: move ignore_case into repo_config_values
197
163 -* kk/streaming-walk-pqueue (2026-05-27) 3 commits
164 - (merged to 'next' on 2026-06-11 at 1466219fc9)
165 - + revision: use priority queue for non-limited streaming walks
166 - + revision: introduce rev_walk_mode to clarify get_revision_1()
167 - + pack-objects: call release_revisions() after cruft traversal
198 + The global configuration variable ignore_case (representing the
199 + core.ignorecase configuration) has been migrated into struct
200 + repo_config_values to tie it to a specific repository instance.
201 +
202 + Needs review.
203 + source: <20260619155152.642760-1-cat@malon.dev>
204
169 - Streaming revision walks have been optimized by using a priority queue
170 - for date-sorting commits, speeding up walks repositories with many
171 - merges.
172 - source: <pull.2127.git.1779897003.gitgitgadget@gmail.com>
205
206 +* mm/line-log-limited-ops (2026-06-18) 7 commits
207 + - diffcore-pickaxe: scope -G to the -L tracked range
208 + - diff: support --check with -L line ranges
209 + - line-log: support diff stat formats with -L
210 + - diff: extract a line-range diff helper for reuse
211 + - diff: emit -L hunk headers via xdiff's formatter
212 + - diff: simplify the line-range filter by classifying removals immediately
213 + - diff: rename and group the line-range filter for clarity
214
175 -* mf/revision-max-count-oldest (2026-06-10) 2 commits
176 - (merged to 'next' on 2026-06-11 at c89a71798a)
177 - + bash-completions: add --max-count-oldest
178 - (merged to 'next' on 2026-06-09 at 076600fa21)
179 - + revision.c: implement --max-count-oldest
215 + "git log -L<range>:<path>" learned to limit various "diff" operations
216 + like --stat, --check, -G, to the specified range:path.
217
181 - "git rev-list" (and "git log" family of commands) learned a new "--max-count-oldest"
182 - that picks oldest N commits in the range instead of the usual newest.
183 - source: <xmqq4ijm3p2x.fsf@gitster.g>
218 + Waiting for response(s) to review comment(s).
219 + cf. <xmqq8q8bpl03.fsf@gitster.g>
220 + source: <pull.2152.git.1781806593.gitgitgadget@gmail.com>
221
222
186 -* mm/subprocess-handshake-fix (2026-06-01) 1 commit
187 - (merged to 'next' on 2026-06-11 at b649c3a97c)
188 - + sub-process: use gentle handshake to avoid die() on startup failure
223 +* hn/history-squash (2026-06-18) 6 commits
224 + - SQUASH??? avoid test_grep lint triggering on uses of raw grep
225 + - SQUASH??? avoid test number clash by moving 3454-h-squash to 3455
226 + - history: re-edit a squash with every message
227 + - history: add squash subcommand to fold a range
228 + - history: give commit_tree_ext a message template
229 + - history: extract helper for a commit's parent tree
230
190 - The subprocess handshake during startup has been made gentler by using
191 - packet_read_line_gently() instead of packet_read_line() to prevent the
192 - parent Git process from dying abruptly when a configured subprocess
193 - (e.g., a clean/smudge filter) fails to start.
194 - source: <pull.2133.v2.git.1780348848489.gitgitgadget@gmail.com>
231 + The experimental "git history" command has been taught a new
232 + "squash" subcommand to fold a range of commits into a single commit,
233 + replaying any descendants on top.
234
235 + Waiting for response(s) to review comment(s).
236 + cf. <ajU8T2JFJTdk1hr2@pks.im>
237 + source: <pull.2337.v3.git.git.1781810226.gitgitgadget@gmail.com>
238
197 -* ps/t7527-fix-tap-output (2026-06-04) 8 commits
198 - (merged to 'next' on 2026-06-11 at b5a4cd26ee)
199 - + t: let prove fail when parsing invalid TAP output
200 - + t/lib-git-p4: silence output when killing p4d and its watchdog
201 - + t/test-lib: silence EBUSY errors on Windows during test cleanup
202 - + t7810: turn MB_REGEX check into a lazy prereq
203 - + t7527: fix broken TAP output
204 - + ci: unify Linux images across GitLab and GitHub
205 - + gitlab-ci: add missing Linux jobs
206 - + gitlab-ci: rearrange Linux jobs to match GitHub's order
239
208 - A recent regression in t7527 that broke TAP output has been fixed,
209 - some other test noise that also broke TAP output has been silenced,
210 - and 'prove' is now configured to fail on invalid TAP output to
211 - prevent future regressions.
212 - source: <20260604-pks-t7527-fix-tap-output-v3-0-7d766ed481e4@pks.im>
240 +* ps/t4216-tap-fix (2026-06-19) 1 commit
241 + - t4216: fix no-op test that breaks TAP output
242
243 + TAP output breakage fix.
244
215 -* ta/typofixes (2026-06-04) 1 commit
216 - (merged to 'next' on 2026-06-11 at dfb63ded01)
217 - + docs: fix typos
245 + Waiting for response(s) to review comment(s).
246 + cf. <xmqqa4sqlchz.fsf@gitster.g>
247 + source: <20260619-pks-t4216-drop-unused-prereq-v1-1-2ce0d7bea088@pks.im>
248
219 - Typofixes
220 - cf. <xmqqh5ncvfsu.fsf@gitster.g>
221 - source: <20260604131457.19215-1-taahol@utu.fi>
249
250 +* hn/macos-linker-warning (2026-06-19) 1 commit
251 + - config.mak.uname: avoid macOS dup-library warning
252
224 -* wy/docs-typofixes (2026-05-29) 1 commit
225 - (merged to 'next' on 2026-06-11 at bd53c91110)
226 - + docs: fix typos and grammar
253 + Xcode 15 and later has a linker set to complain when the same library
254 + archive is listed twice on the command line. Squelch the annoyance.
255
228 - Various typos, grammatical errors, and duplicated words in both
229 - documentation and code comments have been corrected.
230 - source: <7b502e20e9495cd4720496bd6738a1fbeb453410.1780041658.git.wy@wyuan.org>
256 + Will merge to 'next'?
257 + source: <pull.2314.v3.git.git.1781901127385.gitgitgadget@gmail.com>
258
259 --------------------------------------------------
260 [Stalled]
@@ -246,20 +273,70 @@ Release tarballs are available at:
273 --------------------------------------------------
274 [Cooking]
275
249 -* kh/submittingpatches-trailers (2026-06-10) 6 commits
276 +* mh/fetch-follow-remote-head-config (2026-06-19) 8 commits
277 + - fetch: fixup a misaligned comment
278 + - fetch: add configuration variable fetch.followRemoteHEAD
279 + - fetch: refactor do_fetch handling of followRemoteHEAD
280 + - fetch: return 0 on known git_fetch_config
281 + - fetch: rename function report_set_head
282 + - t5510: cleanup remote in followRemoteHEAD dangling ref test
283 + - doc: explain fetchRemoteHEADWarn advice
284 + - fetch: fixup set_head advice for warn-if-not-branch
285 +
286 + The `fetch.followRemoteHEAD` configuration variable has been added to
287 + provide a default for the per-remote `remote.<name>.followRemoteHEAD`
288 + setting.
289 +
290 + Will merge to 'next'?
291 + cf. <xmqqcxxp1j2t.fsf@gitster.g>
292 + source: <20260619094751.2996804-1-m@lfurio.us>
293 +
294 +
295 +* ps/refs-writing-subcommands (2026-06-17) 5 commits
296 + - builtin/refs: add "rename" subcommand
297 + - builtin/refs: add "create" subcommand
298 + - builtin/refs: add "update" subcommand
299 + - builtin/refs: add "delete" subcommand
300 + - builtin/refs: drop `the_repository`
301 +
302 + The "git refs" toolbox has been extended with new "create", "delete",
303 + "update", and "rename" subcommands to create, delete, update, and
304 + rename references, respectively.
305 +
306 + Needs review.
307 + source: <20260617-pks-refs-writing-subcommands-v2-0-07f3d18336f9@pks.im>
308 +
309 +
310 +* po/hash-object-size-t (2026-06-16) 6 commits
311 + - hash-object: add a >4GB/LLP64 test case using filtered input
312 + - hash-object: add another >4GB/LLP64 test case
313 + - hash-object --stdin: verify that it works with >4GB/LLP64
314 + - hash algorithms: use size_t for section lengths
315 + - object-file.c: use size_t for header lengths
316 + - hash-object: demonstrate a >4GB/LLP64 problem
317 +
318 + Support for hashing loose or packed objects larger than 4GB on Windows
319 + and other LLP64 platforms has been improved by converting object header
320 + buffers and data-handling functions from 'unsigned long' to 'size_t'.
321 +
322 + Will merge to 'next'.
323 + cf. <ajOQthRjhD3hRM9w@pks.im>
324 + source: <pull.2138.v2.git.1781621398.gitgitgadget@gmail.com>
325 +
326 +
327 +* kh/submittingpatches-trailers (2026-06-18) 5 commits
328 - SubmittingPatches: note that trailer order matters
329 - SubmittingPatches: be consistent with trailer markup
330 - SubmittingPatches: document Based-on-patch-by trailer
331 - SubmittingPatches: discourage common Linux trailers
254 - - SubmittingPatches: discuss non-ident trailers
332 - SubmittingPatches: encourage trailer use for substantial help
333
334 The trailer sections in SubmittingPatches have been updated to
335 encourage use of standard trailers.
336
260 - Waiting for response(s) to review comment(s).
261 - cf. <ajJNjOYMVDwL52zY@pks.im>
262 - source: <CV_SubPatches_trailers.8f3@msgid.xyz>
337 + Will merge to 'next'?
338 + cf. <xmqq4ij0vo8f.fsf@gitster.g>
339 + source: <V3_CV_SubPatches_trailers.9ec@msgid.xyz>
340
341
342 * mv/log-follow-mergy (2026-06-14) 1 commit
@@ -285,20 +362,6 @@ Release tarballs are available at:
362 source: <080402ff0ac8127b654dccea59a1bf643df62a5c.1781186476.git.wy@wyuan.org>
363
364
288 -* td/ls-files-pathspec-prefilter (2026-06-11) 1 commit
289 - (merged to 'next' on 2026-06-15 at 38918c4cfd)
290 - + ls-files: filter pathspec before lstat
291 -
292 - `git ls-files --modified` and `git ls-files --deleted` have been
293 - optimized to filter with pathspec before calling lstat() when there is
294 - only a single pathspec item, avoiding unnecessary filesystem access
295 - for entries that will not be shown.
296 -
297 - Will merge to 'master'.
298 - cf. <xmqqfr2tnfk0.fsf@gitster.g>
299 - source: <20260611-ls-files-pathspec-lstat-v3-1-f967e1a00c13@gmail.com>
300 -
301 -
365 * tb/midx-incremental-custom-base (2026-06-12) 3 commits
366 - midx-write: include packs above custom incremental base
367 - midx: pass custom '--base' through incremental writes
@@ -314,21 +377,6 @@ Release tarballs are available at:
377 source: <cover.1781294771.git.me@ttaylorr.com>
378
379
317 -* en/commit-graph-timestamp-fix (2026-06-13) 1 commit
318 - (merged to 'next' on 2026-06-16 at 13248b8196)
319 - + commit-graph: use timestamp_t for max parent generation accumulator
320 -
321 - compute_reachable_generation_numbers() in commit-graph used a 32-bit
322 - integer to accumulate parent generations, which is OK for generation
323 - number v1 (topological levels), but with generation number v2
324 - (adjusted committer timestamps), it truncated timestamps beyond
325 - 2106. Fixed by widening the accumulator to timestamp_t.
326 -
327 - Will merge to 'master'.
328 - cf. <09e50180-e165-48d8-a9d0-485283342f5c@gmail.com>
329 - source: <pull.2148.git.1781420271100.gitgitgadget@gmail.com>
330 -
331 -
380 * mm/test-grep-lint (2026-06-12) 6 commits
381 - t: add greplint to detect bare grep assertions
382 - t: convert grep assertions to test_grep
@@ -342,30 +390,34 @@ Release tarballs are available at:
390
391
392 * js/objects-larger-than-4gb-on-windows-more (2026-06-15) 7 commits
345 - - odb: use size_t for object_info.sizep and the size APIs
346 - - packfile,delta: drop the `cast_size_t_to_ulong()` wrappers
347 - - pack-objects: use size_t for in-core object sizes
348 - - packfile: widen unpack_entry()'s size out-parameter to size_t
349 - - pack-objects(check_pack_inflate()): use size_t instead of unsigned long
350 - - patch-delta: use size_t for sizes
351 - - compat/msvc: use _chsize_s for ftruncate
393 + (merged to 'next' on 2026-06-18 at 2b3ac350e6)
394 + + odb: use size_t for object_info.sizep and the size APIs
395 + + packfile,delta: drop the `cast_size_t_to_ulong()` wrappers
396 + + pack-objects: use size_t for in-core object sizes
397 + + packfile: widen unpack_entry()'s size out-parameter to size_t
398 + + pack-objects(check_pack_inflate()): use size_t instead of unsigned long
399 + + patch-delta: use size_t for sizes
400 + + compat/msvc: use _chsize_s for ftruncate
401
353 - Needs review.
402 + Will cook in 'next'.
403 + cf. <ajPhBn7n1wR-sii4@pks.im>
404 source: <pull.2137.v2.git.1781524349.gitgitgadget@gmail.com>
405
406
407 * kw/gitattributes-typofix (2026-06-15) 1 commit
358 - - gitattributes: fix eol attribute for Perl scripts
408 + (merged to 'next' on 2026-06-17 at 14ff167ef8)
409 + + gitattributes: fix eol attribute for Perl scripts
410
360 - Will merge to 'next'.
411 + Will cook in 'next'.
412 cf. <ai-5vfY8D84UhsB4@pks.im>
413 source: <pull.2151.v2.git.1781510039164.gitgitgadget@gmail.com>
414
415
416 * rs/cat-file-default-format-optim (2026-06-14) 1 commit
366 - - cat-file: speed up default format
417 + (merged to 'next' on 2026-06-17 at 43ed8b3969)
418 + + cat-file: speed up default format
419
368 - Will merge to 'next'.
420 + Will cook in 'next'.
421 cf. <20260615165326.GA91269@coredump.intra.peff.net>
422 source: <5a7ed929-6fe0-496c-83bd-65dee57c2241@web.de>
423
@@ -386,8 +438,9 @@ Release tarballs are available at:
438 The parse-options library learned to auto-correct misspelled
439 subcommand names.
440
389 - Waiting for response(s) to review comment(s).
441 + Expecting a reroll.
442 cf. <xmqq33yzd9yf.fsf@gitster.g>
443 + cf. <SY0P300MB0801E50FCB7EB2F45CD15208CE042@SY0P300MB0801.AUSP300.PROD.OUTLOOK.COM>
444 source: <SY0P300MB0801677A2A1E0FD38D06A841CE2A2@SY0P300MB0801.AUSP300.PROD.OUTLOOK.COM>
445
446
@@ -400,20 +453,10 @@ Release tarballs are available at:
453 into prio_queue itself, speeding up commit traversal workflows and
454 simplifying callers.
455
403 - Comments?
456 + Needs review.
457 source: <pull.2140.v4.git.1780945851.gitgitgadget@gmail.com>
458
459
407 -* kk/remove-get-reachable-subset (2026-06-11) 1 commit
408 - - commit-reach: remove get_reachable_subset()
409 -
410 - API clean-up.
411 -
412 - Retracted.
413 - cf. <CAL71e4P3Oq08xVPZ+dxQ8L5PKekPJN0RsL4pTicom1og7-1D=A@mail.gmail.com>
414 - source: <pull.2144.v2.git.1781178567862.gitgitgadget@gmail.com>
415 -
416 -
460 * td/ref-filter-memoize-contains (2026-06-12) 3 commits
461 - commit-reach: die on contains walk errors
462 - ref-filter: memoize --contains with generations
@@ -443,33 +486,6 @@ Release tarballs are available at:
486 source: <20260616-toon-git-replay-drop-merges-v3-0-153e9eb99ce1@iotcl.com>
487
488
446 -* td/describe-tag-iteration (2026-06-10) 1 commit
447 - (merged to 'next' on 2026-06-15 at 1ae171f3b7)
448 - + describe: limit default ref iteration to tags
449 -
450 - 'git describe' has been taught to pass the 'refs/tags/' prefix down to
451 - the ref iterator when '--all' is not requested, avoiding unnecessary
452 - iteration over non-tag refs.
453 -
454 - Will merge to 'master'.
455 - cf. <20260611064912.GC2191159@coredump.intra.peff.net>
456 - source: <20260610-describe-tag-ref-scope-v3-1-5aa63ab279f7@gmail.com>
457 -
458 -
459 -* ta/doc-config-adoc-fixes (2026-06-11) 3 commits
460 - (merged to 'next' on 2026-06-15 at 93340b5cf0)
461 - + doc: git-config: escape erroneous highlight markup
462 - + doc: config/sideband: fix description list delimiter
463 - + doc: config: terminate runaway lists
464 -
465 - Various AsciiDoc markup fixes in 'git config' documentation and
466 - related files to ensure lists and formatting are rendered correctly.
467 -
468 - Will merge to 'master'.
469 - cf. <20260612045329.GA593075@coredump.intra.peff.net>
470 - source: <20260611161946.12166-1-taahol@utu.fi>
471 -
472 -
489 * ps/setup-drop-global-state (2026-06-10) 8 commits
490 (merged to 'next' on 2026-06-15 at d9a8b88d47)
491 + treewide: drop USE_THE_REPOSITORY_VARIABLE
@@ -492,9 +508,11 @@ Release tarballs are available at:
508 source: <20260611-b4-pks-setup-drop-global-state-v2-0-a6f7269c841d@pks.im>
509
510
495 -* ps/refs-avoid-chdir-notify-reparent (2026-06-15) 9 commits
511 +* ps/refs-avoid-chdir-notify-reparent (2026-06-19) 11 commits
512 - refs: drop local buffer in `refs_compute_filesystem_location()`
513 - refs: fix recursing `get_main_ref_store()` with "onbranch" config
514 + - refs/reftable-backend: manually parse "core.sharedRepository"
515 + - refs: move parsing of "core.logAllRefUpdates" back into ref stores
516 - repository: free main reference database
517 - chdir-notify: drop unused `chdir_notify_reparent()`
518 - refs: unregister reference stores from "chdir_notify"
@@ -509,87 +527,49 @@ Release tarballs are available at:
527 reference database is constructed with an "onbranch" condition.
528
529 Needs review.
512 - source: <20260615-b4-pks-refs-avoid-chdir-notify-reparent-v2-0-f4854aa99859@pks.im>
513 -
514 -
515 -* jc/t1400-fifo-cleanup (2026-06-10) 1 commit
516 - (merged to 'next' on 2026-06-15 at 7d5acd110a)
517 - + t1400: have fifo test clean after itself
518 -
519 - Test cleanup.
520 -
521 - Will merge to 'master'.
522 - cf. <aiqs5Wq2Di-6yW0D@pks.im>
523 - source: <xmqqo6hit6rn.fsf@gitster.g>
530 + source: <20260619-b4-pks-refs-avoid-chdir-notify-reparent-v4-0-a6472be7acc4@pks.im>
531
532
533 * ps/odb-source-packed (2026-06-16) 18 commits
527 - - odb/source-packed: drop pointer to "files" parent source
528 - - midx: refactor interfaces to work on "packed" source
529 - - odb/source-packed: stub out remaining functions
530 - - odb/source-packed: wire up `freshen_object()` callback
531 - - odb/source-packed: wire up `find_abbrev_len()` callback
532 - - odb/source-packed: wire up `count_objects()` callback
533 - - odb/source-packed: wire up `for_each_object()` callback
534 - - odb/source-packed: wire up `read_object_stream()` callback
535 - - odb/source-packed: wire up `read_object_info()` callback
536 - - packfile: use higher-level interface to implement `has_object_pack()`
537 - - odb/source-packed: wire up `reprepare()` callback
538 - - odb/source-packed: wire up `close()` callback
539 - - odb/source-packed: start converting to a proper `struct odb_source`
540 - - odb/source-packed: store pointer to "files" instead of generic source
541 - - packfile: move packed source into "odb/" subsystem
542 - - packfile: split out packfile list logic
543 - - packfile: rename `struct packfile_store` to `odb_source_packed`
544 - - Merge branch 'ps/odb-source-loose' into ps/odb-source-packed
534 + (merged to 'next' on 2026-06-19 at dcf0c084e4)
535 + + odb/source-packed: drop pointer to "files" parent source
536 + + midx: refactor interfaces to work on "packed" source
537 + + odb/source-packed: stub out remaining functions
538 + + odb/source-packed: wire up `freshen_object()` callback
539 + + odb/source-packed: wire up `find_abbrev_len()` callback
540 + + odb/source-packed: wire up `count_objects()` callback
541 + + odb/source-packed: wire up `for_each_object()` callback
542 + + odb/source-packed: wire up `read_object_stream()` callback
543 + + odb/source-packed: wire up `read_object_info()` callback
544 + + packfile: use higher-level interface to implement `has_object_pack()`
545 + + odb/source-packed: wire up `reprepare()` callback
546 + + odb/source-packed: wire up `close()` callback
547 + + odb/source-packed: start converting to a proper `struct odb_source`
548 + + odb/source-packed: store pointer to "files" instead of generic source
549 + + packfile: move packed source into "odb/" subsystem
550 + + packfile: split out packfile list logic
551 + + packfile: rename `struct packfile_store` to `odb_source_packed`
552 + + Merge branch 'ps/odb-source-loose' into ps/odb-source-packed
553
554 The packed object source has been refactored into a proper struct
555 odb_source.
556
549 - Needs review.
557 + Will cook in 'next'.
558 + cf. <ajK2QKdW-TdflfR0@denethor>
559 source: <20260617-pks-odb-source-packed-v3-0-b5c7583cd795@pks.im>
560
561
553 -* ps/transport-helper-tsan-fix (2026-06-09) 1 commit
554 - (merged to 'next' on 2026-06-15 at 0857e6696f)
555 - + transport-helper: fix TSAN race in transfer_debug()
556 -
557 - The TSAN race in transfer_debug() within transport-helper.c has been
558 - resolved by initializing the debug flag early in
559 - bidirectional_transfer_loop() before spawning worker threads, allowing
560 - the removal of a TSAN suppression.
561 -
562 - Will merge to 'master'.
563 - cf. <20260609002833.GE358144@coredump.intra.peff.net>
564 - cf. <20260611083320.GI2191159@coredump.intra.peff.net>
565 - source: <20260609134741.4727-2-pushkarkumarsingh1970@gmail.com>
566 -
567 -
568 -* dl/posix-unused-warning-clang (2026-06-13) 3 commits
569 - (merged to 'next' on 2026-06-15 at 1d7e627c24)
570 - + compat/posix.h: simplify GIT_GNUC_PREREQ() comparison
571 - + compat/posix.h: clean up GIT_GNUC_PREREQ() and UNUSED
572 - + compat/posix.h: enable UNUSED warning messages for Clang
573 -
574 - The UNUSED macro in 'compat/posix.h' has been updated to use a
575 - newly introduced GIT_CLANG_PREREQ macro for compiler version
576 - checks, and the existing GIT_GNUC_PREREQ macro has been modernized
577 - to use explicit major/minor comparisons rather than bit-shifting.
578 -
579 - Will merge to 'master'.
580 - cf. <ai-8Y1r9zbWfdY8p@pks.im>
581 - source: <20260613122711.38662-1-dominik.loidolt@univie.ac.at>
582 -
583 -
562 * td/ref-filter-restore-prefix-iteration (2026-06-12) 1 commit
585 - - ref-filter: restore prefix-scoped iteration
563 + (merged to 'next' on 2026-06-19 at a19dbb4193)
564 + + ref-filter: restore prefix-scoped iteration
565
566 Commands that list branches and tags (like git branch and git tag)
567 have been optimized to pass the namespace prefix when initializing
568 their ref iterator, avoiding a loose-ref scaling regression in
569 repositories with many unrelated loose references.
570
592 - Needs review.
571 + Will cook in 'next'.
572 + cf. <xmqqik7fsv2m.fsf@gitster.g>
573 source: <20260612-fix-git-branch-regression-v4-1-f150038c02f4@gmail.com>
574
575
@@ -607,21 +587,7 @@ Release tarballs are available at:
587 source: <20260610124353.149874-2-cat@malon.dev>
588
589
610 -* ds/config-no-includes (2026-06-08) 3 commits
611 - - git: add --no-includes top-level option
612 - - config: add GIT_CONFIG_INCLUDES
613 - - git-config.adoc: fix paragraph break
614 -
615 - Two new mechanisms, the GIT_CONFIG_INCLUDES environment variable and
616 - the top-level --no-includes command-line option, have been introduced
617 - to ignore configuration include directives.
618 -
619 - Retracted.
620 - cf. <539713c4-b291-42e6-8541-a16a454518f5@gmail.com>
621 - source: <pull.2139.git.1780927027.gitgitgadget@gmail.com>
622 -
623 -
624 -* ps/cat-file-remote-object-info (2026-06-08) 12 commits
590 +* ps/cat-file-remote-object-info (2026-06-19) 12 commits
591 - cat-file: make remote-object-info allow-list dynamic
592 - cat-file: validate remote atoms with allow_list
593 - cat-file: add remote-object-info to batch-command
@@ -631,7 +597,7 @@ Release tarballs are available at:
597 - connect: refactor packet writing
598 - fetch-pack: move function to connect.c
599 - t1006: split test utility functions into new "lib-cat-file.sh"
634 - - cat-file: add declaration of variable i inside its for loop
600 + - cat-file: declare loop counter inside for()
601 - git-compat-util: add strtoul_ul() with error handling
602 - transport-helper: fix memory leak of helper on disconnect
603
@@ -644,9 +610,8 @@ Release tarballs are available at:
610 server-advertised capabilities and safely returns empty strings for
611 inapplicable or unsupported fields.
612
647 - Expecting a reroll.
648 - cf. <CAN5EUNQQBRoHUbZtkhLoBX-K7_4Carsxws_fyh1Ac7Lmd_FjKg@mail.gmail.com>
649 - source: <20260608-ps-eric-work-rebase-v12-0-5338b766e658@gmail.com>
613 + Needs review.
614 + source: <20260619-ps-eric-work-rebase-v13-0-3d4c7315d2f8@gmail.com>
615
616
617 * ap/http-redirect-wwwauth-fix (2026-06-02) 1 commit
@@ -663,15 +628,16 @@ Release tarballs are available at:
628
629
630 * ps/doc-recommend-b4 (2026-06-15) 3 commits
666 - - b4: introduce configuration for the Git project
667 - - MyFirstContribution: recommend the use of b4
668 - - MyFirstContribution: recommend shallow threading of cover letters
631 + (merged to 'next' on 2026-06-17 at dd9a463369)
632 + + b4: introduce configuration for the Git project
633 + + MyFirstContribution: recommend the use of b4
634 + + MyFirstContribution: recommend shallow threading of cover letters
635
636 Project-specific configuration for b4 has been introduced, and the
637 documentation has been updated to recommend using it as a
638 streamlined method for submitting patches.
639
674 - Will merge to 'next'.
640 + Will cook in 'next'.
641 cf. <87eci7yomp.fsf@emacs.iotcl.com>
642 source: <20260615-pks-b4-v4-0-22cfca8f19c5@pks.im>
643
@@ -706,6 +672,7 @@ Release tarballs are available at:
672
673 Expecting a reroll.
674 cf. <CAC2Qwm+P=fZOtpfMPeMiSXf3Afk6OLYpTP8Br78_PRA8WNL1Wg@mail.gmail.com>
675 + cf. <CAC2Qwm+P=fZOtpfMPeMiSXf3Afk6OLYpTP8Br78_PRA8WNL1Wg@mail.gmail.com>
676 source: <pull.2120.v4.git.1781463564.gitgitgadget@gmail.com>
677
678
@@ -725,10 +692,11 @@ Release tarballs are available at:
692 Waiting for response(s) to review comment(s).
693 cf. <849c659f-efa8-430a-bfac-0c26a3ed1aaa@gmail.com>
694 cf. <xmqqjyrzbjyf.fsf@gitster.g>
695 + cf. <7afdaf77-07f5-4d48-955d-e153d148f647@gmail.com>
696 source: <cover.1780438896.git.me@ttaylorr.com>
697
698
731 -* ty/migrate-trust-executable-bit (2026-06-12) 3 commits
699 +* ty/migrate-trust-executable-bit (2026-06-19) 3 commits
700 - environment: move trust_executable_bit into repo_config_values
701 - read-cache: move 'ce_mode_from_stat()' to 'read-cache.c'
702 - read-cache: remove redundant extern declarations
@@ -738,7 +706,7 @@ Release tarballs are available at:
706 to a specific repository instance.
707
708 Needs review.
741 - source: <20260612160527.167203-1-cat@malon.dev>
709 + source: <20260619162105.648495-1-cat@malon.dev>
710
711
712 * kk/prio-queue-cascade-sift (2026-06-01) 1 commit
@@ -791,13 +759,14 @@ Release tarballs are available at:
759
760
761 * jk/setup-gitfile-diag-fix (2026-06-16) 1 commit
794 - - read_gitfile(): simplify NOT_A_REPO error message
762 + (merged to 'next' on 2026-06-18 at b63b3d1f25)
763 + + read_gitfile(): simplify NOT_A_REPO error message
764
765 A regression in the error diagnosis code for invalid .git files has
766 been fixed, avoiding a potential NULL-pointer crash when reporting
767 that a .git file does not point to a valid repository.
768
800 - Will merge to 'next'?
769 + Will cook in 'next'.
770 cf. <xmqqjyry4hax.fsf@gitster.g>
771 source: <20260616123516.GA2301231@coredump.intra.peff.net>
772
@@ -816,8 +785,8 @@ Release tarballs are available at:
785
786 Documentation updates.
787
819 - Waiting for response(s) to review comment(s).
820 - cf. <xmqqcxxyt4op.fsf@gitster.g>
788 + Expecting a reroll.
789 + cf. <729baf6b-53ea-4e8d-95ab-5935667e66c2@app.fastmail.com>
790 source: <V3_CV_doc_int-tr_key_format.8a3@msgid.xyz>
791
792
@@ -870,7 +839,7 @@ Release tarballs are available at:
839 source: <pull.2301.v4.git.git.1779372367317.gitgitgadget@gmail.com>
840
841
873 -* hn/branch-prune-merged (2026-06-15) 7 commits
842 +* hn/branch-delete-merged (2026-06-18) 7 commits
843 - branch: add --dry-run for --delete-merged
844 - branch: add branch.<name>.deleteMerged opt-out
845 - branch: add --delete-merged <branch>
@@ -879,14 +848,16 @@ Release tarballs are available at:
848 - branch: convert delete_branches() to a flags argument
849 - branch: add --forked filter for --list mode
850
882 - "git branch" command learned "--prune-merged" option to remove
851 + "git branch" command learned "--delete-merged" option to remove
852 local branches that have already been merged to the remote-tracking
853 branches they track.
854
855 Waiting for response(s) to review comment(s).
856 cf. <78b6dfdd-df61-4c44-96eb-b527cb26243c@gmail.com>
857 cf. <f68e2a11-02a5-47b9-a01a-458eba821c37@gmail.com>
889 - source: <pull.2285.v15.git.git.1781542042.gitgitgadget@gmail.com>
858 + cf. <37f2a483-c8bf-4c24-84de-c6233cc20b25@gmail.com>
859 + cf. <xmqq33yimsdp.fsf@gitster.g>
860 + source: <pull.2285.v16.git.git.1781810729.gitgitgadget@gmail.com>
861
862
863 * cc/promisor-auto-config-url-more (2026-05-27) 8 commits
@@ -911,7 +882,7 @@ Release tarballs are available at:
882 source: <20260527140820.1438165-1-christian.couder@gmail.com>
883
884
914 -* hn/checkout-track-fetch (2026-05-23) 2 commits
885 +* hn/checkout-track-fetch (2026-06-18) 2 commits
886 - checkout: extend --track with a "fetch" mode to refresh start-point
887 - branch: expose helpers for finding the remote owning a tracking ref
888
@@ -919,20 +890,21 @@ Release tarballs are available at:
890 from the remote the new branch will work with.
891
892 Needs review.
922 - source: <pull.2281.v13.git.git.1779565714.gitgitgadget@gmail.com>
893 + source: <pull.2281.v14.git.git.1781786652.gitgitgadget@gmail.com>
894
895
896 * en/ort-harden-against-corrupt-trees (2026-06-13) 5 commits
926 - - cache-tree: fix verify_cache() to catch non-adjacent D/F conflicts
927 - - merge-ort: abort merge when trees have duplicate entries
928 - - merge-ort: free diff pairs queue in clear_or_reinit_internal_opts()
929 - - merge-ort: drop unnecessary show_all_errors from collect_merge_info()
930 - - merge-ort: propagate callback errors from traverse_trees_wrapper()
897 + (merged to 'next' on 2026-06-18 at e51bee59ca)
898 + + cache-tree: fix verify_cache() to catch non-adjacent D/F conflicts
899 + + merge-ort: abort merge when trees have duplicate entries
900 + + merge-ort: free diff pairs queue in clear_or_reinit_internal_opts()
901 + + merge-ort: drop unnecessary show_all_errors from collect_merge_info()
902 + + merge-ort: propagate callback errors from traverse_trees_wrapper()
903
904 "ort" merge backend handles merging corrupt trees better by
905 aborting when it should.
906
935 - Will merge to 'next'?
907 + Will cook in 'next'.
908 cf. <xmqq5x3ldu4h.fsf@gitster.g>
909 source: <pull.2096.v2.git.1781419047.gitgitgadget@gmail.com>
910
@@ -973,15 +945,15 @@ Release tarballs are available at:
945 appearing falsely related to unrelated commits rendered immediately
946 above them.
947
976 - Will merge to 'next'?
977 - cf. <xmqq8q8e4f3s.fsf@gitster.g>
948 + Waiting for response(s) to review comment(s).
949 + cf. <20260617202744.GA3465855@coredump.intra.peff.net>
950 source: <20260613-ps-pre-commit-indent-v5-0-8d308efea63d@gmail.com>
951
952 --------------------------------------------------
953 [Discarded]
954
955 * kk/fetch-store-ref-optimization (2026-05-24) 1 commit
984 - - fetch: pass transport to post-fetch connectivity check
956 + . fetch: pass transport to post-fetch connectivity check
957
958 When fetching from a transport that provides a self-contained pack,
959 pass the transport pointer to the post-fetch `check_connected()` call
@@ -993,12 +965,12 @@ Release tarballs are available at:
965
966
967 * lp/repack-propagate-promisor-debugging-info (2026-04-18) 6 commits
996 - - repack-promisor: add missing headers
997 - - t7703: test for promisor file content after geometric repack
998 - - t7700: test for promisor file content after repack
999 - - repack-promisor: preserve content of promisor files after repack
1000 - - repack-promisor add helper to fill promisor file after repack
1001 - - pack-write: add explanation to promisor file content
968 + . repack-promisor: add missing headers
969 + . t7703: test for promisor file content after geometric repack
970 + . t7700: test for promisor file content after repack
971 + . repack-promisor: preserve content of promisor files after repack
972 + . repack-promisor add helper to fill promisor file after repack
973 + . pack-write: add explanation to promisor file content
974
975 When fetching objects into a lazily cloned repository, .promisor
976 files are created with information meant to help debugging. "git
@@ -1033,3 +1005,27 @@ Release tarballs are available at:
1005 Retracted.
1006 cf. <xmqqzf11oz7a.fsf@gitster.g>
1007 source: <20260305233452.3727126-8-gitster@pobox.com>
1008 +
1009 +
1010 +* kk/remove-get-reachable-subset (2026-06-11) 1 commit
1011 + . commit-reach: remove get_reachable_subset()
1012 +
1013 + API clean-up.
1014 +
1015 + Retracted.
1016 + cf. <CAL71e4P3Oq08xVPZ+dxQ8L5PKekPJN0RsL4pTicom1og7-1D=A@mail.gmail.com>
1017 + source: <pull.2144.v2.git.1781178567862.gitgitgadget@gmail.com>
1018 +
1019 +
1020 +* ds/config-no-includes (2026-06-08) 3 commits
1021 + . git: add --no-includes top-level option
1022 + . config: add GIT_CONFIG_INCLUDES
1023 + . git-config.adoc: fix paragraph break
1024 +
1025 + Two new mechanisms, the GIT_CONFIG_INCLUDES environment variable and
1026 + the top-level --no-includes command-line option, have been introduced
1027 + to ignore configuration include directives.
1028 +
1029 + Retracted.
1030 + cf. <539713c4-b291-42e6-8541-a16a454518f5@gmail.com>
1031 + source: <pull.2139.git.1780927027.gitgitgadget@gmail.com>