What's cooking (2026/07 #08)

Junio C Hamano committed Jul 18, 2026 at 22:45 UTC 87b88b82c07ca77fcc90d81891223cc684749cb7
1 file changed +368 -360
whats-cooking.txt
+368 -360
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Jul 2026, #07)
3 -X-master-at: 44de1520f08d1dfebc3ab2d9f644208eaa5ac925
4 -X-next-at: 700c83d4f35453396241ab93a8de5d321fb3fa83
2 +Subject: What's cooking in git.git (Jul 2026, #08)
3 +X-master-at: 41365c2a9ba347870b80881c0d67454edd22fd49
4 +X-next-at: 94291ce1a99ad9495cc721f5c36f1b96561b32c2
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Jul 2026, #07)
7 +What's cooking in git.git (Jul 2026, #08)
8 -----------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -17,7 +17,7 @@ A topic without enough support may be discarded after a long period
17 of no activity (of course, it can be resubmitted when new interest
18 arises).
19
20 -The second batch of topics have now graduated to the 'master'
20 +The fourth batch of topics have now graduated to the 'master'
21 branch.
22
23 Copies of the source code to Git live in many repositories, and the
@@ -48,125 +48,319 @@ Release tarballs are available at:
48
49 https://www.kernel.org/pub/software/scm/git/
50
51 +--------------------------------------------------
52 +[New Topics]
53 +
54 +* tl/gitweb-shorten-hashes-with-modes (2026-07-17) 1 commit
55 + - gitweb: shorten index hashes with trailing file modes
56 +
57 + The object ID shortening and linking in the 'commitdiff' view of
58 + 'gitweb' has been corrected to work even when the index line carries
59 + a trailing file mode.
60 +
61 + Needs review.
62 + source: <SA1PR10MB9977150C823C0751E53B150D5AF1C62@SA1PR10MB997715.namprd10.prod.outlook.com>
63 +
64 +
65 +* kj/repo-info-more-path-keys (2026-07-17) 7 commits
66 + - repo: add path.git-prefix path key
67 + - repo: add path.grafts with absolute and relative suffix formatting
68 + - repo: add path.index with absolute and relative suffix formatting
69 + - repo: add path.hooks with absolute and relative suffix formatting
70 + - repo: add path.objects with absolute and relative suffix formatting
71 + - repo: add path.superproject-working-tree with absolute and relative suffixes
72 + - repo: add path.toplevel with absolute and relative suffix formatting
73 +
74 + The 'git repo info' command has been taught more keys to output
75 + paths of various repository components (such as the working tree
76 + root, superproject working tree, object database, etc.), supporting
77 + both absolute and relative path formats.
78 +
79 + Needs review.
80 + source: <20260717133015.32040-1-jayatheerthkulkarni2005@gmail.com>
81 +
82 +
83 +* sk/userdiff-swift (2026-07-17) 1 commit
84 + - userdiff: add support for Swift
85 +
86 + Userdiff patterns for Swift have been added, with support for
87 + Swift-specific constructs such as attributes, modifiers, failable
88 + initializers, and generics.
89 +
90 + Waiting for response.
91 + cf. <2a3a73c5-5e90-44a3-bf6a-6e98ce5e5a59@kdbg.org>
92 + source: <20260717140232.6722-1-diy2903@gmail.com>
93 +
94 +
95 +* ps/odb-move-loose-object-writing (2026-07-17) 10 commits
96 + - object-file: move logic to write loose objects
97 + - object-file: move `force_object_loose()`
98 + - object-file: force objects loose via generic interface
99 + - object-file: fix memory leak in `force_object_loose()`
100 + - odb: support setting mtime when writing objects
101 + - odb: lift object existence check out of the "loose" backend
102 + - odb: compute object hash in `odb_write_object_ext()`
103 + - t/u-odb-inmemory: implement wrapper for writing objects
104 + - odb: compute compat object ID in `odb_write_object_ext()`
105 + - Merge branch 'jt/receive-pack-use-odb-transactions' into HEAD
106 + (this branch uses jt/receive-pack-use-odb-transactions.)
107 +
108 + The logic to write loose objects has been refactored and moved from
109 + 'object-file.c' to the loose backend source file 'odb/source-loose.c',
110 + making the loose backend more self-contained. This is achieved by
111 + first refactoring 'force_object_loose()' to use generic ODB write
112 + interfaces instead of loose-backend internals.
113 +
114 + Needs review.
115 + source: <20260717-pks-odb-move-loose-object-writing-v1-0-46446a3cb5b7@pks.im>
116 +
117 +
118 +* pw/rebase-fixup-fixes (2026-07-17) 2 commits
119 + - rebase: remember fixup -c after skipping fixup/squash
120 + - rebase -i: fix counting of fixups after rebase --skip
121 +
122 + Two bugs in how 'git rebase' handles skipped 'fixup' and 'squash'
123 + commands have been fixed. One bug caused an incorrect commit count
124 + to be shown in the template message when multiple commands were
125 + skipped, and another caused the editor not to be opened when the
126 + final command in a chain containing 'fixup -c' was skipped.
127 +
128 + Needs review.
129 + source: <cover.1784304378.git.phillip.wood@dunelm.org.uk>
130 +
131 +
132 +* tc/last-modified-bloom (2026-07-17) 4 commits
133 + - last-modified: keep per-path Bloom filters for wildcard pathspecs
134 + - last-modified: check pathspec against Bloom filter first
135 + - revision: expose check for paths maybe changed in Bloom filter
136 + - revision: move bloom keyvec precondition into function
137 +
138 + The 'git last-modified' command has been optimized by using Bloom
139 + filters. It now reuses revision walk filtering logic from 'git log'
140 + to pre-filter commits, and maintains per-path Bloom filters even
141 + when wildcard pathspecs are used.
142 +
143 + Expecting a reroll.
144 + cf. <20260718083757.GD22588@coredump.intra.peff.net>
145 + cf. <20260718081407.GC22588@coredump.intra.peff.net>
146 + cf. <20260718075700.GB22588@coredump.intra.peff.net>
147 + cf. <87cxwl1lb4.fsf@emacs.iotcl.com>
148 + source: <20260717-toon-speed-up-last-modified-v1-0-410418f18614@iotcl.com>
149 +
150 +
151 +* hn/bisect-auto-reset (2026-07-17) 3 commits
152 + - bisect: add --auto-reset to leave when done
153 + - bisect: let bisect_reset() optionally check out quietly
154 + - bisect: read run output from the open descriptor
155 +
156 + The 'git bisect' command has been taught a '--auto-reset[=<where>]'
157 + option that tells the command to automatically run 'git bisect reset'
158 + to jump back to the original state or to the found culprit.
159 +
160 + Waiting for response.
161 + cf. <1139ae20-f08b-4cf2-b779-42328831e13e@kdbg.org>
162 + cf. <b79a479b-d279-4ac9-a368-6eb8edfed937@kdbg.org>
163 + source: <pull.2335.v2.git.git.1784312854.gitgitgadget@gmail.com>
164 +
165 --------------------------------------------------
166 [Graduated to 'master']
167
54 -* jc/history-message-prep-fix (2026-06-29) 1 commit
55 - (merged to 'next' on 2026-07-06 at 00534a21ce)
56 - + history: streamline message preparation and plug file stream leak
168 +* ih/precompose-flex-array (2026-07-04) 1 commit
169 + (merged to 'next' on 2026-07-09 at 737a87f65e)
170 + + precompose_utf8: use a flex array for d_name
171
58 - A write file stream resource leak has been fixed as part of a code
59 - cleanup.
172 + The UTF-8 precomposition wrapper on macOS has been updated to use a
173 + flexible array member to represent the name of a directory entry,
174 + preventing fortified libc checks from failing when the name is
175 + reallocated to be larger than 'NAME_MAX' bytes.
176
177 Graduated to 'master'.
62 - cf. <akO1mhi2u2PntLbt@pks.im>
63 - source: <xmqqmrwdxrat.fsf@gitster.g>
178 + cf. <20260703050800.GA29216@tb-raspi4>
179 + source: <20260704233724.16928-1-ihar.hrachyshka@gmail.com>
180
181
66 -* jk/bloom-leak-fixes (2026-06-30) 3 commits
67 - (merged to 'next' on 2026-07-08 at 3b9a1cda3f)
68 - + line-log: drop extra copy of range with bloom filters
69 - + revision: avoid leaking bloom keyvecs with multiple traversals
70 - + bloom: make bloom-filter slab initialization idempotent
182 +* jk/git-hash-cleanups (2026-07-07) 8 commits
183 + (merged to 'next' on 2026-07-09 at 12a4856545)
184 + + hash: check ctx->active flag in all wrapper functions
185 + + http: use idempotent git_hash_discard()
186 + + csum-file: use idempotent git_hash_discard()
187 + + hash: make git_hash_discard() idempotent
188 + + hash: document function pointers and wrappers
189 + + hash: convert remaining direct function calls
190 + + hash: use git_hash_init() consistently
191 + + Merge branch 'jk/hash-algo-leak-fixes' into jk/git-hash-cleanups
192 + (this branch uses jk/hash-algo-leak-fixes.)
193
72 - Various memory leaks in the Bloom-filter code paths that are exposed
73 - when running tests with the 'GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS=1'
74 - environment variable have been plugged.
194 + The 'git_hash_*()' wrappers have been updated to be used consistently
195 + across the codebase instead of direct calls to members of 'struct
196 + git_hash_algo', and 'git_hash_discard()' has been made idempotent to
197 + simplify cleanups.
198
199 Graduated to 'master'.
77 - cf. <b641aed4-ad52-477b-b1d8-9d8e470be46f@gmail.com>
78 - cf. <xmqqo6gqobrt.fsf@gitster.g>
79 - source: <20260701063538.GA2579765@coredump.intra.peff.net>
200 + cf. <ak4E4-jmgYFSI75O@pks.im>
201 + source: <20260708035235.GA41491@coredump.intra.peff.net>
202
203
82 -* mg/meson-hook-list-buildfix (2026-07-01) 1 commit
83 - (merged to 'next' on 2026-07-08 at 10763a0ebc)
84 - + meson: restore hook-list.h to builtin_sources
204 +* jk/hash-algo-leak-fixes (2026-07-02) 9 commits
205 + (merged to 'next' on 2026-07-09 at 7db7b74972)
206 + + hash: add platform-specific discard functions
207 + + hash: fix memory leak copying sha256 gcrypt handles
208 + + http: discard hash in dumb-http http_object_request
209 + + check_stream_oid(): discard hash on read error
210 + + patch-id: discard hash when done
211 + + csum-file: provide a function to release checkpoints
212 + + csum-file: always finalize or discard hash
213 + + hash: add discard primitive
214 + + csum-file: drop discard_hashfile()
215 + (this branch is used by jk/git-hash-cleanups.)
216
86 - A racy build failure under Meson has been corrected by ensuring that
87 - the generated header file 'hook-list.h' is built before compiling
88 - files in 'builtin_sources' that depend on it.
217 + Various code paths that initialize a cryptographic hash context but
218 + bail out or finish without calling 'git_hash_final()' have been taught
219 + to call 'git_hash_discard()' to release allocated resources, fixing
220 + memory leaks when Git is built with non-default backends like
221 + 'OpenSSL' or 'libgcrypt'.
222
223 Graduated to 'master'.
91 - cf. <akZGJP1kVtjBFN_e@pks.im>
92 - source: <20260701193928.358825-1-floppym@gentoo.org>
93 -
94 -
95 -* ps/history-drop (2026-07-01) 11 commits
96 - (merged to 'next' on 2026-07-08 at 6fb84708a4)
97 - + builtin/history: implement "drop" subcommand
98 - + builtin/history: split handling of ref updates into two phases
99 - + replay: expose `replay_result_queue_update()`
100 - + reset: stop assuming that the caller passes in a clean index
101 - + reset: allow the caller to specify the current HEAD object
102 - + reset: introduce ability to skip updating HEAD
103 - + reset: introduce dry-run mode
104 - + reset: modernize flags passed to `reset_working_tree()`
105 - + reset: rename `reset_head()`
106 - + reset: drop `USE_THE_REPOSITORY_VARIABLE`
107 - + read-cache: split out function to drop unmerged entries to stage 0
108 -
109 - The experimental 'git history' command has been taught a new 'drop'
110 - subcommand to remove a commit, with its descendants replayed onto its
111 - parent.
224 + cf. <aktIIKuReMxJmDsi@pks.im>
225 + source: <20260702075234.GA1548258@coredump.intra.peff.net>
226 +
227 +
228 +* js/ci-dockerized-pid-limit (2026-07-04) 1 commit
229 + (merged to 'next' on 2026-07-09 at cd80e673a5)
230 + + ci(dockerized): raise the PID limit for private repositories
231 +
232 + Dockerized CI jobs running in private GitHub repositories have been
233 + adjusted to use explicit process and file limits, preventing resource
234 + exhaustion errors on private runners.
235
236 Graduated to 'master'.
114 - cf. <xmqq1pdmprbk.fsf@gitster.g>
115 - cf. <CAP8UFD3OAktVQsLuqBNFH2uhEO31PH8ZF3ZT1ZW8k++XE8YLPw@mail.gmail.com>
116 - source: <20260701-b4-pks-history-drop-v8-0-19b5cdf1facd@pks.im>
117 -
118 -
119 -* ps/odb-drop-whence (2026-07-02) 7 commits
120 - (merged to 'next' on 2026-07-08 at f43ee51cc3)
121 - + odb: document object info fields
122 - + odb: drop `whence` field from object info
123 - + treewide: convert users of `whence` to the new source field
124 - + odb: add `source` field to struct object_info_source
125 - + odb: make backend-specific fields optional
126 - + packfile: thread odb_source_packed through packed_object_info()
127 - + Merge branch 'ps/odb-source-packed' into ps/odb-drop-whence
128 - (this branch is used by ps/odb-for-each-object-filter.)
129 -
130 - The 'whence' field in 'struct object_info' has been removed. The
131 - backend-specific object information retrieval has been refactored into
132 - an opt-in 'struct object_info_source' structure.
237 + cf. <xmqqh5medmzh.fsf@gitster.g>
238 + source: <pull.2164.v2.git.1783155124926.gitgitgadget@gmail.com>
239 +
240 +
241 +* js/coverity-fixes (2026-07-05) 12 commits
242 + (merged to 'next' on 2026-07-09 at 1823fe297c)
243 + + mingw: make `exit_process()` own the process handle on all paths
244 + + fsmonitor: plug token-data leak on early daemon-startup failures
245 + + reftable/table: release filter on error path
246 + + imap-send: avoid leaking the IMAP upload buffer
247 + + worktree: fix resource leaks when branch creation fails
248 + + submodule: fix cwd leak in `get_superproject_working_tree()`
249 + + dir: free allocations on parse-error paths in `read_one_dir()`
250 + + line-log: avoid redundant copy that leaks in process_ranges
251 + + run-command: avoid `close(-1)` in `start_command()` error paths
252 + + download_https_uri_to_file(): do not leak fd upon failure
253 + + loose: avoid closing invalid fd on error path
254 + + load_one_loose_object_map(): fix resource leak
255 +
256 + Various resource leaks, invalid file descriptor closures, and process
257 + handle ownership issues flagged by Coverity have been fixed.
258
259 Graduated to 'master'.
135 - cf. <xmqqv7b0rmt6.fsf@gitster.g>
136 - source: <20260702-b4-pks-odb-drop-whence-v2-0-b0af7468ad95@pks.im>
260 + cf. <xmqqa4s238lg.fsf@gitster.g>
261 + source: <pull.2163.v2.git.1783239870.gitgitgadget@gmail.com>
262
263
139 -* ps/refs-writing-subcommands (2026-07-06) 5 commits
140 - (merged to 'next' on 2026-07-08 at f001147283)
141 - + builtin/refs: add "rename" subcommand
142 - + builtin/refs: add "create" subcommand
143 - + builtin/refs: add "update" subcommand
144 - + builtin/refs: add "delete" subcommand
145 - + builtin/refs: drop `the_repository`
146 - (this branch is used by ps/refs-wo-the-repository.)
264 +* js/wincred-fixes (2026-07-16) 2 commits
265 + (merged to 'next' on 2026-07-16 at 8c5927f06f)
266 + + wincred: prevent silent credential loss when storing OAuth tokens
267 + + wincred: avoid memory corruption when erasing a credential
268
148 - The 'git refs' toolbox has been extended with new 'create', 'delete',
149 - 'update', and 'rename' subcommands to create, delete, update, and
150 - rename references, respectively.
269 + The 'wincred' credential helper has been updated to avoid memory
270 + corruption when erasing credentials and to prevent silent credential
271 + loss when storing OAuth tokens, by correcting buffer allocations and
272 + arguments passed to safe-CRT APIs.
273
274 Graduated to 'master'.
153 - source: <20260706-pks-refs-writing-subcommands-v4-0-d51f6ce7f830@pks.im>
275 + source: <pull.2182.git.1784212072.gitgitgadget@gmail.com>
276
277
156 -* rs/blame-abbrev-marks (2026-07-06) 1 commit
157 - (merged to 'next' on 2026-07-08 at e4962bd3d5)
158 - + blame: reserve mark column only if necessary
278 +* mm/sideband-ansi-sgr-colon-fix (2026-05-13) 1 commit
279 + (merged to 'next' on 2026-07-09 at fd2b979b73)
280 + + sideband: allow ANSI SGR with colon-separated subfields
281 +
282 + The sideband demultiplexer has been updated to recognize ANSI SGR
283 + escape sequences that use colon-separated subfields (e.g., for
284 + 256-color or true-color codes).
285
160 - The alignment of commit object name abbreviations in 'git blame'
161 - output has been optimized to reserve a column for marks (caret,
162 - question mark, or asterisk) only when such marks are actually shown.
286 + Graduated to 'master'.
287 + cf. <8addf7c0-ae39-f1c0-20ab-52114702aaf6@gmx.de>
288 + source: <20260513070803.163546-1-grawity@nullroute.lt>
289 +
290 +
291 +* ps/t-fixes-for-git-test-long (2026-07-05) 9 commits
292 + (merged to 'next' on 2026-07-09 at c5b13248c8)
293 + + gitlab-ci: enable "GIT_TEST_LONG"
294 + + gitlab-ci: disable RAM disk on macOS jobs
295 + + t: use `test_bool_env` to parse GIT_TEST_LONG
296 + + t7900: clean up large EXPENSIVE repository
297 + + t7508: skip EXPENSIVE test that is broken without SIZE_T_IS_64BIT
298 + + t5608: reduce maximum disk usage
299 + + t4141: fix inefficient use of dd(1)
300 + + t0021: skip EXPENSIVE test that is broken without SIZE_T_IS_64BIT
301 + + README: add GitLab CI badge to make it more discoverable
302 +
303 + Various test scripts have been updated to clean up large temporary
304 + files and repositories, reducing peak disk usage during testing.
305 + Also, expensive tests have been disabled on platforms that lack
306 + sufficient resources (like 32-bit platforms and Windows CI runners),
307 + and the long test suite has been enabled in GitLab CI.
308
309 Graduated to 'master'.
165 - cf. <xmqqzf0397u1.fsf@gitster.g>
166 - source: <92991b5e-0667-4315-89d5-1514a5499297@web.de>
310 + cf. <20260707043026.GB677056@coredump.intra.peff.net>
311 + source: <20260706-b4-pks-t-fixes-for-GIT-TEST-LONG-v3-0-4f6c5a37fd1f@pks.im>
312
313 --------------------------------------------------
169 -[New Topics]
314 +[Stalled]
315 +
316 +* kh/doc-trailers (2026-06-10) 10 commits
317 + - doc: interpret-trailers: document comment line treatment
318 + - doc: interpret-trailers: commit to “trailer block” term
319 + - doc: interpret-trailers: join new-trailers again
320 + - doc: interpret-trailers: add key format example
321 + - doc: interpret-trailers: explain key format
322 + - doc: interpret-trailers: explain the format after the intro
323 + - doc: interpret-trailers: not just for commit messages
324 + - doc: interpret-trailers: use “metadata” in Name as well
325 + - doc: interpret-trailers: replace “lines” with “metadata”
326 + - doc: interpret-trailers: stop fixating on RFC 822
327 +
328 + Documentation for 'git interpret-trailers' has been updated to explain
329 + the format of trailer keys (alphanumeric characters and hyphens),
330 + replace outdated terminology, define key terms upfront, and document
331 + how comment lines in the input are treated.
332 +
333 + Expecting a reroll for too long, stalled.
334 + cf. <729baf6b-53ea-4e8d-95ab-5935667e66c2@app.fastmail.com>
335 + source: <V3_CV_doc_int-tr_key_format.8a3@msgid.xyz>
336 +
337 +
338 +* sn/rebase-update-refs-symrefs (2026-06-03) 1 commit
339 + - rebase: skip branch symref aliases
340 +
341 + 'git rebase --update-refs' has been taught to resolve local branch
342 + symrefs to their referents before queuing updates, ensuring aliases of
343 + the current branch are skipped and duplicate updates are avoided to
344 + prevent failures when branch aliases are present.
345 +
346 + Waiting for response for too long, stalled.
347 + cf. <f982c386-e329-4ab0-b695-e540bcb9de3d@gmail.com>
348 + source: <pull.2126.v2.git.1780482436865.gitgitgadget@gmail.com>
349 +
350 +
351 +* jt/config-lock-timeout (2026-05-17) 1 commit
352 + - config: retry acquiring config.lock, configurable via core.configLockTimeout
353 +
354 + Configuration file locking has been updated to retry for a short
355 + period, avoiding failures when multiple processes attempt to update
356 + the configuration simultaneously.
357 +
358 + Waiting for response for too long, stalled.
359 + cf. <agrIrGwSMFlKTx9x@pks.im>
360 + source: <20260517132111.1014901-1-joerg@thalheim.io>
361 +
362 +--------------------------------------------------
363 +[Cooking]
364
365 * js/coverity-unchecked-returns-fix (2026-07-14) 11 commits
366 - bisect: handle dup() failure when redirecting stdout
@@ -212,8 +406,7 @@ Release tarballs are available at:
406 has been corrected to use 'PRIuMAX' and cast the value to
407 'uintmax_t', to avoid portability issues.
408
215 - Will merge to 'next'?
216 - cf. <87a4rrxg3r.fsf@gentoo.mail-host-address-is-not-set>
409 + Will merge to 'next'.
410 source: <xmqq4ii0ko9t.fsf@gitster.g>
411
412
@@ -232,12 +425,13 @@ Release tarballs are available at:
425 * ds/trace2-tolerate-failed-timestamp (2026-07-15) 1 commit
426 - trace2: tolerate failed timestamp formatting
427
235 - The trace2 telemetry library has been updated to tolerate failures
428 + The 'trace2' telemetry library has been updated to tolerate failures
429 from system calls like 'gettimeofday()' and datetime formatting
430 functions, replacing potential program crashes with blank placeholder
431 timestamps in the traces.
432
240 - Needs review.
433 + Waiting for response.
434 + cf. <alpXW5U6sndZtgqV@com-79390>
435 source: <pull.2178.git.1784131932489.gitgitgadget@gmail.com>
436
437
@@ -261,34 +455,19 @@ Release tarballs are available at:
455 helper has been simplified by removing the explicit 'count' parameter
456 and relying on the NULL-termination of the array.
457
264 - Will merge to 'next'?
265 - cf. <alhr2bb0lUTHtvjO@pks.im>
266 - cf. <xmqqpl0nhutx.fsf@gitster.g>
458 + Will merge to 'next'.
459 source: <935883f3-3be4-4c51-9711-5208b9ef9ca1@web.de>
460
461
270 -* js/wincred-fixes (2026-07-16) 2 commits
271 - (merged to 'next' on 2026-07-16 at 8c5927f06f)
272 - + wincred: prevent silent credential loss when storing OAuth tokens
273 - + wincred: avoid memory corruption when erasing a credential
274 -
275 - The wincred credential helper has been updated to avoid memory
276 - corruption when erasing credentials and to prevent silent
277 - credential loss when storing OAuth tokens, by correcting buffer
278 - allocations and arguments passed to safe-CRT APIs.
279 -
280 - Will merge to 'master'.
281 - source: <pull.2182.git.1784212072.gitgitgadget@gmail.com>
282 -
283 -
462 * kk/no-walk-pathspec-fix (2026-07-16) 2 commits
285 - - revision: fix --no-walk path filtering regression
286 - - Merge branch 'kk/streaming-walk-pqueue' into kk/no-walk-pathspec-fix
463 + (merged to 'next' on 2026-07-16 at 4dd6fb0e7e)
464 + + revision: fix --no-walk path filtering regression
465 + + Merge branch 'kk/streaming-walk-pqueue' into kk/no-walk-pathspec-fix
466
467 The 'git rev-list --no-walk' command lost pathspec filtering when the
468 streaming walk was refactored, which has been corrected.
469
291 - Will merge to 'next'.
470 + Will merge to 'master'.
471 source: <pull.2181.git.1784198879711.gitgitgadget@gmail.com>
472
473
@@ -305,7 +484,7 @@ Release tarballs are available at:
484 'parse_options' API for displaying help, and its SYNOPSIS in the
485 documentation has been standardized to match.
486
308 - Needs review.
487 + Waiting for response.
488 cf. <xmqq4ihyehyb.fsf@gitster.g>
489 cf. <xmqqcxwmeiwq.fsf@gitster.g>
490 source: <20260716165517.433849-1-christian.couder@gmail.com>
@@ -319,7 +498,9 @@ Release tarballs are available at:
498 implicit dependency on the global 'the_repository' variable in
499 'copy.c'.
500
322 - Needs review.
501 + Will merge to 'next'?
502 + cf. <b0df688a-3b26-48f6-8b1c-98530483885e@gmail.com>
503 + cf. <xmqqo6g54k7m.fsf@gitster.g>
504 source: <20260716-pks-copy-wo-the-repository-v2-1-8f5e32942929@pks.im>
505
506
@@ -333,7 +514,7 @@ Release tarballs are available at:
514 explicitly to refspec-parsing functions and storing it in 'struct
515 refspec'.
516
336 - Needs review.
517 + Will merge to 'next'.
518 source: <20260716-pks-refspec-wo-the-repository-v1-0-aa40844d067f@pks.im>
519
520
@@ -349,86 +530,25 @@ Release tarballs are available at:
530 Calls to 'write(3p)' in 'send_sideband()' and 'cat_blob()' have been
531 refactored to use 'writev(3p)' wrappers to reduce syscall overhead.
532
352 - Needs review.
533 + Waiting for response.
534 cf. <f8050598-392f-44c9-8d66-0454740a7a12@kdbg.org>
535 cf. <a2676ec6-39d5-4220-8549-10a17daec668@hogyros.de>
536 + cf. <xmqqfr1ig0hv.fsf@gitster.g>
537 source: <20260716-pks-reintroduce-writev-v1-0-ea9038c884bc@pks.im>
538
539
358 -* sc/wt-status-avoid-quadratic-insertion (2026-07-16) 1 commit
359 - - wt-status: avoid quadratic insertion for untracked paths
540 +* sc/wt-status-avoid-quadratic-insertion (2026-07-17) 1 commit
541 + - wt-status: avoid repeated insertion for untracked paths
542
543 The enumeration of untracked and ignored files in 'git status' has
544 been optimized by avoiding quadratic complexity insertion into string
545 lists, reducing the construction cost from O(n^2) to O(n log n).
546
365 - Needs review.
366 - source: <20260716185045.229320-1-sahityajb@gmail.com>
367 -
368 ---------------------------------------------------
369 -[Stalled]
370 -
371 -* kh/doc-trailers (2026-06-10) 10 commits
372 - - doc: interpret-trailers: document comment line treatment
373 - - doc: interpret-trailers: commit to “trailer block” term
374 - - doc: interpret-trailers: join new-trailers again
375 - - doc: interpret-trailers: add key format example
376 - - doc: interpret-trailers: explain key format
377 - - doc: interpret-trailers: explain the format after the intro
378 - - doc: interpret-trailers: not just for commit messages
379 - - doc: interpret-trailers: use “metadata” in Name as well
380 - - doc: interpret-trailers: replace “lines” with “metadata”
381 - - doc: interpret-trailers: stop fixating on RFC 822
382 -
383 - Documentation for 'git interpret-trailers' has been updated to explain
384 - the format of trailer keys (alphanumeric characters and hyphens),
385 - replace outdated terminology, define key terms upfront, and document
386 - how comment lines in the input are treated.
387 -
388 - Expecting a reroll for too long, stalled.
389 - cf. <729baf6b-53ea-4e8d-95ab-5935667e66c2@app.fastmail.com>
390 - source: <V3_CV_doc_int-tr_key_format.8a3@msgid.xyz>
391 -
392 -
393 -* sn/rebase-update-refs-symrefs (2026-06-03) 1 commit
394 - - rebase: skip branch symref aliases
395 -
396 - 'git rebase --update-refs' has been taught to resolve local branch
397 - symrefs to their referents before queuing updates, ensuring aliases of
398 - the current branch are skipped and duplicate updates are avoided to
399 - prevent failures when branch aliases are present.
400 -
401 - Waiting for response for too long, stalled.
402 - cf. <f982c386-e329-4ab0-b695-e540bcb9de3d@gmail.com>
403 - source: <pull.2126.v2.git.1780482436865.gitgitgadget@gmail.com>
404 -
405 -
406 -* ap/http-redirect-wwwauth-fix (2026-06-02) 1 commit
407 - - http: preserve wwwauth_headers across redirects
408 -
409 - When 'cURL' follows a redirect, the 'WWW-Authenticate' headers from
410 - the redirect target were lost because 'credential_from_url()' cleared
411 - the credential state. This has been fixed by preserving the collected
412 - headers across the redirect update.
413 -
414 - Will discard.
415 - cf. <xmqqmrw2zavx.fsf@gitster.g>
416 - source: <20260602161150.1527493-1-aplattner@nvidia.com>
417 -
418 -
419 -* jt/config-lock-timeout (2026-05-17) 1 commit
420 - - config: retry acquiring config.lock, configurable via core.configLockTimeout
421 -
422 - Configuration file locking has been updated to retry for a short
423 - period, avoiding failures when multiple processes attempt to update
424 - the configuration simultaneously.
425 -
426 - Waiting for response for too long, stalled.
427 - cf. <agrIrGwSMFlKTx9x@pks.im>
428 - source: <20260517132111.1014901-1-joerg@thalheim.io>
547 + Will merge to 'next'.
548 + (a newer iteration v3 exists as <20260718081449.26747-1-sahityajb@gmail.com>)
549 + cf. <20260718083828.GE22588@coredump.intra.peff.net>
550 + source: <20260717144620.259031-1-sahityajb@gmail.com>
551
430 ---------------------------------------------------
431 -[Cooking]
552
553 * tb/send-pack-no-ref-delta (2026-07-12) 4 commits
554 - send-pack: honor `no-ref-delta` capability
@@ -512,7 +632,9 @@ Release tarballs are available at:
632 updated to use the repository-aware variants.
633
634 Waiting for response.
515 - cf. <aldYW4TPUqgDMRcf@pks.im>
635 + cf. <aldYVPyMl40-Myp0@pks.im>
636 + cf. <aldYTuMvN-8EMvYK@pks.im>
637 + cf. <3c0a8031-7082-422a-b474-938418682b60@web.de>
638 source: <20260714175956.54601-1-l.s.r@web.de>
639
640
@@ -654,28 +776,6 @@ Release tarballs are available at:
776 source: <xmqqpl0xv25e.fsf@gitster.g>
777
778
657 -* jk/git-hash-cleanups (2026-07-07) 8 commits
658 - (merged to 'next' on 2026-07-09 at 12a4856545)
659 - + hash: check ctx->active flag in all wrapper functions
660 - + http: use idempotent git_hash_discard()
661 - + csum-file: use idempotent git_hash_discard()
662 - + hash: make git_hash_discard() idempotent
663 - + hash: document function pointers and wrappers
664 - + hash: convert remaining direct function calls
665 - + hash: use git_hash_init() consistently
666 - + Merge branch 'jk/hash-algo-leak-fixes' into jk/git-hash-cleanups
667 - (this branch uses jk/hash-algo-leak-fixes.)
668 -
669 - The 'git_hash_*()' wrappers have been updated to be used consistently
670 - across the codebase instead of direct calls to members of 'struct
671 - git_hash_algo', and 'git_hash_discard()' has been made idempotent to
672 - simplify cleanups.
673 -
674 - Will merge to 'master'.
675 - cf. <ak4E4-jmgYFSI75O@pks.im>
676 - source: <20260708035235.GA41491@coredump.intra.peff.net>
677 -
678 -
779 * mm/lib-httpd-cgi-safe (2026-07-10) 3 commits
780 - t/README: document writing concurrency-safe helpers
781 - t/lib-httpd: make http-429 first-request check atomic
@@ -689,19 +789,6 @@ Release tarballs are available at:
789 source: <pull.2171.v2.git.1783704657.gitgitgadget@gmail.com>
790
791
692 -* mm/sideband-ansi-sgr-colon-fix (2026-05-13) 1 commit
693 - (merged to 'next' on 2026-07-09 at fd2b979b73)
694 - + sideband: allow ANSI SGR with colon-separated subfields
695 -
696 - The sideband demultiplexer has been updated to recognize ANSI SGR
697 - escape sequences that use colon-separated subfields (e.g., for
698 - 256-color or true-color codes).
699 -
700 - Will merge to 'master'.
701 - cf. <8addf7c0-ae39-f1c0-20ab-52114702aaf6@gmx.de>
702 - source: <20260513070803.163546-1-grawity@nullroute.lt>
703 -
704 -
792 * ps/odb-pluggable-housekeeping (2026-07-12) 12 commits
793 - odb: make optimizations pluggable
794 - builtin/gc: fix signedness issues in ODB-related functionality
@@ -821,8 +908,7 @@ Release tarballs are available at:
908 the handling of the 'core.packedRefsTimeout' configuration has been
909 moved into the per-repository ref store structure.
910
824 - Will merge to 'next'?
825 - cf. <xmqqldbbhuh0.fsf@gitster.g>
911 + Will merge to 'next'.
912 source: <20260716-pks-refs-wo-the-repository-v3-0-db0a804e0224@pks.im>
913
914
@@ -844,7 +930,7 @@ Release tarballs are available at:
930 * ds/sparse-index-ita-crash (2026-07-06) 1 commit
931 - sparse-index: avoid crash on intent-to-add entry outside the cone
932
847 - A crash in the sparse-index collapse code when encountering an
933 + A crash in the 'sparse-index' collapse code when encountering an
934 invalidated cache-tree node (due to an intent-to-add path) has been
935 fixed by avoiding collapsing such subtrees.
936
@@ -923,30 +1009,6 @@ Release tarballs are available at:
1009 source: <20260702041759.51572-1-zhihao.yao@njit.edu>
1010
1011
926 -* jk/hash-algo-leak-fixes (2026-07-02) 9 commits
927 - (merged to 'next' on 2026-07-09 at 7db7b74972)
928 - + hash: add platform-specific discard functions
929 - + hash: fix memory leak copying sha256 gcrypt handles
930 - + http: discard hash in dumb-http http_object_request
931 - + check_stream_oid(): discard hash on read error
932 - + patch-id: discard hash when done
933 - + csum-file: provide a function to release checkpoints
934 - + csum-file: always finalize or discard hash
935 - + hash: add discard primitive
936 - + csum-file: drop discard_hashfile()
937 - (this branch is used by jk/git-hash-cleanups.)
938 -
939 - Various code paths that initialize a cryptographic hash context but
940 - bail out or finish without calling 'git_hash_final()' have been taught
941 - to call 'git_hash_discard()' to release allocated resources, fixing
942 - memory leaks when Git is built with non-default backends like
943 - 'OpenSSL' or 'libgcrypt'.
944 -
945 - Will merge to 'master'.
946 - cf. <aktIIKuReMxJmDsi@pks.im>
947 - source: <20260702075234.GA1548258@coredump.intra.peff.net>
948 -
949 -
1012 * ml/t9811-replace-test-f (2026-07-11) 2 commits
1013 (merged to 'next' on 2026-07-15 at ffb7fcad15)
1014 + t9811: replace 'test -f' and '! test -f' with 'test_path_*'
@@ -961,43 +1023,6 @@ Release tarballs are available at:
1023 source: <20260711160447.99708-1-marcelomlage@usp.br>
1024
1025
964 -* ps/t-fixes-for-git-test-long (2026-07-05) 9 commits
965 - (merged to 'next' on 2026-07-09 at c5b13248c8)
966 - + gitlab-ci: enable "GIT_TEST_LONG"
967 - + gitlab-ci: disable RAM disk on macOS jobs
968 - + t: use `test_bool_env` to parse GIT_TEST_LONG
969 - + t7900: clean up large EXPENSIVE repository
970 - + t7508: skip EXPENSIVE test that is broken without SIZE_T_IS_64BIT
971 - + t5608: reduce maximum disk usage
972 - + t4141: fix inefficient use of dd(1)
973 - + t0021: skip EXPENSIVE test that is broken without SIZE_T_IS_64BIT
974 - + README: add GitLab CI badge to make it more discoverable
975 -
976 - Various test scripts have been updated to clean up large temporary
977 - files and repositories, reducing peak disk usage during testing.
978 - Also, expensive tests have been disabled on platforms that lack
979 - sufficient resources (like 32-bit platforms and Windows CI runners),
980 - and the long test suite has been enabled in GitLab CI.
981 -
982 - Will merge to 'master'.
983 - cf. <20260707043026.GB677056@coredump.intra.peff.net>
984 - source: <20260706-b4-pks-t-fixes-for-GIT-TEST-LONG-v3-0-4f6c5a37fd1f@pks.im>
985 -
986 -
987 -* ih/precompose-flex-array (2026-07-04) 1 commit
988 - (merged to 'next' on 2026-07-09 at 737a87f65e)
989 - + precompose_utf8: use a flex array for d_name
990 -
991 - The UTF-8 precomposition wrapper on macOS has been updated to use a
992 - flexible array member to represent the name of a directory entry,
993 - preventing fortified libc checks from failing when the name is
994 - reallocated to be larger than 'NAME_MAX' bytes.
995 -
996 - Will merge to 'master'.
997 - cf. <20260703050800.GA29216@tb-raspi4>
998 - source: <20260704233724.16928-1-ihar.hrachyshka@gmail.com>
999 -
1000 -
1026 * sn/osxkeychain-rust-universal (2026-07-07) 3 commits
1027 (merged to 'next' on 2026-07-10 at fe82b5d188)
1028 + contrib: wire up osxkeychain in contrib/Makefile on macOS
@@ -1109,42 +1134,6 @@ Release tarballs are available at:
1134 source: <cover.1784128921.git.phillip.wood@dunelm.org.uk>
1135
1136
1112 -* js/ci-dockerized-pid-limit (2026-07-04) 1 commit
1113 - (merged to 'next' on 2026-07-09 at cd80e673a5)
1114 - + ci(dockerized): raise the PID limit for private repositories
1115 -
1116 - Dockerized CI jobs running in private GitHub repositories have been
1117 - adjusted to use explicit process and file limits, preventing resource
1118 - exhaustion errors on private runners.
1119 -
1120 - Will merge to 'master'.
1121 - cf. <xmqqh5medmzh.fsf@gitster.g>
1122 - source: <pull.2164.v2.git.1783155124926.gitgitgadget@gmail.com>
1123 -
1124 -
1125 -* js/coverity-fixes (2026-07-05) 12 commits
1126 - (merged to 'next' on 2026-07-09 at 1823fe297c)
1127 - + mingw: make `exit_process()` own the process handle on all paths
1128 - + fsmonitor: plug token-data leak on early daemon-startup failures
1129 - + reftable/table: release filter on error path
1130 - + imap-send: avoid leaking the IMAP upload buffer
1131 - + worktree: fix resource leaks when branch creation fails
1132 - + submodule: fix cwd leak in `get_superproject_working_tree()`
1133 - + dir: free allocations on parse-error paths in `read_one_dir()`
1134 - + line-log: avoid redundant copy that leaks in process_ranges
1135 - + run-command: avoid `close(-1)` in `start_command()` error paths
1136 - + download_https_uri_to_file(): do not leak fd upon failure
1137 - + loose: avoid closing invalid fd on error path
1138 - + load_one_loose_object_map(): fix resource leak
1139 -
1140 - Various resource leaks, invalid file descriptor closures, and process
1141 - handle ownership issues flagged by Coverity have been fixed.
1142 -
1143 - Will merge to 'master'.
1144 - cf. <xmqqa4s238lg.fsf@gitster.g>
1145 - source: <pull.2163.v2.git.1783239870.gitgitgadget@gmail.com>
1146 -
1147 -
1137 * tb/repack-geometric-cruft (2026-06-28) 11 commits
1138 - SQUASH??? bare grep !???
1139 - repack: support combining '--geometric' with '--cruft'
@@ -1164,7 +1153,8 @@ Release tarballs are available at:
1153 collect unreachable objects.
1154
1155 Waiting for response.
1167 - cf. <aj8cOhH6hGVZIFft@nand.local>
1156 + cf. <xmqq8q8068f7.fsf@gitster.g>
1157 + cf. <xmqqpl1d56dd.fsf@gitster.g>
1158 source: <cover.1782500507.git.me@ttaylorr.com>
1159
1160
@@ -1181,6 +1171,7 @@ Release tarballs are available at:
1171 + object-file: embed transaction flush logic in commit function
1172 + object-file: rename files transaction fsync function
1173 + object-file: rename files transaction prepare function
1174 + (this branch is used by ps/odb-move-loose-object-writing.)
1175
1176 'git receive-pack' has been refactored to use ODB transaction
1177 interfaces instead of directly managing 'tmp_objdir' for staging
@@ -1206,7 +1197,7 @@ Release tarballs are available at:
1197 + oss-fuzz: add fuzzer for parsing reftables
1198 + meson: support building fuzzers with libFuzzer
1199
1209 - The reftable code has been hardened against corrupted tables by
1200 + The 'reftable' code has been hardened against corrupted tables by
1201 fixing out-of-bounds writes, out-of-bounds reads, and abort calls
1202 during parsing.
1203
@@ -1232,20 +1223,10 @@ Release tarballs are available at:
1223 'push_default') have been migrated into the per-repository structure.
1224
1225 Needs review.
1226 + cf. <xmqq8q7961xe.fsf@gitster.g>
1227 source: <20260714032525.1611141-1-cat@malon.dev>
1228
1229
1238 -* dk/meson-enable-use-nsec-build (2026-06-20) 1 commit
1239 - - meson: wire up USE_NSEC build knob
1240 -
1241 - The 'USE_NSEC' build knob, which enables support for sub-second file
1242 - timestamp resolution, has been wired up to the Meson build system.
1243 -
1244 - Will discard.
1245 - cf. <45F2C180-1DE1-4371-869B-BF605B64E01A@gmail.com>
1246 - source: <c4c5ade901ff95b0f95939ea818870e4f3d59da1.1781971201.git.ben.knoble+github@gmail.com>
1247 -
1248 -
1230 * ps/libgit-in-subdir (2026-07-12) 3 commits
1231 . Move libgit.a sources into separate "lib/" directory
1232 . t/helper: prepare "test-example-tap.c" for introduction of "lib/"
@@ -1366,7 +1347,7 @@ Release tarballs are available at:
1347 'git tag --contains', significantly speeding up connectivity checks
1348 across many candidate refs with shared history.
1349
1369 - Will merge to 'next'?
1350 + Will merge to 'next'.
1351 cf. <20260716091924.GB1212956@coredump.intra.peff.net>
1352 source: <20260612-ref-filter-memoized-contains-v4-0-5ed39fd001dd@gmail.com>
1353
@@ -1381,24 +1362,24 @@ Release tarballs are available at:
1362 drop merge commits and linearize the replayed history, mimicking 'git
1363 rebase --no-rebase-merges'.
1364
1384 - Will merge to 'master'?
1365 + On hold, waiting for response from the author.
1366 cf. <xmqq5x2qz42z.fsf@gitster.g>
1367 cf. <CABPp-BGzU9KHGF1nipi2HZaa1AiikMKGGaapQzHVH06wO4V1ww@mail.gmail.com>
1368 source: <20260707-toon-git-replay-drop-merges-v7-0-808ab9b4afa6@iotcl.com>
1369
1370
1390 -* ps/cat-file-remote-object-info (2026-07-15) 13 commits
1391 - - cat-file: make remote-object-info allow-list dynamic
1392 - - cat-file: validate remote atoms with an allow-list
1371 +* ps/cat-file-remote-object-info (2026-07-18) 13 commits
1372 + - cat-file: make remote-object-info allow-list adapt to the server
1373 - cat-file: add remote-object-info to batch-command
1374 - transport: add client support for object-info
1375 - serve: advertise object-info feature
1376 + - protocol-caps: check object existence regardless of the attributes requested
1377 - fetch-pack: move fetch initialization
1378 - connect: make write_fetch_command_and_capabilities() more generic
1379 - fetch-pack: move write_fetch_command_and_capabilities() to connect.c
1399 - - fetch-pack: drop static advertise_sid variable
1400 - - fetch-pack: fix hash_algo variable type
1401 - - t1006: split test utility functions into new 'lib-cat-file.sh'
1380 + - fetch-pack: use unsigned int for hash_algo variable
1381 + - fetch-pack: drop the static advertise_sid variable
1382 + - t1006: extract helper functions into new 'lib-cat-file.sh'
1383 - cat-file: declare loop counter inside for()
1384 - transport-helper: fix memory leak of helper on disconnect
1385
@@ -1409,9 +1390,8 @@ Release tarballs are available at:
1390 filtered on the client based on server-advertised capabilities,
1391 returning empty strings for inapplicable or unsupported fields.
1392
1412 - Expecting a reroll.
1413 - cf. <DJZM80YDCMQG.SXP22P43W1J3@gmail.com>
1414 - source: <20260715-ps-eric-work-rebase-v18-0-34d7adb051bb@gmail.com>
1393 + Needs review.
1394 + source: <20260718-ps-eric-work-rebase-v20-0-0c13962ac532@gmail.com>
1395
1396
1397 * mm/diff-process-hunks (2026-07-15) 9 commits
@@ -1431,7 +1411,7 @@ Release tarballs are available at:
1411 while leaving all output formatting (word diff, color, blame, etc.) to
1412 Git's standard pipeline.
1413
1434 - Ejected for now, as conflicts badly with mm/line-log-limited-ops.
1414 + Ejected for now, as it conflicts badly with 'mm/line-log-limited-ops'.
1415
1416 Expecting a reroll.
1417 cf. <xmqq8q7aj3b0.fsf@gitster.g>
@@ -1442,16 +1422,16 @@ Release tarballs are available at:
1422 * ty/migrate-trust-executable-bit (2026-07-16) 4 commits
1423 - environment: move has_symlinks into repo_config_values
1424 - environment: move trust_executable_bit into repo_config_values
1445 - - read-cache: move 'ce_mode_from_stat()' to 'read-cache.c'
1425 + - read-cache: pass 'repo' to 'ce_mode_from_stat()'
1426 - read-cache: remove redundant extern declarations
1427
1448 - The 'trust_executable_bit' (coming from 'core.filemode'
1449 - configuration) has been migrated into 'repo_config_values' to tie it
1450 - to a specific repository instance.
1428 + The 'trust_executable_bit' (coming from the 'core.filemode'
1429 + configuration) has been migrated into 'struct repo_config_values' to
1430 + tie it to a specific repository instance.
1431
1452 - Needs review.
1453 - cf. <xmqqa4rqfzys.fsf@gitster.g>
1454 - source: <20260716084941.1101918-1-cat@malon.dev>
1432 + Waiting for response.
1433 + cf. <xmqq8q7961xe.fsf@gitster.g>
1434 + source: <20260717063559.1633567-1-cat@malon.dev>
1435
1436
1437 * za/completion-hide-dotfiles (2026-06-20) 2 commits
@@ -1503,10 +1483,11 @@ Release tarballs are available at:
1483 - branch: add --forked filter for --list mode
1484
1485 The 'git branch' command has been taught the '--delete-merged' option
1506 - to remove local branches that are already merged to their tracked
1486 + to remove local branches that are already merged into their tracked
1487 remote-tracking branches.
1488
1489 Needs review.
1490 + cf. <xmqqtspvptqc.fsf@gitster.g>
1491 source: <pull.2285.v19.git.git.1784053493.gitgitgadget@gmail.com>
1492
1493
@@ -1515,9 +1496,11 @@ Release tarballs are available at:
1496 - branch: expose helpers for finding the remote owning a tracking ref
1497
1498 The 'git checkout --track=...' command has been taught to optionally
1518 - fetch the branch from the remote the new branch will work with.
1499 + fetch the branch from the remote that the new branch will work with.
1500
1520 - Needs review.
1501 + Waiting for response for too long, stalled.
1502 + cf. <xmqq5x37h6fj.fsf@gitster.g>
1503 + cf. <CAL71e4MiijEiM26TKJcOYT7L4pfQeMM_F2oT3U3igP-wOZm2Ag@mail.gmail.com>
1504 source: <pull.2281.v15.git.git.1782338098.gitgitgadget@gmail.com>
1505
1506
@@ -1535,7 +1518,7 @@ Release tarballs are available at:
1518 simplification) by indenting them, preventing them from appearing
1519 falsely related to unrelated commits rendered immediately above them.
1520
1538 - Will merge to 'next'?
1521 + Will merge to 'next'.
1522 cf. <CA+J6zkQNzEAhhY74qDrOwfFVrshEF7YFxWRRkwE3ttJo15ZbAg@mail.gmail.com>
1523 source: <20260714-ps-pre-commit-indent-v12-0-d50938e006df@gmail.com>
1524
@@ -1577,3 +1560,28 @@ Release tarballs are available at:
1560 Retracted.
1561 cf. <CAL71e4PRVYfUWc-c+6XHTwtADqrbub9ykbo+rPyramDhJw=Rfg@mail.gmail.com>
1562 source: <pull.2132.v3.git.1783532989.gitgitgadget@gmail.com>
1563 +
1564 +
1565 +* ap/http-redirect-wwwauth-fix (2026-06-02) 1 commit
1566 + . http: preserve wwwauth_headers across redirects
1567 +
1568 + When 'cURL' follows a redirect, the 'WWW-Authenticate' headers from
1569 + the redirect target were lost because 'credential_from_url()' cleared
1570 + the credential state. This has been fixed by preserving the collected
1571 + headers across the redirect update.
1572 +
1573 + Discarded.
1574 + cf. <xmqqmrw2zavx.fsf@gitster.g>
1575 + source: <20260602161150.1527493-1-aplattner@nvidia.com>
1576 +
1577 +
1578 +* dk/meson-enable-use-nsec-build (2026-06-20) 1 commit
1579 + . meson: wire up USE_NSEC build knob
1580 +
1581 + The 'USE_NSEC' build knob, which enables support for sub-second file
1582 + timestamp resolution, has been wired up to the Meson build system.
1583 +
1584 + Discarded.
1585 + cf. <xmqqa4rx9mb5.fsf@gitster.g>
1586 + cf. <45F2C180-1DE1-4371-869B-BF605B64E01A@gmail.com>
1587 + source: <c4c5ade901ff95b0f95939ea818870e4f3d59da1.1781971201.git.ben.knoble+github@gmail.com>