What's cooking (2026/04 #05)
Junio C Hamano committed
Apr 17, 2026 at 15:39 UTC
32eb82cf71b61ce062c765d44bb7ea173c69494d
1 file changed
+210
-260
whats-cooking.txt
+210
-260
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
-Subject: What's cooking in git.git (Apr 2026, #04)
3
-X-master-at: 9e8f4e9c04e3efa494e78b710e0c5f6cc77a0a5e
4
-X-next-at: 96b250ada0479af53128b98c3cfefe452196b568
2
+Subject: What's cooking in git.git (Apr 2026, #05)
3
+X-master-at: e8955061076952cc5eab0300424fc48b601fe12d
4
+X-next-at: c7ae2d5bb8f97b06f1b31df2f2456646924c8be7
5
Bcc: lwn@lwn.net, gitster@pobox.com
6
7
-What's cooking in git.git (Apr 2026, #04)
7
+What's cooking in git.git (Apr 2026, #05)
8
-----------------------------------------
9
10
Here are the topics that have been cooking in my tree. Commits
@@ -45,9 +45,130 @@ Release tarballs are available at:
45
46
https://www.kernel.org/pub/software/scm/git/
47
48
+--------------------------------------------------
49
+[Graduated to 'master']
50
+
51
+* jk/midx-write-v1-by-default (2026-04-16) 1 commit
52
+ (merged to 'next' on 2026-04-16 at 1b296b0f55)
53
+ + MIDX: revert the default version to v1
54
+
55
+ As writing version 2 MIDX files by default breaks older versions of
56
+ Git and its reimplementations, use V2 only when necessary.
57
+ source: <20260416200659.GB1887222@coredump.intra.peff.net>
58
+
59
--------------------------------------------------
60
[New Topics]
61
62
+* sb/userdiff-lisp-family (2026-04-14) 2 commits
63
+ - userdiff: extend Scheme support to cover other Lisp dialects
64
+ - userdiff: tighten word-diff test case of the scheme driver
65
+
66
+ The userdiff driver for the Scheme language has been extended to
67
+ cover other Lisp dialects.
68
+
69
+ Will merge to 'next'.
70
+ source: <pull.2000.v4.git.1776220063.gitgitgadget@gmail.com>
71
+
72
+
73
+* ss/t7004-unhide-git-failures (2026-04-14) 3 commits
74
+ - t7004: avoid subshells to capture git exit codes
75
+ - t7004: dynamically grab expected state in tests
76
+ - t7004: drop hardcoded tag count in invalid name test
77
+
78
+ Test clean-up.
79
+
80
+ Will merge to 'next'?
81
+ source: <20260414141828.27576-1-r.siddharth.shrimali@gmail.com>
82
+
83
+
84
+* tb/pseudo-merge-bugfixes (2026-04-13) 8 commits
85
+ - pack-bitmap: prevent pattern leak on pseudo-merge re-assignment
86
+ - pack-bitmap: reject pseudo-merge "sampleRate" of 0
87
+ - pack-bitmap: parse commits in `find_pseudo_merge_group_for_ref()`
88
+ - pack-bitmap: fix pseudo-merge lookup for shared commits
89
+ - pack-bitmap: fix inverted binary search in `pseudo_merge_at()`
90
+ - pack-bitmap-write: sort pseudo-merge commit lookup table in pack order
91
+ - t5333: demonstrate various pseudo-merge bugs
92
+ - t/helper: add 'test-tool bitmap write' subcommand
93
+
94
+ Expecting a reroll.
95
+ cf. <ad60PJ/pM/wG3krQ@nand.local>
96
+ source: <cover.1776124588.git.me@ttaylorr.com>
97
+
98
+
99
+* ds/fetch-negotiation-options (2026-04-15) 7 commits
100
+ - send-pack: pass negotiation config in push
101
+ - remote: add negotiationRequire config as default for --negotiation-require
102
+ - fetch: add --negotiation-require option for negotiation
103
+ - remote: add remote.*.negotiationRestrict config
104
+ - transport: rename negotiation_tips
105
+ - fetch: add --negotiation-restrict option
106
+ - t5516: fix test order flakiness
107
+
108
+ The negotiation tip options in "git fetch" have been reworked to
109
+ allow requiring certain refs to be sent as "have" lines, and to
110
+ restrict negotiation to a specific set of refs.
111
+
112
+ Needs review.
113
+ source: <pull.2085.v2.git.1776266066.gitgitgadget@gmail.com>
114
+
115
+
116
+* en/backfill-fixes-and-edges (2026-04-15) 3 commits
117
+ - backfill: default to grabbing edge blobs too
118
+ - backfill: document acceptance of revision-range in more standard manner
119
+ - backfill: reject rev-list arguments that do not make sense
120
+
121
+ The 'git backfill' command now rejects revision-limiting options that
122
+ are incompatible with its operation, uses standard documentation for
123
+ revision ranges, and includes blobs from boundary commits by default
124
+ to improve performance of subsequent operations.
125
+
126
+ Needs review.
127
+ source: <pull.2088.git.1776297482.gitgitgadget@gmail.com>
128
+
129
+
130
+* mc/http-emptyauth-negotiate-fix (2026-04-16) 3 commits
131
+ - t5563: add tests for http.emptyAuth with Negotiate
132
+ - http: attempt Negotiate auth in http.emptyAuth=auto mode
133
+ - http: extract http_reauth_prepare() from retry paths
134
+
135
+ The 'http.emptyAuth=auto' configuration now correctly attempts
136
+ Negotiate authentication before falling back to manual credentials.
137
+ This allows seamless Kerberos ticket-based authentication without
138
+ requiring users to explicitly set 'http.emptyAuth=true'.
139
+
140
+ Will merge to 'next'.
141
+ source: <pull.2087.git.1776331259.gitgitgadget@gmail.com>
142
+
143
+
144
+* en/batch-prefetch (2026-04-16) 3 commits
145
+ - grep: prefetch necessary blobs
146
+ - builtin/log: prefetch necessary blobs for `git cherry`
147
+ - patch-ids.h: add missing trailing parenthesis in documentation comment
148
+
149
+ In a lazy clone, "git cherry" and "git grep" often fetch necessary
150
+ blob objects one by one from promisor remotes. It has been corrected
151
+ to collect necessary object names and fetch them in bulk to gain
152
+ reasonable performance.
153
+
154
+ Needs review.
155
+ source: <pull.2089.git.1776379694.gitgitgadget@gmail.com>
156
+
157
+
158
+* en/diffstat-utf8-truncation-fix (2026-04-17) 1 commit
159
+ - diff: fix out-of-bounds reads and NULL deref in diffstat UTF-8 truncation
160
+
161
+ The computation to shorten the filenames shown in diffstat measured
162
+ width of individual UTF-8 characters to add up, but forgot to take
163
+ into account error cases (e.g., an invalid UTF-8 sequence, or a
164
+ control character).
165
+
166
+ Needs review.
167
+ source: <pull.2093.git.1776443163041.gitgitgadget@gmail.com>
168
+
169
+--------------------------------------------------
170
+[Cooking]
171
+
172
* sp/refs-reduce-the-repository (2026-04-04) 3 commits
173
(merged to 'next' on 2026-04-09 at bb1d626802)
174
+ refs/reftable-backend: drop uses of the_repository
@@ -86,7 +207,7 @@ Release tarballs are available at:
207
tentative objects (like the virtual blob object that represents the
208
working tree file used by "git blame").
209
89
- Comments?
210
+ Will merge to 'next'?
211
source: <20260410-b4-pks-odb-source-inmemory-v3-0-22fd0fad58fe@pks.im>
212
213
@@ -94,212 +215,32 @@ Release tarballs are available at:
215
- CodingGuidelines: st_mtimespec vs st_mtim vs st_mtime
216
217
Doc update.
218
+
219
+ Will merge to 'next'.
220
source: <xmqqzf3aofdj.fsf_-_@gitster.g>
221
222
100
-* ps/test-set-e-clean (2026-04-13) 12 commits
101
- . t: detect errors outside of test cases
102
- . t9902: fix use of `read` with `set -e`
103
- . t6002: fix use of `expr` with `set -e`
104
- . t1301: don't fail in case setfacl(1) doesn't exist or fails
105
- . t0008: silence error in subshell when using `grep -v`
106
- . t: prepare `test_when_finished ()`/`test_atexit()` for `set -e`
107
- . t: prepare execution of potentially failing commands for `set -e`
108
- . t: prepare conditional test execution for `set -e`
109
- . t: prepare `git config --unset` calls for `set -e`
110
- . t: prepare `stop_git_daemon ()` for `set -e`
111
- . t: prepare `test_must_fail ()` for `set -e`
112
- . t: prepare `test_match_signal ()` calls for `set -e`
223
+* ps/test-set-e-clean (2026-04-17) 12 commits
224
+ - t: detect errors outside of test cases
225
+ - t9902: fix use of `read` with `set -e`
226
+ - t6002: fix use of `expr` with `set -e`
227
+ - t1301: don't fail in case setfacl(1) doesn't exist or fails
228
+ - t0008: silence error in subshell when using `grep -v`
229
+ - t: prepare `test_when_finished ()`/`test_atexit()` for `set -e`
230
+ - t: prepare execution of potentially failing commands for `set -e`
231
+ - t: prepare conditional test execution for `set -e`
232
+ - t: prepare `git config --unset` calls for `set -e`
233
+ - t: prepare `stop_git_daemon ()` for `set -e`
234
+ - t: prepare `test_must_fail ()` for `set -e`
235
+ - t: prepare `test_match_signal ()` calls for `set -e`
236
237
The test suite harness and many individual test scripts have been
238
updated to work correctly when 'set -e' is in effect, which helps
239
detect misspelled test commands.
240
118
- Comments?
119
- source: <20260413-b4-pks-tests-with-set-e-v1-0-5b83763a0e84@pks.im>
120
-
121
---------------------------------------------------
122
-[Graduated to 'master']
123
-
124
-* bc/ref-storage-default-doc-update (2026-04-02) 1 commit
125
- (merged to 'next' on 2026-04-09 at 6b423ab8ba)
126
- + docs: correct information about reftable
127
-
128
- Doc update.
129
- source: <20260402224241.4104726-1-sandals@crustytoothpaste.net>
130
-
131
-
132
-* ds/rev-list-maximal-only-optim (2026-04-06) 3 commits
133
- (merged to 'next' on 2026-04-07 at 7a70817efa)
134
- + rev-list: use reduce_heads() for --maximal-only
135
- + p6011: add perf test for rev-list --maximal-only
136
- + t6600: test --maximal-only and --independent
137
-
138
- "git rev-list --maximal-only" has been optimized by borrowing the
139
- logic used by "git show-branch --independent", which computes the
140
- same kind of information much more efficiently.
141
- source: <pull.2082.git.1775482048.gitgitgadget@gmail.com>
142
-
143
-
144
-* jc/ci-github-actions-use-checkout-v5 (2026-04-13) 1 commit
145
- (merged to 'next' on 2026-04-13 at 9c883467ad)
146
- + CI: bump actions/checkout from 4 to 5 for rust-analysis job
147
-
148
- CI dependency updates.
149
- source: <xmqqfr4yhg5v.fsf@gitster.g>
150
-
151
-
152
-* jc/no-writev-does-not-work (2026-04-09) 5 commits
153
- (merged to 'next' on 2026-04-10 at 779546e6a3)
154
- + writev: retract the topic until we have a better emulation
155
- + Revert "compat/posix: introduce writev(3p) wrapper"
156
- + Revert "wrapper: introduce writev(3p) wrappers"
157
- + Revert "sideband: use writev(3p) to send pktlines"
158
- + Revert "cmake: use writev(3p) wrapper as needed"
159
-
160
- We used writev() in limited code paths and supplied emulation for
161
- platforms without working writev(), but the emulation was too
162
- faithful to the spec to make the result useless to send even 64kB;
163
- revert the topic and plan to restart the effort later.
164
- source: <xmqqmrzbreav.fsf_-_@gitster.g>
165
-
166
-
167
-* jd/cache-tree-trace-wo-the-repository (2026-03-31) 1 commit
168
- (merged to 'next' on 2026-04-02 at e36937bb5e)
169
- + cache-tree: use index state repository in trace2 calls
170
-
171
- Code cleanup.
172
- source: <pull.2259.git.git.1774951373588.gitgitgadget@gmail.com>
173
-
174
-
175
-* jk/c23-const-preserving-fixes-more (2026-04-03) 13 commits
176
- (merged to 'next' on 2026-04-06 at 9eebe11338)
177
- + git-compat-util: fix CONST_OUTPARAM typo and indentation
178
- (merged to 'next' on 2026-04-02 at b060d988f4)
179
- + refs/files-backend: drop const to fix strchr() warning
180
- + http: drop const to fix strstr() warning
181
- + range-diff: drop const to fix strstr() warnings
182
- + pkt-line: make packet_reader.line non-const
183
- + skip_prefix(): check const match between in and out params
184
- + pseudo-merge: fix disk reads from find_pseudo_merge()
185
- + find_last_dir_sep(): convert inline function to macro
186
- + run-command: explicitly cast away constness when assigning to void
187
- + pager: explicitly cast away strchr() constness
188
- + transport-helper: drop const to fix strchr() warnings
189
- + http: add const to fix strchr() warnings
190
- + convert: add const to fix strchr() warnings
191
-
192
- Further work to adjust the codebase for C23 that changes functions
193
- like strchr() that discarded constness when they return a pointer into
194
- a const string to preserve constness.
195
- source: <20260402041433.GA3501120@coredump.intra.peff.net>
196
- source: <20260404054211.GA1346444@coredump.intra.peff.net>
197
-
198
-
199
-* jk/doc-markup-sub-list-indentation (2026-04-11) 1 commit
200
- (merged to 'next' on 2026-04-13 at 738824c9ca)
201
- + gitglossary: fix indentation of sub-lists
202
-
203
- Doc mark-up update for entries in the glossary with bulleted lists.
204
- source: <20260411215518.GA1651019@coredump.intra.peff.net>
205
-
206
-
207
-* jt/index-fd-wo-repo-regression-fix-maint (2026-04-07) 1 commit
208
- + object-file: avoid ODB transaction when not writing objects
209
- (this branch is used by jt/index-fd-wo-repo-regression-fix.)
210
-
211
- During Git 2.52 timeframe, we broke streaming computation of object
212
- hash outside a repository, which has been corrected.
213
-
214
-
215
-* kh/doc-am-xref (2026-04-11) 2 commits
216
- (merged to 'next' on 2026-04-13 at 400039b45c)
217
- + doc: am: correct to full --no-message-id
218
- + doc: am: revert Message-ID trailer claim
219
-
220
- Doc update.
221
- source: <msg-id_is_not_trailer.570@msgid.xyz>
222
- source: <typo_--no-message-id.572@msgid.xyz>
223
-
224
-
225
-* kh/doc-config-list (2026-04-05) 2 commits
226
- (merged to 'next' on 2026-04-07 at fb95f091cc)
227
- + doc: gitcvs-migration: rephrase “man page”
228
- + doc: replace git config --list/-l with `list`
229
-
230
- "git config list" is the official way to spell "git config -l" and
231
- "git config --list". Use it to update the documentation.
232
- source: <V2_CV_doc_deprecation_config_--list.569@msgid.xyz>
233
-
234
-
235
-* ng/add-files-to-cache-wo-rename (2026-04-01) 1 commit
236
- (merged to 'next' on 2026-04-02 at 8723880fc0)
237
- + read-cache: disable renames in add_files_to_cache
238
-
239
- add_files_to_cache() used diff_files() to detect only the paths that
240
- are different between the index and the working tree and add them,
241
- which does not need rename detection, which interfered with unnecessary
242
- conflicts.
243
- source: <20260401190033.11325-1-blindmansion@gmail.com>
244
-
245
-
246
-* ps/archive-prefix-doc (2026-04-08) 1 commit
247
- (merged to 'next' on 2026-04-09 at ed6aa0e448)
248
- + archive: document --prefix handling of absolute and parent paths
249
-
250
- Doc update.
251
- source: <20260408160005.193621-2-pushkarkumarsingh1970@gmail.com>
252
-
253
-
254
-* ps/odb-cleanup (2026-03-31) 7 commits
255
- (merged to 'next' on 2026-04-02 at 1dd8236dfb)
256
- + odb: drop unneeded headers and forward decls
257
- + odb: rename `odb_has_object()` flags
258
- + odb: use enum for `odb_write_object` flags
259
- + odb: rename `odb_write_object()` flags
260
- + treewide: use enum for `odb_for_each_object()` flags
261
- + CodingGuidelines: document our style for flags
262
- + Merge branch 'ps/odb-generic-object-name-handling' into ps/odb-cleanup
263
- (this branch is used by ps/odb-in-memory)
264
-
265
- Various code clean-up around odb subsystem.
266
- source: <20260401-pks-odb-cleanups-v1-0-89adba9ada68@pks.im>
267
-
268
-
269
-* ps/reftable-portability (2026-04-02) 5 commits
270
- (merged to 'next' on 2026-04-02 at 04adce37b9)
271
- + reftable/system: add abstraction to mmap files
272
- + reftable/system: add abstraction to retrieve time in milliseconds
273
- + reftable/fsck: use REFTABLE_UNUSED instead of UNUSED
274
- + reftable/stack: provide fsync(3p) via system header
275
- + reftable: introduce "reftable-system.h" header
276
-
277
- Update reftable library part with what is used in libgit2 to improve
278
- portability to different target codebases and platforms.
279
- source: <20260402-pks-reftable-portability-fixes-v2-0-bc110cee0ae0@pks.im>
280
-
281
-
282
-* ss/t7004-unhide-git-failures (2026-03-31) 1 commit
283
- (merged to 'next' on 2026-04-02 at fec00b153f)
284
- + t7004: replace wc -l with modern test helpers
285
-
286
- Test clean-up.
287
- source: <20260401062029.54757-1-r.siddharth.shrimali@gmail.com>
288
-
289
-
290
-* tc/replay-ref (2026-04-01) 4 commits
291
- (merged to 'next' on 2026-04-03 at 196ecde80b)
292
- + replay: allow to specify a ref with option --ref
293
- + replay: use stuck form in documentation and help message
294
- + builtin/replay: mark options as not negatable
295
- + Merge branch 'sa/replay-revert' into tc/replay-ref
296
-
297
- The experimental `git replay` command learned the `--ref=<ref>` option
298
- to allow specifying which ref to update, overriding the default behavior.
299
- source: <20260401-toon-replay-arbitrary-ref-v3-0-a0b4fabb34b3@iotcl.com>
241
+ Will merge to 'next'?
242
+ source: <20260417-b4-pks-tests-with-set-e-v4-0-44d43efdafb1@pks.im>
243
301
---------------------------------------------------
302
-[Cooking]
244
245
* js/adjust-tests-to-explicitly-access-bare-repo (2026-04-02) 17 commits
246
- git p4 clone --bare: need to be explicit about the gitdir
@@ -324,25 +265,11 @@ Release tarballs are available at:
265
allowed; rewrite some of them to avoid the assumption, rewrite
266
others to explicitly set safe.bareRepository to allow them.
267
327
- Comments?
268
+ Waiting for review response.
269
+ cf. <xmqq1pgsdrdw.fsf@gitster.g>
270
source: <pull.2076.git.1775140403.gitgitgadget@gmail.com>
271
272
331
-* pw/xdiff-shrink-memory-consumption (2026-04-02) 5 commits
332
- - xdiff: reduce the size of array
333
- - xprepare: simplify error handling
334
- - xdiff: cleanup xdl_clean_mmatch()
335
- - xdiff: reduce size of action arrays
336
- - Merge branch 'en/xdiff-cleanup-3' into pw/xdiff-shrink-memory-consumption
337
- (this branch uses en/xdiff-cleanup-3.)
338
-
339
- Shrink wasted memory in Myers diff that does not account for common
340
- prefix and suffix removal.
341
-
342
- On hold, waiting for the base topic.
343
- source: <cover.1775141855.git.phillip.wood@dunelm.org.uk>
344
-
345
-
273
* cl/conditional-config-on-worktree-path (2026-04-03) 2 commits
274
- config: add "worktree" and "worktree/i" includeIf conditions
275
- config: refactor include_by_gitdir() into include_by_path()
@@ -376,7 +303,7 @@ Release tarballs are available at:
303
commit, which has been corrected by making the spot below a root
304
unavailable.
305
379
- Comments?
306
+ Will merge to 'next'?
307
source: <20260404092425.550346-2-pabloosabaterr@gmail.com>
308
309
@@ -386,19 +313,21 @@ Release tarballs are available at:
313
The code path to update the configuration file has been taught to
314
use a short timeout to retry.
315
389
- Comments?
316
+ Waiting for a review response.
317
+ cf. <adYvSZeN0ZVqwRhi@pks.im>
318
source: <20260403100135.3901610-1-joerg@thalheim.io>
319
320
393
-* sp/refs-with-less-the-repository (2026-04-03) 3 commits
321
+* sp/refs-with-less-the-repository (2026-04-04) 3 commits
322
- refs/reftable-backend: drop uses of the_repository
323
- refs: remove the_hash_algo global state
324
- refs: add struct repository parameter in get_files_ref_lock_timeout_ms()
325
326
Reduce the reference to the_repository in the refs subsystem.
327
400
- Comments?
401
- source: <20260403120938.1142533-1-shreyanshpaliwalcmsmn@gmail.com>
328
+ Will merge to 'next'.
329
+ cf. <adYV6NK93Kzg1EYG@pks.im>
330
+ source: <20260404135914.61195-1-shreyanshpaliwalcmsmn@gmail.com>
331
332
333
* dl/cache-tree-fully-valid-fix (2026-04-06) 1 commit
@@ -440,13 +369,18 @@ Release tarballs are available at:
369
repack" has been taught to carry this information forward to
370
packfiles that are newly created.
371
443
- Waiting for a review response on use of parse_pack_index()
372
+ Expecting a (hopefully small and final) reroll.
373
+ cf. <adpVMfHowCBY75I1@lorenzo-VM>
374
source: <cover.1775861047.git.lorenzo.pegorari2002@gmail.com>
375
376
377
* th/promisor-quiet-per-repo (2026-04-06) 1 commit
378
- promisor-remote: fix promisor.quiet to use the correct repository
379
380
+ The "promisor.quiet" configuration variable was not used from
381
+ relevant submodules when commands like "grep --recurse-submodules"
382
+ triggered a lazy fetch, which has been corrected.
383
+
384
Comments?
385
source: <20260406183041.783800-1-vikingtc4@gmail.com>
386
@@ -468,15 +402,14 @@ Release tarballs are available at:
402
source: <20260402213220.2651523-1-jltobler@gmail.com>
403
404
471
-* sa/cat-file-batch-mailmap-switch (2026-03-31) 1 commit
405
+* sa/cat-file-batch-mailmap-switch (2026-04-15) 1 commit
406
- cat-file: add mailmap subcommand to --batch-command
407
408
"git cat-file --batch" learns an in-line command "mailmap"
409
that lets the user toggle use of mailmap.
410
477
- Expecting a (hopefully small and final) reroll?
478
- cf. <xmqqo6k3ztxr.fsf@gitster.g>
479
- source: <20260331121111.9614-2-siddharthasthana31@gmail.com>
411
+ Will merge to 'next'?
412
+ source: <20260416033250.4327-2-siddharthasthana31@gmail.com>
413
414
415
* tb/incremental-midx-part-3.3 (2026-03-29) 16 commits
@@ -596,15 +529,15 @@ Release tarballs are available at:
529
source: <20260407115243.358642-1-christian.couder@gmail.com>
530
531
599
-* jr/bisect-custom-terms-in-output (2026-03-20) 1 commit
532
+* jr/bisect-custom-terms-in-output (2026-04-17) 2 commits
533
+ - rev-parse: use selected alternate terms to look up refs
534
- bisect: use selected alternate terms in status output
535
536
"git bisect" now uses the selected terms (e.g., old/new) more
537
consistently in its output.
538
605
- Expecting a reroll?
606
- cf. <xmqqfr5tdbpc.fsf@gitster.g>
607
- source: <20260320-bisect-terms-v1-1-c30c9540542a@schlaraffenlan.de>
539
+ Needs review.
540
+ source: <20260417-bisect-terms-v3-0-d659fa547261@schlaraffenlan.de>
541
542
543
* ua/push-remote-group (2026-03-27) 3 commits
@@ -621,20 +554,20 @@ Release tarballs are available at:
554
source: <20260325190906.1153080-1-usmanakinyemi202@gmail.com>
555
556
624
-* hn/git-checkout-m-with-stash (2026-04-12) 4 commits
625
- (merged to 'next' on 2026-04-13 at b4e5a964fa)
626
- + checkout: -m (--merge) uses autostash when switching branches
627
- + sequencer: teach autostash apply to take optional conflict marker labels
628
- + sequencer: allow create_autostash to run silently
629
- + stash: add --label-ours, --label-theirs, --label-base for apply
557
+* hn/git-checkout-m-with-stash (2026-04-15) 5 commits
558
+ - checkout -m: autostash when switching branches
559
+ - checkout: rollback lock on early returns in merge_working_tree
560
+ - sequencer: teach autostash apply to take optional conflict marker labels
561
+ - sequencer: allow create_autostash to run silently
562
+ - stash: add --label-ours, --label-theirs, --label-base for apply
563
564
"git checkout -m another-branch" was invented to deal with local
565
changes to paths that are different between the current and the new
566
branch, but it gave only one chance to resolve conflicts. The command
567
was taught to create a stash to save the local changes.
568
636
- Will cook in 'next'.
637
- source: <pull.2234.v10.git.git.1775994705.gitgitgadget@gmail.com>
569
+ Will merge to 'next'?
570
+ source: <pull.2234.v14.git.git.1776270259.gitgitgadget@gmail.com>
571
572
573
* kh/name-rev-custom-format (2026-03-20) 2 commits
@@ -644,7 +577,8 @@ Release tarballs are available at:
577
"git name-rev" learned to use custom format instead of the object
578
name in an extended SHA-1 expression form.
579
647
- Comments?
580
+ Expecting a reroll.
581
+ cf. </1873f57e-76b4-48d0-8034-73f72f5fe93d@app.fastmail.com>
582
source: <V2_CV_name-rev_--format.51b@msgid.xyz>
583
584
@@ -732,30 +666,30 @@ Release tarballs are available at:
666
was not propagated properly to child "git fetch" processes, which
667
has been corrected.
668
735
- Comments?
669
+ Will discard.
670
+ cf. <xmqqik9s6qvd.fsf@gitster.g>
671
source: <pull.2224.v3.git.git.1773238778894.gitgitgadget@gmail.com>
672
673
739
-* pt/fsmonitor-linux (2026-04-08) 13 commits
740
- (merged to 'next' on 2026-04-13 at 37fa47889d)
741
- + fsmonitor: convert shown khash to strset in do_handle_client
742
- + fsmonitor: add tests for Linux
743
- + fsmonitor: add timeout to daemon stop command
744
- + fsmonitor: close inherited file descriptors and detach in daemon
745
- + run-command: add close_fd_above_stderr option
746
- + fsmonitor: implement filesystem change listener for Linux
747
- + fsmonitor: rename fsm-settings-darwin.c to fsm-settings-unix.c
748
- + fsmonitor: rename fsm-ipc-darwin.c to fsm-ipc-unix.c
749
- + fsmonitor: use pthread_cond_timedwait for cookie wait
750
- + compat/win32: add pthread_cond_timedwait
751
- + fsmonitor: fix hashmap memory leak in fsmonitor_run_daemon
752
- + fsmonitor: fix khash memory leak in do_handle_client
753
- + t9210, t9211: disable GIT_TEST_SPLIT_INDEX for scalar clone tests
674
+* pt/fsmonitor-linux (2026-04-15) 13 commits
675
+ - fsmonitor: convert shown khash to strset in do_handle_client
676
+ - fsmonitor: add tests for Linux
677
+ - fsmonitor: add timeout to daemon stop command
678
+ - fsmonitor: close inherited file descriptors and detach in daemon
679
+ - run-command: add close_fd_above_stderr option
680
+ - fsmonitor: implement filesystem change listener for Linux
681
+ - fsmonitor: rename fsm-settings-darwin.c to fsm-settings-unix.c
682
+ - fsmonitor: rename fsm-ipc-darwin.c to fsm-ipc-unix.c
683
+ - fsmonitor: use pthread_cond_timedwait for cookie wait
684
+ - compat/win32: add pthread_cond_timedwait
685
+ - fsmonitor: fix hashmap memory leak in fsmonitor_run_daemon
686
+ - fsmonitor: fix khash memory leak in do_handle_client
687
+ - t9210, t9211: disable GIT_TEST_SPLIT_INDEX for scalar clone tests
688
689
The fsmonitor daemon has been implemented for Linux.
690
757
- Will cook in 'next'.
758
- source: <pull.2147.v14.git.git.1775710775.gitgitgadget@gmail.com>
691
+ Will merge to 'next'?
692
+ source: <pull.2147.v15.git.git.1776259657.gitgitgadget@gmail.com>
693
694
695
* ar/parallel-hooks (2026-04-10) 13 commits
@@ -778,6 +712,21 @@ Release tarballs are available at:
712
source: <20260410090608.75283-1-adrian.ratiu@collabora.com>
713
714
715
+* pw/xdiff-shrink-memory-consumption (2026-04-02) 5 commits
716
+ - xdiff: reduce the size of array
717
+ - xprepare: simplify error handling
718
+ - xdiff: cleanup xdl_clean_mmatch()
719
+ - xdiff: reduce size of action arrays
720
+ - Merge branch 'en/xdiff-cleanup-3' into pw/xdiff-shrink-memory-consumption
721
+ (this branch uses en/xdiff-cleanup-3.)
722
+
723
+ Shrink wasted memory in Myers diff that does not account for common
724
+ prefix and suffix removal.
725
+
726
+ On hold, waiting for the base topic.
727
+ source: <cover.1775141855.git.phillip.wood@dunelm.org.uk>
728
+
729
+
730
* en/xdiff-cleanup-3 (2026-04-08) 6 commits
731
- xdiff/xdl_cleanup_records: put braces around the else clause
732
- xdiff/xdl_cleanup_records: make setting action easier to follow
@@ -789,5 +738,6 @@ Release tarballs are available at:
738
739
Preparation of the xdiff/ codebase to work with Rust.
740
792
- Will merge to 'next'?
741
+ Expecting a (hopefully small and final) reroll?
742
+ cf. <32c34d0d-9358-43e3-9d58-5999b3ffd6c2@gmail.com>
743
source: <pull.2156.v5.git.git.1775679988.gitgitgadget@gmail.com>