What's cooking (2026/04 #03)

Junio C Hamano committed Apr 8, 2026 at 09:55 UTC b1c48b692cfcc55670951fce8c2fe99b5ac6fd25
1 file changed +145 -382
whats-cooking.txt
+145 -382
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Apr 2026, #02)
3 -X-master-at: 1adf5bca8c3cf778103548b9355777cf2d12efdd
4 -X-next-at: 8a42c5b2bca6c482cc906cf4309d6dfe334e569e
2 +Subject: What's cooking in git.git (Apr 2026, #03)
3 +X-master-at: 2b39a27d40682c09ac1c031f099ee602061597cd
4 +X-next-at: 66d5323bbc44eb35dc937110f5cd0e9539e24623
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Apr 2026, #02)
7 +What's cooking in git.git (Apr 2026, #03)
8 -----------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -17,6 +17,8 @@ A topic without enough support may be discarded after a long period
17 of no activity (of course they can be resubmitted when new interests
18 arise).
19
20 +Git 2.54-rc1 has been tagged. Let's see how solid this is ;-)
21 +
22 Copies of the source code to Git live in many repositories, and the
23 following is a list of the ones I push into or their mirrors. Some
24 repositories have only a subset of branches.
@@ -48,252 +50,151 @@ Release tarballs are available at:
50 --------------------------------------------------
51 [Graduated to 'master']
52
51 -* aa/reap-transport-child-processes (2026-03-12) 1 commit
52 - (merged to 'next' on 2026-03-31 at fb77f8ba9e)
53 - + transport-helper, connect: use clean_on_exit to reap children on abnormal exit
54 -
55 - A few code paths that spawned child processes for network
56 - connection weren't wait(2)ing for their children and letting "init"
57 - reap them instead; they have been tightened.
58 - cf. <20260325061357.GA3772970@coredump.intra.peff.net>
59 - source: <20260312214945.4050010-1-cshung@gmail.com>
60 -
61 -
62 -* ar/config-hook-cleanups (2026-03-25) 13 commits
63 - (merged to 'next' on 2026-03-30 at c128948b16)
64 - + hook: reject unknown hook names in git-hook(1)
65 - + hook: show disabled hooks in "git hook list"
66 - + hook: show config scope in git hook list
67 - + hook: introduce hook_config_cache_entry for per-hook data
68 - + t1800: add test to verify hook execution ordering
69 - + hook: make consistent use of friendly-name in docs
70 - + hook: replace hook_list_clear() -> string_list_clear_func()
71 - + hook: detect & emit two more bugs
72 - + hook: rename cb_data_free/alloc -> hook_data_free/alloc
73 - + hook: fix minor style issues
74 - + builtin/receive-pack: properly init receive_hook strbuf
75 - + hook: move unsorted_string_list_remove() to string-list.[ch]
76 - + Merge branch 'ar/config-hooks' into ar/config-hook-cleanups
77 - (this branch is used by ar/parallel-hooks.)
78 -
79 - Code clean-up around the recent "hooks defined in config" topic.
80 - source: <20260325195503.1139418-1-adrian.ratiu@collabora.com>
81 -
82 -
83 -* ds/backfill-revs (2026-03-26) 6 commits
84 - (merged to 'next' on 2026-03-27 at d4703fdd35)
85 - + t5620: test backfill's unknown argument handling
86 - + path-walk: support wildcard pathspecs for blob filtering
87 - + backfill: work with prefix pathspecs
88 - + backfill: accept revision arguments
89 - + t5620: prepare branched repo for revision tests
90 - + revision: include object-name.h
91 -
92 - `git backfill` learned to accept revision and pathspec arguments.
93 - source: <pull.2070.v3.git.1774538094.gitgitgadget@gmail.com>
94 -
95 -
96 -* jk/c23-const-preserving-fixes (2026-03-26) 5 commits
97 - (merged to 'next' on 2026-03-31 at c813b9b814)
98 - + config: store allocated string in non-const pointer
99 - + rev-parse: avoid writing to const string for parent marks
100 - + revision: avoid writing to const string for parent marks
101 - + rev-parse: simplify dotdot parsing
102 - + revision: make handle_dotdot() interface less confusing
103 -
104 - Adjust the codebase for C23 that changes functions like strchr()
105 - that discarded constness when they return a pointer into a const
106 - string to preserve constness.
107 - source: <20260326190243.GA412983@coredump.intra.peff.net>
108 - source: <20260326192320.GA418281@coredump.intra.peff.net>
109 -
110 -
111 -* js/cmake-needs-writev-compat-too (2026-04-03) 1 commit
112 - (merged to 'next' on 2026-04-03 at c0dfe4a67d)
113 - + cmake: use writev(3p) wrapper as needed
114 -
115 - Build instruction for recently added writev() compatibility wrapper
116 - has been also added to cmake.
117 - source: <pull.2078.git.1775206502134.gitgitgadget@gmail.com>
118 -
119 -
120 -* js/mingw-use-strftime-directly-in-ucrt-build (2026-04-03) 1 commit
121 - (merged to 'next' on 2026-04-03 at 3ed53e1e28)
122 - + mingw: use strftime() directly in UCRT builds
123 -
124 - MinGW build updates.
125 - source: <pull.2079.git.1775210183103.gitgitgadget@gmail.com>
126 -
127 -
128 -* mf/format-patch-commit-list-format (2026-03-23) 9 commits
129 - (merged to 'next' on 2026-03-24 at 0f5b6702eb)
130 - + format-patch: --commit-list-format without prefix
131 - + format-patch: add preset for --commit-list-format
132 - + format-patch: wrap generate_commit_list_cover()
133 - + format.commitListFormat: strip meaning from empty
134 - + docs/pretty-formats: add %(count) and %(total)
135 - + format-patch: rename --cover-letter-format option
136 - + format-patch: refactor generate_commit_list_cover
137 - + pretty.c: better die message %(count) and %(total)
138 - + Merge branch 'mf/format-patch-cover-letter-format' into mf/format-patch-commit-list-format
139 - (this branch is used by mf/format-patch-commit-list-format-doc; uses mf/format-patch-cover-letter-format.)
140 -
141 - Improve the recently introduced `git format-patch
142 - --commit-list-format` (formerly `--cover-letter-format`) option,
143 - including a new "modern" preset and better CLI ergonomics.
144 - source: <cover.1774284699.git.mroik@delayed.space>
145 -
146 -
147 -* mf/format-patch-commit-list-format-doc (2026-03-27) 3 commits
148 - (merged to 'next' on 2026-03-31 at 8f775bd513)
149 - + format-patch: removing unconditional wrapping
150 - + docs: fix --commit-list-format related entries
151 - + Merge branch 'mf/format-patch-commit-list-format' into mf/format-patch-commit-list-format-doc
152 - (this branch uses mf/format-patch-commit-list-format and mf/format-patch-cover-letter-format.)
153 -
154 - Doc updates.
155 - source: <cover.1774640789.git.mroik@delayed.space>
156 -
157 -
158 -* mf/format-patch-cover-letter-format (2026-03-06) 5 commits
159 - (merged to 'next' on 2026-03-09 at e872adca7b)
160 - + docs: add usage for the cover-letter fmt feature
161 - + format-patch: add commitListFormat config
162 - + format-patch: add ability to use alt cover format
163 - + format-patch: move cover letter summary generation
164 - + pretty.c: add %(count) and %(total) placeholders
165 - (this branch is used by mf/format-patch-commit-list-format and mf/format-patch-commit-list-format-doc.)
166 -
167 - "git format-patch --cover-letter" learns to use a simpler format
168 - instead of the traditional shortlog format to list its commits with
169 - a new --cover-letter-format option and format.commitListFormat
170 - configuration variable.
171 - source: <cover.1772839973.git.mroik@delayed.space>
172 -
173 -
174 -* ps/dash-buggy-0.5.13-workaround (2026-04-01) 2 commits
175 - (merged to 'next' on 2026-04-02 at 5766caf01e)
176 - + t9300: work around partial read bug in Dash v0.5.13
177 - + t: work around multibyte bug in quoted heredocs with Dash v0.5.13
178 -
179 - The way dash 0.5.13 handles non-ASCII contents in here-doc
180 - is buggy and breaks our existing tests, which unfortunately
181 - have been rewritten to avoid triggering the bug.
182 - source: <20260402-pks-tests-with-dash-v2-0-cd7ab11dabc0@pks.im>
53 +* jc/whitespace-incomplete-line (2026-03-17) 1 commit
54 + (merged to 'next' on 2026-04-01 at 10a4d95236)
55 + + apply: fix new-style empty context line triggering incomplete-line check
56
57 + Fix whitespace correction for new-style empty context lines.
58 + source: <xmqqldfql4hp.fsf@gitster.g>
59
185 -* ps/odb-generic-object-name-handling (2026-03-20) 16 commits
186 - (merged to 'next' on 2026-03-31 at c14d7bdd1e)
187 - + odb: introduce generic `odb_find_abbrev_len()`
188 - + object-file: move logic to compute packed abbreviation length
189 - + object-name: move logic to compute loose abbreviation length
190 - + object-name: simplify computing common prefixes
191 - + object-name: abbreviate loose object names without `disambiguate_state`
192 - + object-name: merge `update_candidates()` and `match_prefix()`
193 - + object-name: backend-generic `get_short_oid()`
194 - + object-name: backend-generic `repo_collect_ambiguous()`
195 - + object-name: extract function to parse object ID prefixes
196 - + object-name: move logic to iterate through packed prefixed objects
197 - + object-name: move logic to iterate through loose prefixed objects
198 - + odb: introduce `struct odb_for_each_object_options`
199 - + oidtree: extend iteration to allow for arbitrary return codes
200 - + oidtree: modernize the code a bit
201 - + Merge branch 'ps/object-counting' into ps/odb-generic-object-name-handling
202 - + object-file: fix sparse 'plain integer as NULL pointer' error
203 - (this branch is used by ps/odb-cleanup and ps/odb-in-core.)
60
205 - Object name handling (disambiguation and abbreviation) has been
206 - refactored to be backend-generic, moving logic into the respective
207 - object database backends.
208 - cf. <874ilxm4wp.fsf@toon--20250203-5JQV3.mail-host-address-is-not-set>
209 - source: <20260320-b4-pks-odb-source-abbrev-v2-0-fe65dcd8c735@pks.im>
61 +* jd/read-cache-trace-wo-the-repository (2026-03-30) 1 commit
62 + (merged to 'next' on 2026-04-01 at 7047e45a6d)
63 + + read-cache: use istate->repo for trace2 logging
64
65 + A handful of inappropriate uses of the_repository have been
66 + rewritten to use the right repository structure instance in the
67 + read-cache.c codepath.
68 + source: <pull.2253.v4.git.git.1774895886678.gitgitgadget@gmail.com>
69
212 -* pw/worktree-reduce-the-repository (2026-03-26) 3 commits
213 - (merged to 'next' on 2026-03-30 at f967ececef)
214 - + worktree: reject NULL worktree in get_worktree_git_dir()
215 - + worktree add: stop reading ".git/HEAD"
216 - + worktree: remove "the_repository" from is_current_worktree()
70
218 - Reduce the reference to the_repository in the worktree subsystem.
219 - source: <cover.1774534617.git.phillip.wood@dunelm.org.uk>
71 +* jt/fast-import-signed-modes (2026-03-26) 5 commits
72 + (merged to 'next' on 2026-04-01 at bec92be5e9)
73 + + fast-import: add 'abort-if-invalid' mode to '--signed-tags=<mode>'
74 + + fast-import: add 'sign-if-invalid' mode to '--signed-tags=<mode>'
75 + + fast-import: add 'strip-if-invalid' mode to '--signed-tags=<mode>'
76 + + fast-import: add 'abort-if-invalid' mode to '--signed-commits=<mode>'
77 + + fast-export: check for unsupported signing modes earlier
78
79 + Handling of signed commits and tags in fast-import has been made more
80 + configurable.
81 + source: <20260326191414.3783974-1-jltobler@gmail.com>
82
222 -* qb/doc-git-stash-push-optionality (2026-03-30) 1 commit
223 - (merged to 'next' on 2026-03-31 at 66ece1b5d6)
224 - + docs: fix "git stash [push]" documentation
83
226 - Doc update.
227 - source: <pull.2255.v2.git.git.1774877075694.gitgitgadget@gmail.com>
228 -
229 -
230 -* sa/replay-revert (2026-03-25) 2 commits
231 - (merged to 'next' on 2026-03-30 at ef4896a676)
232 - + replay: add --revert mode to reverse commit changes
233 - + sequencer: extract revert message formatting into shared function
234 - (this branch is used by tc/replay-ref.)
84 +* mm/line-log-use-standard-diff-output (2026-03-16) 4 commits
85 + (merged to 'next' on 2026-04-01 at 724e6526dc)
86 + + doc: note that -L supports patch formatting and pickaxe options
87 + + t4211: add tests for -L with standard diff options
88 + + line-log: route -L output through the standard diff pipeline
89 + + line-log: fix crash when combined with pickaxe options
90
236 - "git replay" (experimental) learns, in addition to "pick" and
237 - "replay", a new operating mode "revert".
238 - source: <20260325202354.10628-1-siddharthasthana31@gmail.com>
91 + The way the "git log -L<range>:<file>" feature is bolted onto the
92 + log/diff machinery is being reworked a bit to make the feature
93 + compatible with more diff options, like -S/G.
94 + cf. <xmqqbjg3y8i9.fsf@gitster.g>
95 + source: <pull.2065.v2.git.1773714095.gitgitgadget@gmail.com>
96
97
241 -* sp/doc-gitignore-oowt (2026-03-28) 1 commit
242 - (merged to 'next' on 2026-03-31 at ab3e6e484e)
243 - + doc: gitignore: clarify pattern base for info/exclude and core.excludesFile
98 +* ps/commit-graph-overflow-fix (2026-03-23) 1 commit
99 + (merged to 'next' on 2026-04-01 at c502054354)
100 + + commit-graph: fix writing generations with dates exceeding 34 bits
101
245 - Doc update.
246 - source: <20260328152233.1140327-1-shreyanshpaliwalcmsmn@gmail.com>
102 + Fix a regression in writing the commit-graph where commits with dates
103 + exceeding 34 bits (beyond year 2514) could cause an underflow and
104 + crash Git during the generation data overflow chunk writing.
105 + source: <20260324-pks-commit-graph-overflow-v2-1-843568cf8780@pks.im>
106
107
249 -* tb/stdin-packs-excluded-but-open (2026-03-27) 5 commits
250 - (merged to 'next' on 2026-03-31 at e8927aa861)
251 - + repack: mark non-MIDX packs above the split as excluded-open
252 - + pack-objects: support excluded-open packs with --stdin-packs
253 - + t7704: demonstrate failure with once-cruft objects above the geometric split
254 - + pack-objects: refactor `read_packs_list_from_stdin()` to use `strmap`
255 - + pack-objects: plug leak in `read_stdin_packs()`
108 +* ps/fsck-wo-the-repository (2026-03-23) 12 commits
109 + (merged to 'next' on 2026-04-01 at 6ab7607f2d)
110 + + builtin/fsck: stop using `the_repository` in error reporting
111 + + builtin/fsck: stop using `the_repository` when marking objects
112 + + builtin/fsck: stop using `the_repository` when checking packed objects
113 + + builtin/fsck: stop using `the_repository` with loose objects
114 + + builtin/fsck: stop using `the_repository` when checking reflogs
115 + + builtin/fsck: stop using `the_repository` when checking refs
116 + + builtin/fsck: stop using `the_repository` when snapshotting refs
117 + + builtin/fsck: fix trivial dependence on `the_repository`
118 + + fsck: drop USE_THE_REPOSITORY
119 + + fsck: store repository in fsck options
120 + + fsck: initialize fsck options via a function
121 + + fetch-pack: move fsck options into function scope
122
257 - pack-objects's --stdin-packs=follow mode learns to handle
258 - excluded-but-open packs.
259 - source: <cover.1774641999.git.me@ttaylorr.com>
123 + Internals of "git fsck" have been refactored to not depend on the
124 + global `the_repository` variable.
125 + source: <20260323-b4-pks-fsck-without-the-repository-v2-0-e8dc79bca651@pks.im>
126
127
262 -* tc/replay-down-to-root (2026-03-24) 1 commit
263 - (merged to 'next' on 2026-03-31 at 47456fcc12)
264 - + replay: support replaying down from root commit
128 +* ps/receive-pack-updateinstead-in-worktree (2026-03-30) 3 commits
129 + (merged to 'next' on 2026-04-01 at df61eac37b)
130 + + receive-pack: use worktree HEAD for updateInstead
131 + + t5516: clean up cloned and new-wt in denyCurrentBranch and worktrees test
132 + + t5516: test updateInstead with worktree and unborn bare HEAD
133
266 - git replay now supports replaying down to the root commit.
267 - source: <20260324-toon-replay-down-to-root-v2-1-34e723489f6e@iotcl.com>
134 + The check in "receive-pack" to prevent a checked out branch from
135 + getting updated via updateInstead mechanism has been corrected.
136 + source: <20260330111822.165188-1-pabloosabaterr@gmail.com>
137
138
270 -* th/t6101-unhide-git-failures (2026-03-28) 1 commit
271 - (merged to 'next' on 2026-03-31 at 8867bcf2b4)
272 - + t6101: avoid suppressing git's exit code
139 +* rs/history-short-help-fix (2026-04-06) 1 commit
140 + (merged to 'next' on 2026-04-07 at d3d6ef5197)
141 + + history: fix short help for argument of --update-refs
142
274 - Test cleanup.
275 - source: <20260328135935.180646-1-vikingtc4@gmail.com>
143 + Glitches in "git history -h" have been corrected.
144 + source: <ff6a940c-39fc-4dbf-a164-7770c7f26a31@web.de>
145
146
278 -* th/t8003-unhide-git-failures (2026-03-28) 2 commits
279 - (merged to 'next' on 2026-03-30 at ad41378b07)
280 - + t8003: modernise style
281 - + t8003: avoid suppressing git's exit code
147 +* sp/add-patch-with-fewer-the-repository (2026-03-17) 1 commit
148 + (merged to 'next' on 2026-04-01 at b9edaddcff)
149 + + add-patch: use repository instance from add_i_state instead of the_repository
150
283 - Test clean-up.
284 - source: <20260328132955.172262-2-vikingtc4@gmail.com>
151 + Reduce dependency on `the_repository` in add-patch.c file.
152 + source: <20260317155230.619378-1-shreyanshpaliwalcmsmn@gmail.com>
153
154
287 -* za/t2000-modernise (2026-03-27) 1 commit
288 - (merged to 'next' on 2026-03-31 at 279c41a3e0)
289 - + t2000: modernise overall structure
155 +* th/backfill-auto-detect-sparseness-fix (2026-04-04) 1 commit
156 + (merged to 'next' on 2026-04-07 at c47ef7d0f1)
157 + + backfill: auto-detect sparse-checkout from config
158
291 - Test cleanup.
292 - source: <20260327234019.95591-1-zakariyahali100@gmail.com>
159 + "git backfill" is capable of auto-detecting a sparsely checked out
160 + working tree, which was broken.
161 + source: <20260404111557.17220-1-viking4@gmail.com>
162 +
163 +
164 +* yc/path-walk-fix-error-reporting (2026-03-20) 1 commit
165 + (merged to 'next' on 2026-04-01 at ddcff8b9c6)
166 + + path-walk: fix NULL pointer dereference in error message
167 +
168 + The value of a wrong pointer variable was referenced in an error
169 + message that reported that it shouldn't be NULL.
170 + source: <20260320114823.3151961-1-ysinghcin@gmail.com>
171
172 --------------------------------------------------
173 [New Topics]
174
175 +* jt/index-fd-wo-repo-regression-fix-maint (2026-04-07) 1 commit
176 + + object-file: avoid ODB transaction when not writing objects
177 + (this branch is used by jt/index-fd-wo-repo-regression-fix.)
178 +
179 + During Git 2.52 timeframe, we broke streaming computation of object
180 + hash outside a repository, which has been corrected.
181 +
182 + Will merge to 'master'.
183 +
184 +
185 +* jt/index-fd-wo-repo-regression-fix (2026-04-07) 1 commit
186 + (merged to 'next' on 2026-04-07 at 7339897c7c)
187 + + Merge branch 'jt/index-fd-wo-repo-regression-fix-maint' into HEAD
188 + (this branch uses jt/index-fd-wo-repo-regression-fix-maint.)
189 +
190 + During Git 2.52 timeframe, we broke streaming computation of object
191 + hash outside a repository, which has been corrected.
192 +
193 + Will merge to 'master'.
194 +
195 +--------------------------------------------------
196 +[Cooking]
197 +
198 * js/adjust-tests-to-explicitly-access-bare-repo (2026-04-02) 17 commits
199 - git p4 clone --bare: need to be explicit about the gitdir
200 - t9700: stop relying on implicit bare repo discovery
@@ -406,15 +307,16 @@ Release tarballs are available at:
307
308
309 * ds/rev-list-maximal-only-optim (2026-04-06) 3 commits
409 - - rev-list: use reduce_heads() for --maximal-only
410 - - p6011: add perf test for rev-list --maximal-only
411 - - t6600: test --maximal-only and --independent
310 + (merged to 'next' on 2026-04-07 at 7a70817efa)
311 + + rev-list: use reduce_heads() for --maximal-only
312 + + p6011: add perf test for rev-list --maximal-only
313 + + t6600: test --maximal-only and --independent
314
315 "git rev-list --maximal-only" has been optimized by borrowing the
316 logic used by "git show-branch --independent", which computes the
317 same kind of information much more efficiently.
318
417 - Will merge to 'next'.
319 + Will merge to 'master'.
320 source: <pull.2082.git.1775482048.gitgitgadget@gmail.com>
321
322
@@ -431,60 +333,40 @@ Release tarballs are available at:
333
334
335 * kh/doc-config-list (2026-04-05) 2 commits
434 - - doc: gitcvs-migration: rephrase “man page”
435 - - doc: replace git config --list/-l with `list`
336 + (merged to 'next' on 2026-04-07 at fb95f091cc)
337 + + doc: gitcvs-migration: rephrase “man page”
338 + + doc: replace git config --list/-l with `list`
339
340 "git config list" is the official way to spell "git config -l" and
341 "git config --list". Use it to update the documentation.
342
440 - Will merge to 'next'.
343 + Will merge to 'master'.
344 source: <V2_CV_doc_deprecation_config_--list.569@msgid.xyz>
345
346
347 * lp/repack-propagate-promisor-debugging-info (2026-04-06) 6 commits
445 - - SQUASH???
446 - - t7703: test for promisor file content after geometric repack
447 - - t7700: test for promisor file content after repack
448 - - repack-promisor: preserve content of promisor files after repack
449 - - pack-write: add helper to fill promisor file after repack
450 - - pack-write: add explanation to promisor file content
348 + . SQUASH???
349 + . t7703: test for promisor file content after geometric repack
350 + . t7700: test for promisor file content after repack
351 + . repack-promisor: preserve content of promisor files after repack
352 + . pack-write: add helper to fill promisor file after repack
353 + . pack-write: add explanation to promisor file content
354
355 When fetching objects into a lazily cloned repository, .promisor
356 files are created with information meant to help debugging. "git
357 repack" has been taught to carry this information forward to
358 packfiles that are newly created.
359
457 - Expecting a reroll?
360 + Expecting a reroll.
361 source: <cover.1775431990.git.lorenzo.pegorari2002@gmail.com>
362
363
461 -* rs/history-short-help-fix (2026-04-06) 1 commit
462 - - history: fix short help for argument of --update-refs
463 -
464 - Glitches in "git history -h" have been corrected.
465 -
466 - Will merge to 'next' and then to 'master'.
467 - source: <ff6a940c-39fc-4dbf-a164-7770c7f26a31@web.de>
468 -
469 -
470 -* th/backfill-auto-detect-sparseness-fix (2026-04-04) 1 commit
471 - - backfill: auto-detect sparse-checkout from config
472 -
473 - "git backfill" is capable of auto-detecting a sparsely checked out
474 - working tree, which was broken.
475 -
476 - Will merge to 'next' and then to 'master'.
477 - source: <20260404111557.17220-1-viking4@gmail.com>
478 -
479 -
364 * th/promisor-quiet-per-repo (2026-04-06) 1 commit
365 - promisor-remote: fix promisor.quiet to use the correct repository
366
367 Comments?
368 source: <20260406183041.783800-1-vikingtc4@gmail.com>
369
486 ---------------------------------------------------
487 -[Cooking]
370
371 * jt/odb-transaction-write (2026-04-02) 7 commits
372 - odb/transaction: make `write_object_stream()` pluggable
@@ -631,18 +513,6 @@ Release tarballs are available at:
513 source: <cover.1774820449.git.me@ttaylorr.com>
514
515
634 -* jd/read-cache-trace-wo-the-repository (2026-03-30) 1 commit
635 - (merged to 'next' on 2026-04-01 at 7047e45a6d)
636 - + read-cache: use istate->repo for trace2 logging
637 -
638 - A handful of inappropriate uses of the_repository have been
639 - rewritten to use the right repository structure instance in the
640 - read-cache.c codepath.
641 -
642 - Will merge to 'master'.
643 - source: <pull.2253.v4.git.git.1774895886678.gitgitgadget@gmail.com>
644 -
645 -
516 * jd/unpack-trees-wo-the-repository (2026-03-31) 2 commits
517 - unpack-trees: use repository from index instead of global
518 - unpack-trees: use repository from index instead of global
@@ -655,19 +525,6 @@ Release tarballs are available at:
525 source: <pull.2258.v2.git.git.1774971267.gitgitgadget@gmail.com>
526
527
658 -* ps/receive-pack-updateinstead-in-worktree (2026-03-30) 3 commits
659 - (merged to 'next' on 2026-04-01 at df61eac37b)
660 - + receive-pack: use worktree HEAD for updateInstead
661 - + t5516: clean up cloned and new-wt in denyCurrentBranch and worktrees test
662 - + t5516: test updateInstead with worktree and unborn bare HEAD
663 -
664 - The check in "receive-pack" to prevent a checked out branch from
665 - getting updated via updateInstead mechanism has been corrected.
666 -
667 - Will merge to 'master'.
668 - source: <20260330111822.165188-1-pabloosabaterr@gmail.com>
669 -
670 -
528 * ps/setup-wo-the-repository (2026-03-30) 18 commits
529 - setup: stop using `the_repository` in `init_db()`
530 - setup: stop using `the_repository` in `create_reference_database()`
@@ -720,21 +577,6 @@ Release tarballs are available at:
577 source: <20260401-toon-replay-arbitrary-ref-v3-0-a0b4fabb34b3@iotcl.com>
578
579
723 -* jt/fast-import-signed-modes (2026-03-26) 5 commits
724 - (merged to 'next' on 2026-04-01 at bec92be5e9)
725 - + fast-import: add 'abort-if-invalid' mode to '--signed-tags=<mode>'
726 - + fast-import: add 'sign-if-invalid' mode to '--signed-tags=<mode>'
727 - + fast-import: add 'strip-if-invalid' mode to '--signed-tags=<mode>'
728 - + fast-import: add 'abort-if-invalid' mode to '--signed-commits=<mode>'
729 - + fast-export: check for unsupported signing modes earlier
730 -
731 - Handling of signed commits and tags in fast-import has been made more
732 - configurable.
733 -
734 - Will merge to 'master'.
735 - source: <20260326191414.3783974-1-jltobler@gmail.com>
736 -
737 -
580 * ps/graph-lane-limit (2026-03-27) 3 commits
581 - graph: add truncation mark to capped lanes
582 - graph: add --graph-lane-limit option
@@ -749,7 +591,7 @@ Release tarballs are available at:
591 source: <20260328001113.1275291-1-pabloosabaterr@gmail.com>
592
593
752 -* cc/promisor-auto-config-url (2026-04-02) 10 commits
594 +* cc/promisor-auto-config-url (2026-04-07) 10 commits
595 - t5710: use proper file:// URIs for absolute paths
596 - promisor-remote: remove the 'accepted' strvec
597 - promisor-remote: keep accepted promisor_info structs alive
@@ -761,44 +603,11 @@ Release tarballs are available at:
603 - promisor-remote: pass config entry to all_fields_match() directly
604 - promisor-remote: try accepted remotes before others in get_direct()
605
764 - Promisor remote handling is enhanced to auto-configure remotes based
765 - on a URL whitelist.
766 -
767 - Comments?
768 - source: <20260402070613.85934-1-christian.couder@gmail.com>
769 -
606 + Promisor remote handling has been refactored and fixed in
607 + preparation for auto-configuration of advertised remotes.
608
771 -* ps/fsck-wo-the-repository (2026-03-23) 12 commits
772 - (merged to 'next' on 2026-04-01 at 6ab7607f2d)
773 - + builtin/fsck: stop using `the_repository` in error reporting
774 - + builtin/fsck: stop using `the_repository` when marking objects
775 - + builtin/fsck: stop using `the_repository` when checking packed objects
776 - + builtin/fsck: stop using `the_repository` with loose objects
777 - + builtin/fsck: stop using `the_repository` when checking reflogs
778 - + builtin/fsck: stop using `the_repository` when checking refs
779 - + builtin/fsck: stop using `the_repository` when snapshotting refs
780 - + builtin/fsck: fix trivial dependence on `the_repository`
781 - + fsck: drop USE_THE_REPOSITORY
782 - + fsck: store repository in fsck options
783 - + fsck: initialize fsck options via a function
784 - + fetch-pack: move fsck options into function scope
785 -
786 - Internals of "git fsck" have been refactored to not depend on the
787 - global `the_repository` variable.
788 -
789 - Will merge to 'master'.
790 - source: <20260323-b4-pks-fsck-without-the-repository-v2-0-e8dc79bca651@pks.im>
791 -
792 -
793 -* yc/path-walk-fix-error-reporting (2026-03-20) 1 commit
794 - (merged to 'next' on 2026-04-01 at ddcff8b9c6)
795 - + path-walk: fix NULL pointer dereference in error message
796 -
797 - The value of a wrong pointer variable was referenced in an error
798 - message that reported that it shouldn't be NULL.
799 -
800 - Will merge to 'master'.
801 - source: <20260320114823.3151961-1-ysinghcin@gmail.com>
609 + Will merge to 'next'?
610 + source: <20260407115243.358642-1-christian.couder@gmail.com>
611
612
613 * jr/bisect-custom-terms-in-output (2026-03-20) 1 commit
@@ -812,38 +621,6 @@ Release tarballs are available at:
621 source: <20260320-bisect-terms-v1-1-c30c9540542a@schlaraffenlan.de>
622
623
815 -* jc/whitespace-incomplete-line (2026-03-17) 1 commit
816 - (merged to 'next' on 2026-04-01 at 10a4d95236)
817 - + apply: fix new-style empty context line triggering incomplete-line check
818 -
819 - Fix whitespace correction for new-style empty context lines.
820 -
821 - Will merge to 'master'.
822 - source: <xmqqldfql4hp.fsf@gitster.g>
823 -
824 -
825 -* sp/add-patch-with-fewer-the-repository (2026-03-17) 1 commit
826 - (merged to 'next' on 2026-04-01 at b9edaddcff)
827 - + add-patch: use repository instance from add_i_state instead of the_repository
828 -
829 - Reduce dependency on `the_repository` in add-patch.c file.
830 -
831 - Will merge to 'master'.
832 - source: <20260317155230.619378-1-shreyanshpaliwalcmsmn@gmail.com>
833 -
834 -
835 -* ps/commit-graph-overflow-fix (2026-03-23) 1 commit
836 - (merged to 'next' on 2026-04-01 at c502054354)
837 - + commit-graph: fix writing generations with dates exceeding 34 bits
838 -
839 - Fix a regression in writing the commit-graph where commits with dates
840 - exceeding 34 bits (beyond year 2514) could cause an underflow and
841 - crash Git during the generation data overflow chunk writing.
842 -
843 - Will merge to 'master'.
844 - source: <20260324-pks-commit-graph-overflow-v2-1-843568cf8780@pks.im>
845 -
846 -
624 * ua/push-remote-group (2026-03-27) 3 commits
625 - SQUASH??? - futureproof against the attack of the "main"
626 - push: support pushing to a remote group
@@ -904,22 +681,6 @@ Release tarballs are available at:
681 source: <SY0P300MB080186A23FB9582AD793F0D1CE40A@SY0P300MB0801.AUSP300.PROD.OUTLOOK.COM>
682
683
907 -* mm/line-log-use-standard-diff-output (2026-03-16) 4 commits
908 - (merged to 'next' on 2026-04-01 at 724e6526dc)
909 - + doc: note that -L supports patch formatting and pickaxe options
910 - + t4211: add tests for -L with standard diff options
911 - + line-log: route -L output through the standard diff pipeline
912 - + line-log: fix crash when combined with pickaxe options
913 -
914 - The way the "git log -L<range>:<file>" feature is bolted onto the
915 - log/diff machinery is being reworked a bit to make the feature
916 - compatible with more diff options, like -S/G.
917 -
918 - Will merge to 'master'.
919 - cf. <xmqqbjg3y8i9.fsf@gitster.g>
920 - source: <pull.2065.v2.git.1773714095.gitgitgadget@gmail.com>
921 -
922 -
684 * ab/clone-default-object-filter (2026-03-14) 1 commit
685 - clone: add clone.<url>.defaultObjectFilter config
686
@@ -988,7 +749,8 @@ Release tarballs are available at:
749 source: <pull.2224.v3.git.git.1773238778894.gitgitgadget@gmail.com>
750
751
991 -* pt/fsmonitor-linux (2026-04-06) 13 commits
752 +* pt/fsmonitor-linux (2026-04-07) 14 commits
753 + - SQUASH???
754 - fsmonitor: convert shown khash to strset in do_handle_client
755 - fsmonitor: add tests for Linux
756 - fsmonitor: add timeout to daemon stop command
@@ -1005,7 +767,8 @@ Release tarballs are available at:
767
768 The fsmonitor daemon has been implemented for Linux.
769
1008 - Needs review.
770 + Expecting a reroll.
771 + cf. <xmqqika24mj0.fsf@gitster.g>
772 source: <pull.2147.v13.git.git.1775498098.gitgitgadget@gmail.com>
773
774
@@ -1024,7 +787,7 @@ Release tarballs are available at:
787 - repository: fix repo_init() memleak due to missing _clear()
788 - Merge branch 'ar/config-hook-cleanups' into ar/parallel-hooks
789
1027 - Needs review.
790 + Will merge to 'next'?
791 source: <20260404082934.173788-1-adrian.ratiu@collabora.com>
792
793