What's cooking (2026/03 #03)
Junio C Hamano committed
Mar 6, 2026 at 14:54 UTC
1207e16911bf4162d9642a0e45587c90a7d78f50
1 file changed
+190
-356
whats-cooking.txt
+190
-356
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
-Subject: What's cooking in git.git (Mar 2026, #02)
3
-X-master-at: 628a66ccf68d141d57d06e100c3514a54b31d6b7
4
-X-next-at: 7842e34a66540770d4e1ee6a443a82652b97dd7d
2
+Subject: What's cooking in git.git (Mar 2026, #03)
3
+X-master-at: 795c338de725e13bd361214c6b768019fc45a2c1
4
+X-next-at: a537e3e6e998710bf15ee05bf0cd02a122d54b8c
5
Bcc: lwn@lwn.net, gitster@pobox.com
6
7
-What's cooking in git.git (Mar 2026, #02)
7
+What's cooking in git.git (Mar 2026, #03)
8
-----------------------------------------
9
10
Here are the topics that have been cooking in my tree. Commits
@@ -50,243 +50,166 @@ Release tarballs are available at:
50
--------------------------------------------------
51
[Graduated to 'master']
52
53
-* aa/add-p-no-auto-advance (2026-02-14) 4 commits
54
- (merged to 'next' on 2026-02-25 at ce27f94bc2)
55
- + add-patch: allow interfile navigation when selecting hunks
56
- + add-patch: allow all-or-none application of patches
57
- + add-patch: modify patch_update_file() signature
58
- + interactive -p: add new `--auto-advance` flag
59
-
60
- "git add -p" learned a new mode that allows the user to revisit a
61
- file that was already dealt with.
62
- source: <cover.1771066252.git.abrahamadekunle50@gmail.com>
63
-
64
-
65
-* bk/mailmap-wo-the-repository (2026-02-19) 2 commits
66
- (merged to 'next' on 2026-02-26 at f7e3afc1ff)
67
- + mailmap: drop global config variables
68
- + mailmap: stop using the_repository
69
-
70
- Wean the mailmap code off of the_repository dependency.
71
-
72
- source: <20260220060442.29469-1-bkkaracay@gmail.com>
73
-
74
-
75
-* cs/subtree-split-fixes (2026-02-17) 3 commits
76
- (merged to 'next' on 2026-02-25 at 3824d2c52d)
77
- + contrib/subtree: process out-of-prefix subtrees
78
- + contrib/subtree: test history depth
79
- + contrib/subtree: capture additional test-cases
80
-
81
- An earlier attempt to optimize "git subtree" discarded too much
82
- relevant histories, which has been corrected.
83
- source: <20260217-cs-subtree-remove-optimization-v2-0-4299e71a30c6@howdoi.land>
84
-
85
-
86
-* cx/fetch-display-ubfix (2026-02-24) 1 commit
87
- (merged to 'next' on 2026-02-26 at ebd1da8b75)
88
- + fetch: fix wrong evaluation order in URL trailing-slash trimming
89
-
90
- Undefined-behaviour fix in "git fetch".
91
-
92
- source: <pull.2211.git.git.1771984857879.gitgitgadget@gmail.com>
93
-
94
-
95
-* dk/meson-regen-config-list (2026-02-24) 1 commit
96
- (merged to 'next' on 2026-02-26 at 64ea932d59)
97
- + build: regenerate config-list.h when Documentation changes
98
-
99
- Fix dependency screw-up in meson-based builds.
100
-
101
- source: <4ef96c6bbf698a08df1df87b7cb053b6d0d00822.1771943954.git.ben.knoble+github@gmail.com>
102
-
103
-
104
-* ds/config-list-with-type (2026-02-23) 13 commits
105
- (merged to 'next' on 2026-02-26 at cdaee07fde)
106
- + config: use an enum for type
107
- + config: restructure format_config()
108
- + config: format colors quietly
109
- + color: add color_parse_quietly()
110
- + config: format expiry dates quietly
111
- + config: format paths gently
112
- + config: format bools or strings in helper
113
- + config: format bools or ints gently
114
- + config: format bools gently
115
- + config: format int64s gently
116
- + config: make 'git config list --type=<X>' work
117
- + config: add 'gently' parameter to format_config()
118
- + config: move show_all_config()
119
-
120
- "git config list" is taught to show the values interpreted for
121
- specific type with "--type=<X>" option.
122
-
123
- source: <pull.2044.v3.git.1771849615.gitgitgadget@gmail.com>
124
-
125
-
126
-* en/merge-ort-almost-wo-the-repository (2026-02-19) 6 commits
127
- (merged to 'next' on 2026-02-26 at 4c07a66173)
128
- + replay: prevent the_repository from coming back
129
- + merge-ort: prevent the_repository from coming back
130
- + merge-ort: replace the_hash_algo with opt->repo->hash_algo
131
- + merge-ort: replace the_repository with opt->repo
132
- + merge-ort: pass repository to write_tree()
133
- + merge,diff: remove the_repository check before prefetching blobs
134
-
135
- Mark the marge-ort codebase to prevent more uses of the_repository
136
- from getting added.
137
- cf. <143ab1c8-9f07-4df7-8200-69b5a78a0351@gmail.com>
138
- cf. <aZ12rYYwbh1fvrnE@pks.im>
139
- source: <pull.2048.v3.git.1771718393.gitgitgadget@gmail.com>
140
-
141
-
142
-* hy/diff-lazy-fetch-with-break-fix (2026-02-23) 1 commit
143
- (merged to 'next' on 2026-02-25 at afe07ad86c)
144
- + diffcore-break: avoid segfault with freed entries
145
-
146
- A prefetch call can be triggered to access a stale diff_queue entry
147
- after diffcore-break breaks a filepair into two and freed the
148
- original entry that is no longer used, leading to a segfault, which
149
- has been corrected.
150
- source: <20260224061329.60364-2-hanyang.tony@bytedance.com>
53
+* ob/core-attributesfile-in-repository (2026-02-16) 3 commits
54
+ (merged to 'next' on 2026-02-27 at 2b2e3a1fa9)
55
+ + environment: move "branch.autoSetupMerge" into `struct repo_config_values`
56
+ + environment: stop using core.sparseCheckout globally
57
+ + environment: stop storing `core.attributesFile` globally
58
59
+ The core.attributesfile is intended to be set per repository, but
60
+ were kept track of by a single global variable in-core, which has
61
+ been corrected by moving it to per-repository data structure.
62
+ cf. <CAP8UFD2Rz3NMrTayi9yjRk4-51tStaLWKeBVB9RaJMWmiBLqrQ@mail.gmail.com>
63
+ source: <cover.1771258573.git.belkid98@gmail.com>
64
153
-* jr/apply-directory-normalize (2026-02-17) 1 commit
154
- (merged to 'next' on 2026-02-26 at 588d44696d)
155
- + apply: normalize path in --directory argument
65
157
- "git apply --directory=./un/../normalized/path" now normalizes the
158
- given path before using it.
159
-
160
- source: <pull.2198.v2.git.git.1771373732749.gitgitgadget@gmail.com>
66
+* ps/fsck-stream-from-the-right-object-instance (2026-02-23) 4 commits
67
+ (merged to 'next' on 2026-02-27 at b378558c1a)
68
+ + pack-check: fix verification of large objects
69
+ + packfile: expose function to read object stream for an offset
70
+ + object-file: adapt `stream_object_signature()` to take a stream
71
+ + t/helper: improve "genrandom" test helper
72
73
+ "fsck" iterates over packfiles and its access to pack data caused
74
+ the list to be permuted, which caused it to loop forever; the code
75
+ to access pack data by "fsck" has been updated to avoid this.
76
+ source: <20260223-pks-fsck-fix-v2-0-99a0714ea3bd@pks.im>
77
163
-* kn/osxkeychain-buildfix (2026-02-19) 1 commit
164
- (merged to 'next' on 2026-02-26 at 913be932b0)
165
- + osxkeychain: define build targets in the top-level Makefile.
78
167
- Simplify build procedure for oxskeychain (in contrib/).
168
-
169
- source: <pull.2046.v4.git.1771551540816.gitgitgadget@gmail.com>
79
+* pt/t7527-flake-workaround (2025-12-31) 1 commit
80
+ (merged to 'next' on 2026-02-27 at d6ebc97cb1)
81
+ + t7527: fix flaky fsmonitor event tests with retry logic
82
83
+ Test fixup.
84
+ source: <pull.2150.v2.git.git.1767226763360.gitgitgadget@gmail.com>
85
172
-* kn/ref-location (2026-02-25) 6 commits
173
- (merged to 'next' on 2026-02-26 at e87adbdb69)
174
- + refs: add GIT_REFERENCE_BACKEND to specify reference backend
175
- + refs: allow reference location in refstorage config
176
- + refs: receive and use the reference storage payload
177
- + refs: move out stub modification to generic layer
178
- + refs: extract out `refs_create_refdir_stubs()`
179
- + setup: don't modify repo in `create_reference_database()`
86
+--------------------------------------------------
87
+[New Topics]
88
181
- Allow the directory in which reference backends store their data to
182
- be specified.
183
-
184
- source: <20260225-kn-alternate-ref-dir-v9-0-3fe118e40e28@gmail.com>
89
+* ab/clone-default-object-filter (2026-03-06) 1 commit
90
+ - clone: add clone.<url>.defaultObjectFilter config
91
92
+ "git clone" learns to pay attention to "clone.<url>.defaultObjectFilter"
93
+ configuration and behave as if the "--filter=<filter-spec>" option
94
+ was given on the command line.
95
187
-* lg/t2004-test-path-is-helpers (2026-02-21) 1 commit
188
- (merged to 'next' on 2026-02-25 at c5862e1b3d)
189
- + t2004: use test_path_is_file instead of test -f
96
+ Comments?
97
+ source: <pull.2058.v4.git.1772833649843.gitgitgadget@gmail.com>
98
191
- Test code clean-up.
192
- source: <pull.2049.git.1771694893208.gitgitgadget@gmail.com>
99
100
+* ag/send-email-sasl-with-host-port (2026-03-05) 1 commit
101
+ (merged to 'next' on 2026-03-06 at a773196f56)
102
+ + send-email: pass smtp hostname and port to Authen::SASL
103
195
-* lo/repo-leftover-bits (2026-02-25) 9 commits
196
- (merged to 'next' on 2026-02-26 at 962fc48d45)
197
- + Documentation/git-repo: capitalize format descriptions
198
- + Documentation/git-repo: replace 'NUL' with '_NUL_'
199
- + t1901: adjust nul format output instead of expected value
200
- + t1900: rename t1900-repo to t1900-repo-info
201
- + repo: rename struct field to repo_info_field
202
- + repo: replace get_value_fn_for_key by get_repo_info_field
203
- + repo: rename repo_info_fields to repo_info_field
204
- + CodingGuidelines: instruct to name arrays in singular
205
- + Merge branch 'lo/repo-info-keys' into lo/repo-leftover-bits
104
+ "git send-email" learns to pass hostname/port to Authen::SASL
105
+ module.
106
207
- Clean-up the code around "git repo info" command.
208
-
209
- source: <20260225183559.79303-1-lucasseikioshiro@gmail.com>
107
+ Will merge to 'master'.
108
+ source: <MAUPR01MB1154634CC04D29AAF7CADE5F7B87DA@MAUPR01MB11546.INDPRD01.PROD.OUTLOOK.COM>
109
110
212
-* ps/maintenance-geometric-default (2026-02-24) 8 commits
213
- (merged to 'next' on 2026-02-26 at 8ab085f657)
214
- + builtin/maintenance: use "geometric" strategy by default
215
- + t7900: prepare for switch of the default strategy
216
- + t6500: explicitly use "gc" strategy
217
- + t5510: explicitly use "gc" strategy
218
- + t5400: explicitly use "gc" strategy
219
- + t34xx: don't expire reflogs where it matters
220
- + t: disable maintenance where we verify object database structure
221
- + t: fix races caused by background maintenance
111
+* jc/neuter-sideband-fixup (2026-03-05) 6 commits
112
+ - sideband: drop 'default' configuration
113
+ - sideband: offer to configure sanitizing on a per-URL basis
114
+ - sideband: add options to allow more control sequences to be passed through
115
+ - sideband: do allow ANSI color sequences by default
116
+ - sideband: introduce an "escape hatch" to allow control characters
117
+ - sideband: mask control characters
118
+ (this branch is used by jc/neuter-sideband-post-3.0.)
119
223
- "git maintenance" starts using the "geometric" strategy by default.
224
-
225
- source: <20260224-b4-pks-maintenance-default-geometric-strategy-v2-0-8657338c6fa1@pks.im>
120
+ Try to resurrect and reboot a stalled "avoid sending risky escape
121
+ sequences taken from sideband to the terminal" topic by Dscho. The
122
+ plan is to keep it in 'next' long enough to see if anybody screams
123
+ with the "everything dropped except for ANSI color escape sequence"
124
+ default.
125
126
+ Comments?
127
+ source: <20260305233452.3727126-1-gitster@pobox.com>
128
228
-* ps/simplify-normalize-path-copy-len (2026-02-21) 1 commit
229
- (merged to 'next' on 2026-02-25 at ce7c45c6fa)
230
- + path: factor out skip_slashes() in normalize_path_copy_len()
129
232
- Code clean-up.
233
- source: <20260221110511.1592-2-pushkarkumarsingh1970@gmail.com>
130
+* jc/neuter-sideband-post-3.0 (2026-03-05) 2 commits
131
+ - sideband: delay sanitizing by default to Git v3.0
132
+ - Merge branch 'jc/neuter-sideband-fixup' into jc/neuter-sideband-post-3.0
133
+ (this branch uses jc/neuter-sideband-fixup.)
134
+
135
+ The final step, split from earlier attempt by Dscho, to loosen the
136
+ sideband restriction for now and tighten later at Git v3.0 boundary.
137
+
138
+ On hold, until jc/neuter-sideband-fixup cooks long enough in 'next'.
139
+ (this branch uses jc/neuter-sideband-fixup.)
140
+ source: <20260305233452.3727126-8-gitster@pobox.com>
141
+
142
+
143
+* jt/doc-submitting-patches-study-before-sending (2026-03-05) 1 commit
144
+ (merged to 'next' on 2026-03-06 at 222151114c)
145
+ + Documentation: extend guidance for submitting patches
146
147
+ Doc update for our contributors.
148
236
-* pw/no-more-NULL-means-current-worktree (2026-02-19) 2 commits
237
- (merged to 'next' on 2026-02-26 at 281f28b140)
238
- + path: remove repository argument from worktree_git_path()
239
- + wt-status: avoid passing NULL worktree
149
+ Will merge to 'master'.
150
+ source: <20260305193836.973122-1-jltobler@gmail.com>
151
241
- API clean-up for the worktree subsystem.
242
- cf. <d5866041-3e2f-4f5e-a8d1-725fd3eac2e2@gmail.com>
243
- source: <cover.1771511192.git.phillip.wood@dunelm.org.uk>
152
153
+* ps/ci-gitlab-prepare-for-macos-14-deprecation (2026-03-05) 3 commits
154
+ (merged to 'next' on 2026-03-06 at 60b308a43b)
155
+ + gitlab-ci: update to macOS 15 images
156
+ + meson: detect broken iconv that requires ICONV_RESTART_RESET
157
+ + meson: simplify iconv-emits-BOM check
158
246
-* rr/gitweb-mobile (2026-02-16) 5 commits
247
- (merged to 'next' on 2026-02-26 at b7e4c26f73)
248
- + gitweb: let page header grow on mobile for long wrapped project names
249
- + gitweb: fix mobile footer overflow by wrapping text and clearing floats
250
- + gitweb: fix mobile page overflow across log/commit/blob/diff views
251
- + gitweb: prevent project search bar from overflowing on mobile
252
- + gitweb: add viewport meta tag for mobile devices
159
+ Move gitlab CI from macOS 14 images that are being deprecated.
160
254
- "gitweb" has been taught to be mobile friendly.
255
-
256
- source: <pull.2043.v2.git.1771257211.gitgitgadget@gmail.com>
161
+ Will merge to 'master'.
162
+ source: <20260305-pks-gitlab-ci-macos-16-v1-0-ce8da0ff29c2@pks.im>
163
164
259
-* sc/pack-redundant-leakfix (2026-02-21) 1 commit
260
- (merged to 'next' on 2026-02-25 at b2fda8839e)
261
- + pack-redundant: fix memory leak when open_pack_index() fails
165
+* ss/t9123-setup-inside-test-expect-success (2026-03-05) 1 commit
166
+ (merged to 'next' on 2026-03-06 at 607e206418)
167
+ + t9123: use test_when_finished for cleanup
168
263
- Leakfix.
264
- source: <20260221103900.41740-1-sahityajb@gmail.com>
169
+ Test clean-up.
170
171
+ Will merge to 'master'.
172
+ source: <20260305125408.16958-1-r.siddharth.shrimali@gmail.com>
173
267
-* sp/shallow-deepen-relative-fix (2026-02-15) 2 commits
268
- (merged to 'next' on 2026-02-26 at 2183b3405e)
269
- + shallow: handling fetch relative-deepen
270
- + shallow: free local object_array allocations
174
272
- "git fetch --deepen" that tries to go beyond merged branch used to
273
- get confused where the updated shallow points are, which has been
274
- corrected.
275
-
276
- source: <pull.2121.v5.git.git.1771186316.gitgitgadget@gmail.com>
175
+* cs/subtree-split-recursion (2026-03-05) 3 commits
176
+ - contrib/subtree: reduce recursion during split
177
+ - contrib/subtree: functionalize split traversal
178
+ - contrib/subtree: reduce function side-effects
179
180
+ When processing large history graphs on Debian or Ubuntu, "git
181
+ subtree" can die with a "recursion depth reached" error.
182
279
-* sp/tree-diff-wo-the-repository (2026-02-20) 1 commit
280
- (merged to 'next' on 2026-02-26 at c5762ee063)
281
- + tree-diff: remove the usage of the_hash_algo global
183
+ Comments?
184
+ source: <20260305-cs-subtree-split-recursion-v2-0-7266be870ba9@howdoi.land>
185
283
- The last uses of the_repository in "tree-diff.c" have been
284
- eradicated.
285
-
286
- source: <20260220175331.1250726-1-shreyanshpaliwalcmsmn@gmail.com>
186
+
187
+* fp/t3310-unhide-git-failures (2026-03-05) 1 commit
188
+ - t3310: avoid hiding failures from rev-parse in command substitutions
189
+
190
+ The construct 'test "$(command)" = expectation' loses the exit
191
+ status from the command, which has been fixed by breaking up the
192
+ statement into pieces.
193
+
194
+ Will merge to 'next'.
195
+ source: <20260305225128.54283-1-francescopaparatto@gmail.com>
196
+
197
+
198
+* jk/unleak-mmap (2026-03-06) 5 commits
199
+ - meson: turn on NO_MMAP when building with LSan
200
+ - Makefile: turn on NO_MMAP when building with LSan
201
+ - pack-revindex: avoid double-loading .rev files
202
+ - check_connected(): fix leak of pack-index mmap
203
+ - check_connected(): delay opening new_pack
204
+
205
+ Plug a few leaks where mmap'ed memory regions are not unmapped.
206
+
207
+ Will merge to 'next'?
208
+ source: <20260305230315.GA2354983@coredump.intra.peff.net>
209
+ source: <796110ee-d795-4445-9d82-7026370a88cf@intel.com>
210
211
--------------------------------------------------
289
-[New Topics]
212
+[Cooking]
213
214
* kj/path-micro-code-cleanup (2026-03-04) 3 commits
215
(merged to 'next' on 2026-03-04 at 569091027c)
@@ -313,12 +236,13 @@ Release tarballs are available at:
236
237
238
* ss/t3700-modernize (2026-03-03) 2 commits
316
- - t3700: use test_grep helper for better diagnostics
317
- - t3700: avoid suppressing git's exit code
239
+ (merged to 'next' on 2026-03-05 at 23ff16a16f)
240
+ + t3700: use test_grep helper for better diagnostics
241
+ + t3700: avoid suppressing git's exit code
242
243
Test clean-up.
244
321
- Will merge to 'next'.
245
+ Will merge to 'master'.
246
source: <20260303204029.52952-1-r.siddharth.shrimali@gmail.com>
247
248
@@ -339,13 +263,14 @@ Release tarballs are available at:
263
264
265
* os/doc-custom-subcommand-on-path (2026-03-04) 1 commit
342
- - doc: add information regarding external commands
266
+ (merged to 'next' on 2026-03-05 at 661cc235ae)
267
+ + doc: add information regarding external commands
268
269
The way end-users can add their own "git <cmd>" subcommand by
270
storing "git-<cmd>" in a directory on their $PATH has not been
271
documented clearly, which has been corrected.
272
348
- Will merge to 'next'.
273
+ Will merge to 'master'.
274
source: <pull.2220.v4.git.git.1772636614850.gitgitgadget@gmail.com>
275
276
@@ -359,8 +284,6 @@ Release tarballs are available at:
284
Comments?
285
source: <pull.2224.v2.git.git.1772648846009.gitgitgadget@gmail.com>
286
362
---------------------------------------------------
363
-[Cooking]
287
288
* fp/t3310-test-path-is-helpers (2026-02-27) 1 commit
289
(merged to 'next' on 2026-03-03 at c01b2c73d8)
@@ -372,24 +295,6 @@ Release tarballs are available at:
295
source: <20260228005939.9012-1-francescopaparatto@gmail.com>
296
297
375
-* jc/neuter-sideband-fixup (2026-03-02) 8 commits
376
- - sideband: conditional documentation fix
377
- - sideband: delay sanitizing by default to Git v3.0
378
- - sideband: drop 'default' configuration
379
- - sideband: offer to configure sanitizing on a per-URL basis
380
- - sideband: add options to allow more control sequences to be passed through
381
- - sideband: do allow ANSI color sequences by default
382
- - sideband: introduce an "escape hatch" to allow control characters
383
- - sideband: mask control characters
384
-
385
- Try to resurrect and reboot a stalled "avoid sending risky escape
386
- sequences taken from sideband to the terminal" topic.
387
-
388
- Comments?
389
- source: <pull.1853.v4.git.1770113882.gitgitgadget@gmail.com>
390
- source: <20260302181149.3502811-1-gitster@pobox.com>
391
-
392
-
298
* mm/diff-no-index-find-object (2026-02-28) 1 commit
299
(merged to 'next' on 2026-03-03 at fcff548ddb)
300
+ diff: fix crash with --find-object outside repository
@@ -423,17 +328,15 @@ Release tarballs are available at:
328
source: <pull.2180.v2.git.git.1772300277959.gitgitgadget@gmail.com>
329
330
426
-* sk/oidmap-clear-with-custom-free-func (2026-03-02) 5 commits
427
- - sequencer: use oidmap_clear_with_free() for string_entry cleanup
428
- - odb: use oidmap_clear_with_free() to release replace_map entries
429
- - list-objects-filter: use oidmap_clear_with_free() for cleanup
430
- - builtin/rev-list: migrate missing_objects cleanup to oidmap_clear_with_free()
431
- - oidmap: make entry cleanup explicit in oidmap_clear
331
+* sk/oidmap-clear-with-custom-free-func (2026-03-05) 2 commits
332
+ (merged to 'next' on 2026-03-06 at e335861c57)
333
+ + builtin/rev-list: migrate missing_objects cleanup to oidmap_clear_with_free()
334
+ + oidmap: make entry cleanup explicit in oidmap_clear
335
336
A bit of OIDmap API enhancement and cleanup.
337
435
- Comments?
436
- source: <20260302200018.75731-1-kuforiji98@gmail.com>
338
+ Will merge to 'master'.
339
+ source: <20260305100526.102130-1-kuforiji98@gmail.com>
340
341
342
* ss/test-that-that-typofix (2026-03-02) 1 commit
@@ -513,64 +416,50 @@ Release tarballs are available at:
416
"git repo structure" command learns to report maximum values on
417
various aspects of objects it inspects.
418
516
- Will merge to 'next'?
419
+ Will merge to 'next'.
420
source: <20260302214526.2034279-1-jltobler@gmail.com>
421
422
520
-* ps/fsck-stream-from-the-right-object-instance (2026-02-23) 4 commits
521
- (merged to 'next' on 2026-02-27 at b378558c1a)
522
- + pack-check: fix verification of large objects
523
- + packfile: expose function to read object stream for an offset
524
- + object-file: adapt `stream_object_signature()` to take a stream
525
- + t/helper: improve "genrandom" test helper
526
-
527
- "fsck" iterates over packfiles and its access to pack data caused
528
- the list to be permuted, which caused it to loop forever; the code
529
- to access pack data by "fsck" has been updated to avoid this.
530
-
531
- Will merge to 'master'.
532
- source: <20260223-pks-fsck-fix-v2-0-99a0714ea3bd@pks.im>
533
-
534
-
535
-* ps/odb-sources (2026-02-23) 19 commits
536
- - odb/source: make `begin_transaction()` function pluggable
537
- - odb/source: make `write_alternate()` function pluggable
538
- - odb/source: make `read_alternates()` function pluggable
539
- - odb/source: make `write_object_stream()` function pluggable
540
- - odb/source: make `write_object()` function pluggable
541
- - odb/source: make `freshen_object()` function pluggable
542
- - odb/source: make `for_each_object()` function pluggable
543
- - odb/source: make `read_object_stream()` function pluggable
544
- - odb/source: make `read_object_info()` function pluggable
545
- - odb/source: make `close()` function pluggable
546
- - odb/source: make `reprepare()` function pluggable
547
- - odb/source: make `free()` function pluggable
548
- - odb/source: introduce source type for robustness
549
- - odb: move reparenting logic into respective subsystems
550
- - odb: embed base source in the "files" backend
551
- - odb: introduce "files" source
552
- - odb: split `struct odb_source` into separate header
553
- - Merge branch 'ps/object-info-bits-cleanup' into ps/odb-sources
554
- - Merge branch 'ps/odb-for-each-object' into ps/odb-sources
423
+* ps/odb-sources (2026-03-05) 19 commits
424
+ (merged to 'next' on 2026-03-06 at 69fd3b792a)
425
+ + odb/source: make `begin_transaction()` function pluggable
426
+ + odb/source: make `write_alternate()` function pluggable
427
+ + odb/source: make `read_alternates()` function pluggable
428
+ + odb/source: make `write_object_stream()` function pluggable
429
+ + odb/source: make `write_object()` function pluggable
430
+ + odb/source: make `freshen_object()` function pluggable
431
+ + odb/source: make `for_each_object()` function pluggable
432
+ + odb/source: make `read_object_stream()` function pluggable
433
+ + odb/source: make `read_object_info()` function pluggable
434
+ + odb/source: make `close()` function pluggable
435
+ + odb/source: make `reprepare()` function pluggable
436
+ + odb/source: make `free()` function pluggable
437
+ + odb/source: introduce source type for robustness
438
+ + odb: move reparenting logic into respective subsystems
439
+ + odb: embed base source in the "files" backend
440
+ + odb: introduce "files" source
441
+ + odb: split `struct odb_source` into separate header
442
+ + Merge branch 'ps/object-info-bits-cleanup' into ps/odb-sources
443
+ + Merge branch 'ps/odb-for-each-object' into ps/odb-sources
444
445
The object source API is getting restructured to allow plugging new
446
backends.
447
559
- Being reviewed.
560
- cf. <aaidbdpkpH7tfn9x@denethor>
561
- source: <20260223-b4-pks-odb-source-pluggable-v1-0-253bac1db598@pks.im>
448
+ Will merge to 'master'.
449
+ source: <20260305-b4-pks-odb-source-pluggable-v2-0-3290bfd1f444@pks.im>
450
451
452
* ds/for-each-repo-w-worktree (2026-03-03) 4 commits
565
- - for-each-repo: simplify passing of parameters
566
- - for-each-repo: work correctly in a worktree
567
- - run-command: extract sanitize_repo_env helper
568
- - for-each-repo: test outside of repo context
453
+ (merged to 'next' on 2026-03-06 at 3886f0d054)
454
+ + for-each-repo: simplify passing of parameters
455
+ + for-each-repo: work correctly in a worktree
456
+ + run-command: extract sanitize_repo_env helper
457
+ + for-each-repo: test outside of repo context
458
459
"git for-each-repo" started from a secondary worktree did not work
460
as expected, which has been corrected.
461
573
- Will merge to 'next'?
462
+ Will merge to 'master'.
463
source: <pull.2056.v4.git.1772559114.gitgitgadget@gmail.com>
464
465
@@ -590,21 +479,19 @@ Release tarballs are available at:
479
source: <20260303151238.1000191-1-jonatan@jontes.page>
480
481
593
-* lc/rebase-trailer (2026-02-23) 5 commits
482
+* lc/rebase-trailer (2026-03-06) 6 commits
483
- rebase: support --trailer
484
- commit, tag: parse --trailer with OPT_STRVEC
485
- trailer: append trailers without fork/exec
597
- - trailer: move process_trailers to trailer.h
486
+ - trailer: libify a couple of functions
487
+ - interpret-trailers: refactor create_in_place_tempfile()
488
- interpret-trailers: factor trailer rewriting
489
490
"git rebase" learns "--trailer" command to drive the
491
interpret-trailers machinery.
492
603
- Expecting a (hopefully small and final) reroll?
604
- cf. <e555e29f-57e3-4192-98f3-380181c81fd2@gmail.com>
605
- cf. <824809c3-72ac-43fb-8a93-4f48e0727e6a@gmail.com>
606
- cf. <dbaf6ea5-8a08-42c0-8184-16dcf40207dd@gmail.com>
607
- source: <20260224070552.148591-1-me@linux.beauty>
493
+ Comments?
494
+ source: <cover.1772808594.git.phillip.wood@dunelm.org.uk>
495
496
497
* mf/format-patch-cover-letter-format (2026-02-27) 5 commits
@@ -619,18 +506,19 @@ Release tarballs are available at:
506
a new --cover-letter-format option and format.commitListFormat
507
configuration variable.
508
622
- Will merge to 'next'?
509
+ Will merge to 'next'.
510
source: <cover.1772232373.git.mroik@delayed.space>
511
512
513
* sp/send-email-validate-charset (2026-02-28) 1 commit
627
- - send-email: validate charset name in 8bit encoding prompt
514
+ (merged to 'next' on 2026-03-06 at a537e3e6e9)
515
+ + send-email: validate charset name in 8bit encoding prompt
516
517
"git send-email" has learned to be a bit more careful when it
518
accepts charset to use from the end-user, to avoid 'y' (mistaken
519
'yes' when expecting a charset like 'UTF-8') and other nonsense.
520
633
- Will merge to 'next'?
521
+ Will merge to 'master'.
522
source: <20260228112210.270273-1-shreyanshpaliwalcmsmn@gmail.com>
523
524
@@ -654,16 +542,6 @@ Release tarballs are available at:
542
source: <pull.2147.v8.git.git.1772648125.gitgitgadget@gmail.com>
543
544
657
-* pt/t7527-flake-workaround (2025-12-31) 1 commit
658
- (merged to 'next' on 2026-02-27 at d6ebc97cb1)
659
- + t7527: fix flaky fsmonitor event tests with retry logic
660
-
661
- Test fixup.
662
-
663
- Will merge to 'master'.
664
- source: <pull.2150.v2.git.git.1767226763360.gitgitgadget@gmail.com>
665
-
666
-
545
* ac/help-sort-correctly (2026-02-28) 1 commit
546
- help: cleanup the contruction of keys_uniq
547
@@ -704,11 +582,12 @@ Release tarballs are available at:
582
583
584
* dt/send-email-client-cert (2026-03-01) 1 commit
707
- - send-email: add client certificate options
585
+ (merged to 'next' on 2026-03-06 at 2a47df2166)
586
+ + send-email: add client certificate options
587
588
"git send-email" learns to support use of client-side certificates.
589
711
- Will merge to 'next'?
590
+ Will merge to 'master'.
591
source: <20260302032048.260209-2-dxdt@dev.snart.me>
592
593
@@ -763,7 +642,7 @@ Release tarballs are available at:
642
Reduce dependence on the global the_hash_algo and the_repository
643
variables of wt-status code path.
644
766
- Will merge to 'next'?
645
+ Will merge to 'next'.
646
source: <20260218175654.66004-1-shreyanshpaliwalcmsmn@gmail.com>
647
648
@@ -903,21 +782,6 @@ Release tarballs are available at:
782
source: <pull.2156.git.git.1767379944.gitgitgadget@gmail.com>
783
784
906
-* ob/core-attributesfile-in-repository (2026-02-16) 3 commits
907
- (merged to 'next' on 2026-02-27 at 2b2e3a1fa9)
908
- + environment: move "branch.autoSetupMerge" into `struct repo_config_values`
909
- + environment: stop using core.sparseCheckout globally
910
- + environment: stop storing `core.attributesFile` globally
911
-
912
- The core.attributesfile is intended to be set per repository, but
913
- were kept track of by a single global variable in-core, which has
914
- been corrected by moving it to per-repository data structure.
915
-
916
- Will merge to 'master'.
917
- cf. <CAP8UFD2Rz3NMrTayi9yjRk4-51tStaLWKeBVB9RaJMWmiBLqrQ@mail.gmail.com>
918
- source: <cover.1771258573.git.belkid98@gmail.com>
919
-
920
-
785
* tb/incremental-midx-part-3.2 (2026-02-24) 17 commits
786
- midx: enable reachability bitmaps during MIDX compaction
787
- midx: implement MIDX compaction
@@ -970,7 +834,8 @@ Release tarballs are available at:
834
835
836
* hn/status-compare-with-push (2026-03-04) 4 commits
973
- - status: clarify how status.compareBranches deduplicates
837
+ (merged to 'next' on 2026-03-06 at 7c5ad405d7)
838
+ + status: clarify how status.compareBranches deduplicates
839
(merged to 'next' on 2026-02-26 at 1c11b8819a)
840
+ status: add status.compareBranches config for multiple branch comparisons
841
+ refactor format_branch_comparison in preparation
@@ -980,55 +845,24 @@ Release tarballs are available at:
845
and various other branches listed on status.compareBranches
846
configuration.
847
983
- Will merge to 'next' and then to 'master'?
848
+ Will merge to 'master'.
849
source: <pull.2138.v30.git.git.1772102022.gitgitgadget@gmail.com>
850
source: <pull.2138.v31.git.git.1772627131.gitgitgadget@gmail.com>
851
852
--------------------------------------------------
853
[Discarded]
854
990
-* tt/receive-pack-oo-namespace-symref-fix (2025-12-27) 1 commit
991
- . receive-pack: fix crash on out-of-namespace symref
992
-
993
- "git receive-pack", when namespace is involved, segfaulted when a
994
- symbolic ref cross the namespace boundary.
995
-
996
- May not be a good idea after all. A controlled death would be OK, though.
997
- cf. <xmqqbjjgiz3a.fsf@gitster.g>
998
- source: <pull.2144.git.git.1766850014289.gitgitgadget@gmail.com>
999
-
1000
-
1001
-* kh/alias-i18n-docfix (2026-02-23) 1 commit
1002
- . doc: config: fix list continuation in alias section
1003
-
1004
- Doc mark-up fix.
1005
-
1006
- Superseded by jh/alias-i18n-fixes.
1007
- source: <followup-alias-i18n.3e0@msgid.xyz>
1008
-
1009
-
1010
-* bc/do-not-reorder-packs-during-fsck (2026-02-22) 1 commit
1011
- . fsck: do not loop infinitely when processing packs
1012
-
1013
- Access to packfiles during fsck would reorder the mru list of
1014
- packs, which causes the fsck to loop forever going over the list.
1015
-
1016
- Supersided by ps/fsck-stream-from-the-right-object-instance.
1017
- source: <20260222183710.2963424-1-sandals@crustytoothpaste.net>
1018
-
1019
-
855
* js/neuter-sideband (2026-02-03) 6 commits
856
. sideband: delay sanitizing by default to Git v3.0
1022
- - sideband: offer to configure sanitizing on a per-URL basis
1023
- - sideband: add options to allow more control sequences to be passed through
1024
- - sideband: do allow ANSI color sequences by default
1025
- - sideband: introduce an "escape hatch" to allow control characters
1026
- - sideband: mask control characters
857
+ . sideband: offer to configure sanitizing on a per-URL basis
858
+ . sideband: add options to allow more control sequences to be passed through
859
+ . sideband: do allow ANSI color sequences by default
860
+ . sideband: introduce an "escape hatch" to allow control characters
861
+ . sideband: mask control characters
862
863
Invalidate control characters in sideband messages, to avoid
864
terminal state getting messed up.
865
1031
- Was expecting review responses for too long.
866
Superseded by 'jc/neuter-sideband-fixup', which reuses most of the patches.
867
cf. <xmqqv7gcnwd4.fsf@gitster.g>
868
source: <pull.1853.v4.git.1770113882.gitgitgadget@gmail.com>