What's cooking (2026/05 #06)
Junio C Hamano committed
May 23, 2026 at 18:04 UTC
2401465e2f9e1105bfaabc352074e8ff9b81f43b
1 file changed
+386
-476
whats-cooking.txt
+386
-476
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
-Subject: What's cooking in git.git (May 2026, #05)
3
-X-master-at: 1c00d2d8392f603a6263f11f1a50fde96ae5475e
4
-X-next-at: 6e5bcc1fc9a18b45bdea6554297c28759c7da2fc
2
+Subject: What's cooking in git.git (May 2026, #06)
3
+X-master-at: 6a4418c36d6bad69a599044b3cf49dcbd049cb45
4
+X-next-at: c82f188059a6ca12355cd6ca567c0dcd507f510f
5
Bcc: lwn@lwn.net, gitster@pobox.com
6
7
-What's cooking in git.git (May 2026, #05)
7
+What's cooking in git.git (May 2026, #06)
8
-----------------------------------------
9
10
Here are the topics that have been cooking in my tree. Commits
@@ -46,279 +46,318 @@ Release tarballs are available at:
46
https://www.kernel.org/pub/software/scm/git/
47
48
--------------------------------------------------
49
-[New Topics]
49
+[Graduated to 'master']
50
51
-* jk/commit-graph-lazy-load-fallback (2026-05-18) 1 commit
52
- - commit: fall back to full read when maybe_tree is NULL
51
+* aw/validate-proxy-url-scheme (2026-05-05) 1 commit
52
+ (merged to 'next' on 2026-05-15 at da9c1b71d7)
53
+ + http: reject unsupported proxy URL schemes
54
54
- The logic to lazy-load trees from the commit-graph has been made
55
- more robust by falling back to reading the commit object when
56
- the commit-graph is no longer available.
55
+ Misspelt proxy URL (e.g., httt://...) did not trigger any warning
56
+ or failure, which has been corrected.
57
+ source: <20260505091941.1825-2-aminnimaj@gmail.com>
58
58
- Will merge to 'next'?
59
- source: <20260519050513.GA1635924@coredump.intra.peff.net>
59
60
+* jc/ci-enable-expensive (2026-05-10) 2 commits
61
+ (merged to 'next' on 2026-05-15 at d258bb5e55)
62
+ + ci: enable EXPENSIVE for contributor builds
63
+ + Merge branch 'js/objects-larger-than-4gb-on-windows' into jc/ci-enable-expensive
64
62
-* jk/connect-service-enum (2026-05-18) 1 commit
63
- - connect: use "service" enum for "name" argument
65
+ Enable expensive tests to catch topics that may cause breakages on
66
+ integration branches closer to their origin in the contributor PR
67
+ builds.
68
+ source: <xmqqjyta9630.fsf@gitster.g>
69
65
- The "name" argument in git_connect() and related functions has been
66
- converted to a "service" enum to improve type safety and clarify its
67
- purpose.
70
69
- Will merge to 'next'.
70
- source: <20260519052219.GA1703179@coredump.intra.peff.net>
71
+* jk/apply-leakfix (2026-05-15) 1 commit
72
+ (merged to 'next' on 2026-05-20 at 725a20bf93)
73
+ + apply: plug leak on "patch too large" error
74
75
+ Leakfix.
76
+ source: <20260516021622.GA744303@coredump.intra.peff.net>
77
73
-* jk/sq-dequote-cleanup (2026-05-18) 3 commits
74
- - quote: simplify internals of dequoting
75
- - quote: drop sq_dequote_to_argv()
76
- - quote.h: bump strvec forward declaration to the top
78
78
- Code simplification.
79
+* jk/commit-sign-overflow-fix (2026-05-15) 1 commit
80
+ (merged to 'next' on 2026-05-20 at e1a320d4e5)
81
+ + commit: handle large commit messages in utf8 verification
82
80
- Will merge to 'next'.
81
- source: <20260519011837.GA1615637@coredump.intra.peff.net>
83
+ Leakfix.
84
+ source: <20260516022310.GB744303@coredump.intra.peff.net>
85
86
84
-* aj/stash-patch-optimize-temporary-index (2026-05-19) 1 commit
85
- - stash: reuse cached index entries in --patch temporary index
87
+* kh/doc-log-decorate-list (2026-04-27) 2 commits
88
+ (merged to 'next' on 2026-05-15 at f740311a37)
89
+ + doc: log: use the same delimiter in description list
90
+ + doc: log: fix --decorate description list
91
87
- "git stash -p" has been optimized by reusing cached index
88
- entries in its temporary index, avoiding unnecessary lstat()
89
- calls on unchanged files.
90
- source: <pull.2306.git.git.1779194605735.gitgitgadget@gmail.com>
92
+ Doc update.
93
+ cf. <xmqqpl31np0l.fsf@gitster.g>
94
+ source: <CV_doc_log_--decorate_list.626@msgid.xyz>
95
96
93
-* tb/bitmap-build-performance (2026-05-19) 9 commits
94
- - pack-bitmap: build pseudo-merge bitmaps after regular bitmaps
95
- - pack-bitmap: remember pseudo-merge parents
96
- - pack-bitmap: sort bitmaps before XORing
97
- - pack-bitmap: cache object positions during fill
98
- - pack-bitmap: consolidate `find_object_pos()` success path
99
- - pack-bitmap: reuse stored selected bitmaps
100
- - pack-bitmap: check subtree bits before recursing
101
- - pack-bitmap: pass object position to `fill_bitmap_tree()`
102
- - Merge branch 'tb/pseudo-merge-bugfixes' into tb/bitmap-build-performance
103
- (this branch uses tb/pseudo-merge-bugfixes.)
97
+* kn/refs-generic-helpers (2026-05-04) 9 commits
98
+ (merged to 'next' on 2026-05-15 at 62cb4e0ce2)
99
+ + refs: use peeled tag values in reference backends
100
+ + refs: add peeled object ID to the `ref_update` struct
101
+ + refs: move object parsing to the generic layer
102
+ + update-ref: handle rejections while adding updates
103
+ + update-ref: move `print_rejected_refs()` up
104
+ + refs: return `ref_transaction_error` from `ref_transaction_update()`
105
+ + refs: extract out reflog config to generic layer
106
+ + refs: introduce `ref_store_init_options`
107
+ + refs: remove unused typedef 'ref_transaction_commit_fn'
108
105
- Reachability bitmap generation has been significantly optimized. By
106
- reordering tree traversal, caching object positions, and refining how
107
- pseudo-merge bitmaps are constructed, the performance of "git repack
108
- --write-midx-bitmaps" is improved, especially for large repositories
109
- and when using pseudo-merges.
110
- source: <cover.1779207127.git.me@ttaylorr.com>
109
+ Refactor service routines in the ref subsystem backends.
110
+ cf. <afmFmGo_Sg33Rv6V@pks.im>
111
+ cf. <87o6isqq4q.fsf@toon--20250203-5JQV3.mail-host-address-is-not-set>
112
+ source: <20260504-refs-move-to-generic-layer-v4-0-936ac2f0b1a3@gmail.com>
113
112
---------------------------------------------------
113
-[Graduated to 'master']
114
-
115
-* ag/rebase-update-refs-limit-to-branches (2026-05-10) 1 commit
116
- (merged to 'next' on 2026-05-12 at 5222da09bb)
117
- + rebase: ignore non-branch update-refs
118
-
119
- "git rebase --update-refs", when used with an rebase.instructionFormat
120
- with "%d" (describe) in it, tried to update local branch HEAD by
121
- mistake, which has been corrected.
122
- source: <20260510224111.64467-2-mail@abhinavg.net>
114
115
+* mm/git-url-parse (2026-05-01) 8 commits
116
+ (merged to 'next' on 2026-05-15 at 416deceeeb)
117
+ + t9904: add tests for the new url-parse builtin
118
+ + doc: describe the url-parse builtin
119
+ + builtin: create url-parse command
120
+ + urlmatch: define url_parse function
121
+ + url: return URL_SCHEME_UNKNOWN instead of dying
122
+ + url: move scheme detection to URL header/source
123
+ + url: move url_is_local_not_ssh to url.h
124
+ + connect: rename enum protocol to url_scheme
125
125
-* bc/sign-commit-with-custom-encoding (2026-04-27) 2 commits
126
- (merged to 'next' on 2026-05-13 at e82a4966c0)
127
- + commit: sign commit after mutating buffer
128
- + commit: name UTF-8 function appropriately
126
+ The internal URL parsing logic has been made accessible via a new
127
+ subcommand "git url-parse".
128
+ cf. <xmqqjyt9p9pk.fsf@gitster.g>
129
+ cf. <20260512085734.GA26769@tb-raspi4>
130
+ source: <pull.1715.v3.git.git.1777699722.gitgitgadget@gmail.com>
131
130
- Signing commit with custom encoding was passing the data to be
131
- signed at a wrong stage in the pipeline, which has been corrected.
132
- cf. <xmqqtssdnpf7.fsf@gitster.g>
133
- source: <20260427221834.1824543-1-sandals@crustytoothpaste.net>
132
133
+* ps/maintenance-daemonize-lockfix (2026-05-13) 2 commits
134
+ (merged to 'next' on 2026-05-21 at 9b7fa37559)
135
+ + run-command: honor "gc.auto" for auto-maintenance
136
+ + builtin/maintenance: fix locking with "--detach"
137
136
-* en/diffstat-utf8-truncation-fix (2026-04-20) 1 commit
137
- (merged to 'next' on 2026-05-13 at adf801eb1d)
138
- + diff: fix out-of-bounds reads and NULL deref in diffstat UTF-8 truncation
138
+ "git maintenance" that goes background did not use the lockfile to
139
+ prevent multiple maintenance processes from running at the same
140
+ time, which has been corrected.
141
+ cf. <ag1MHje6-C6nmcO4@pks.im>
142
+ source: <20260513-pks-maintenance-fix-lock-with-detach-v3-0-f27a1ac82891@pks.im>
143
140
- The computation to shorten the filenames shown in diffstat measured
141
- width of individual UTF-8 characters to add up, but forgot to take
142
- into account error cases (e.g., an invalid UTF-8 sequence, or a
143
- control character).
144
- source: <pull.2093.v3.git.1776699778177.gitgitgadget@gmail.com>
144
145
+* pw/xdiff-shrink-memory-consumption (2026-05-04) 5 commits
146
+ (merged to 'next' on 2026-05-15 at 7a867909d2)
147
+ + xdiff: reduce the size of array
148
+ + xprepare: simplify error handling
149
+ + xdiff: cleanup xdl_clean_mmatch()
150
+ + xdiff: reduce size of action arrays
151
+ + Merge branch 'en/xdiff-cleanup-3' into pw/xdiff-shrink-memory-consumption
152
147
-* en/xdiff-cleanup-3 (2026-04-29) 6 commits
148
- (merged to 'next' on 2026-05-12 at e4e72e0f34)
149
- + xdiff/xdl_cleanup_records: make execution of action easier to follow
150
- + xdiff/xdl_cleanup_records: make setting action easier to follow
151
- + xdiff/xdl_cleanup_records: make limits more clear
152
- + xdiff/xdl_cleanup_records: use unambiguous types
153
- + xdiff: use unambiguous types in xdl_bogo_sqrt()
154
- + xdiff/xdl_cleanup_records: delete local recs pointer
155
- (this branch is used by pw/xdiff-shrink-memory-consumption.)
153
+ Shrink wasted memory in Myers diff that does not account for common
154
+ prefix and suffix removal.
155
+ source: <cover.1777903579.git.phillip.wood@dunelm.org.uk>
156
157
- Preparation of the xdiff/ codebase to work with Rust.
158
- source: <pull.2156.v6.git.git.1777500495.gitgitgadget@gmail.com>
157
158
+* sp/shallow-deepen-on-non-shallow-repo-fix (2026-05-11) 1 commit
159
+ (merged to 'next' on 2026-05-15 at 67dd491aae)
160
+ + shallow: fix relative deepen on non-shallow repositories
161
161
-* jh/alias-i18n-fixes (2026-04-24) 1 commit
162
- (merged to 'next' on 2026-05-13 at c7cd30d414)
163
- + alias: restore support for simple dotted aliases
162
+ "git fetch --deepen=<n>" in a full clone truncated the history to <n>
163
+ commits deep, which has been corrected to be a no-op instead.
164
+ source: <20260511192044.169557-1-samo_pogacnik@t-2.net>
165
165
- Further update to the i18n alias support to avoid regressions.
166
- source: <20260424161707.1514255-1-jonatan@jontes.page>
166
167
+* za/t2000-modernise-more (2026-04-29) 1 commit
168
+ (merged to 'next' on 2026-05-15 at 3b524d0ba5)
169
+ + t2000: consolidate second scenario into a single test block
170
169
-* js/adjust-tests-to-explicitly-access-bare-repo (2026-04-26) 8 commits
170
- (merged to 'next' on 2026-05-13 at 48695e1cb0)
171
- + safe.bareRepository: default to "explicit" with WITH_BREAKING_CHANGES
172
- + status tests: filter `.gitconfig` from status output
173
- + ls-files tests: filter `.gitconfig` from `--others` output
174
- + t5601: restore `.gitconfig` after includeIf test
175
- + t1305: use `--git-dir=.` for bare repo in include cycle test
176
- + t1300: remove global config settings injected by test-lib.sh
177
- + t7900: do not let `$HOME/.gitconfig` interfere with XDG tests
178
- + test-lib: allow bare repository access when breaking changes are enabled
171
+ Test update.
172
+ cf. <xmqqfr3xnofn.fsf@gitster.g>
173
+ source: <20260429103607.406339-1-zakariyahali100@gmail.com>
174
180
- Some tests assume that bare repository accesses are by default
181
- allowed; rewrite some of them to avoid the assumption, rewrite
182
- others to explicitly set safe.bareRepository to allow them.
183
- source: <pull.2098.v2.git.1777214316.gitgitgadget@gmail.com>
175
+--------------------------------------------------
176
+[New Topics]
177
178
+* gh/jump-auto-mode (2026-05-21) 1 commit
179
+ - git-jump: pick a mode automatically when invoked without arguments
180
186
-* js/mingw-no-nedmalloc (2026-05-08) 3 commits
187
- (merged to 'next' on 2026-05-13 at 2116a6bcc9)
188
- + mingw: remove the vendored compat/nedmalloc/ subtree
189
- + mingw: drop the build-system plumbing for nedmalloc
190
- + mingw: stop using nedmalloc
181
+ The 'git-jump' command (in contrib/) has been taught to automatically
182
+ pick a mode (merge, diff, or ws) when invoked without arguments.
183
192
- Stop using unmaintained custom allocator in Windows build which was
193
- the last user of the code.
194
- source: <pull.2104.v3.git.1778244661.gitgitgadget@gmail.com>
184
+ Comments?
185
+ source: <pull.2108.v3.git.1779371110195.gitgitgadget@gmail.com>
186
187
197
-* js/objects-larger-than-4gb-on-windows (2026-05-08) 11 commits
198
- (merged to 'next' on 2026-05-13 at 843d2ac470)
199
- + ci: run expensive tests on push builds to integration branches
200
- + t5608: mark >4GB tests as EXPENSIVE
201
- + test-tool synthesize: add precomputed SHA-256 pack for 4 GiB + 1
202
- + test-tool synthesize: precompute pack for 4 GiB + 1
203
- + test-tool synthesize: use the unsafe hash for speed
204
- + t5608: add regression test for >4GB object clone
205
- + test-tool: add a helper to synthesize large packfiles
206
- + delta, packfile: use size_t for delta header sizes
207
- + odb, packfile: use size_t for streaming object sizes
208
- + git-zlib: handle data streams larger than 4GB
209
- + index-pack, unpack-objects: use size_t for object size
210
- (this branch is used by jc/ci-enable-expensive.)
188
+* sp/doc-range-diff-takes-notes (2026-05-20) 1 commit
189
+ (merged to 'next' on 2026-05-22 at 020bec81b7)
190
+ + Documentation/git-range-diff: add missing notes options in synopsis
191
212
- Update code paths that assumed "unsigned long" was long enough for
213
- "size_t".
214
- source: <pull.2102.v3.git.1778228209.gitgitgadget@gmail.com>
192
+ Doxfix.
193
194
+ Will merge to 'master'.
195
+ source: <20260521052841.73775-1-siddh.raman.pant@oracle.com>
196
+
197
+
198
+* ps/odb-source-loose (2026-05-21) 19 commits
199
+ - odb/source-loose: drop pointer to the "files" source
200
+ - odb/source-loose: stub out remaining callbacks
201
+ - odb/source-loose: wire up `write_object_stream()` callback
202
+ - object-file: refactor writing objects to use loose source
203
+ - odb/source-loose: wire up `write_object()` callback
204
+ - loose: refactor object map to operate on `struct odb_source_loose`
205
+ - odb/source-loose: wire up `freshen_object()` callback
206
+ - odb/source-loose: drop `odb_source_loose_has_object()`
207
+ - odb/source-loose: wire up `count_objects()` callback
208
+ - odb/source-loose: wire up `find_abbrev_len()` callback
209
+ - odb/source-loose: wire up `for_each_object()` callback
210
+ - odb/source-loose: wire up `read_object_stream()` callback
211
+ - odb/source-loose: wire up `read_object_info()` callback
212
+ - odb/source-loose: wire up `close()` callback
213
+ - odb/source-loose: wire up `reprepare()` callback
214
+ - odb/source-loose: start converting to a proper `struct odb_source`
215
+ - odb/source-loose: store pointer to "files" instead of generic source
216
+ - odb/source-loose: move loose source into "odb/" subsystem
217
+ - Merge branch 'ps/odb-in-memory' into ps/odb-source-loose
218
+ (this branch uses jt/odb-transaction-write and ps/odb-in-memory.)
219
+
220
+ The loose object source has been refactored into a proper `struct
221
+ odb_source`.
222
217
-* kh/doc-commit-graph (2026-05-07) 1 commit
218
- (merged to 'next' on 2026-05-12 at b9cafeb32d)
219
- + doc: add caveat about turning off commit-graph
223
+ Comments?
224
+ source: <20260521-b4-pks-odb-source-loose-v1-0-6553b399be2d@pks.im>
225
221
- Ramifications of turning off commit-graph has been documented a bit
222
- more clearly.
223
- source: <V3_caveat_commit-graph.6b6@msgid.xyz>
226
227
+* ps/setup-centralize-odb-creation (2026-05-21) 9 commits
228
+ - setup: construct object database in `apply_repository_format()`
229
+ - repository: stop reading loose object map twice on repo init
230
+ - setup: stop initializing object database without repository
231
+ - setup: stop creating the object database in `setup_git_env()`
232
+ - repository: stop initializing the object database in `repo_set_gitdir()`
233
+ - setup: deduplicate logic to apply repository format
234
+ - setup: drop `setup_git_env()`
235
+ - t0001: plug test gaps for git-init(1) with GIT_OBJECT_DIRECTORY
236
+ - Merge branch 'ps/setup-wo-the-repository' into ps/setup-centralize-odb-creation
237
+ (this branch uses ps/setup-wo-the-repository.)
238
226
-* kh/doc-restore-double-underscores-fix (2026-05-05) 1 commit
227
- (merged to 'next' on 2026-05-12 at 2e8fc7cdac)
228
- + doc: restore: remove double underscore
229
-
230
- Doc update.
231
- source: <double_underscore.670@msgid.xyz>
239
+ The setup logic to discover and configure repositories has been
240
+ refactored, and the initialization of the object database has been
241
+ centralized.
242
243
+ Comments?
244
+ source: <20260521-b4-pks-setup-centralize-odb-creation-v1-0-f130d2a7e8ae@pks.im>
245
234
-* kh/name-rev-custom-format (2026-05-11) 5 commits
235
- (merged to 'next' on 2026-05-12 at c944d6131e)
236
- + format-rev: introduce builtin for on-demand pretty formatting
237
- + name-rev: make dedicated --annotate-stdin --name-only test
238
- + name-rev: factor code for sharing with a new command
239
- + name-rev: run clang-format before factoring code
240
- + name-rev: wrap both blocks in braces
246
242
- A new builtin "git format-rev" is introduced for pretty formatting
243
- one revision expression per line or commit object names found in
244
- running text.
245
- source: <V5_CV_format-rev.6c9@msgid.xyz>
247
+* ps/gitlab-ci-macOS-improvements (2026-05-21) 2 commits
248
+ (merged to 'next' on 2026-05-22 at aaa3c7021e)
249
+ + gitlab-ci: update macOS image
250
+ + gitlab-ci: upgrade macOS runners
251
252
+ Update GitLab CI jobs that exercise macOS.
253
248
-* mc/http-emptyauth-negotiate-fix (2026-04-30) 4 commits
249
- (merged to 'next' on 2026-05-12 at 843ae82cd0)
250
- + doc: clarify http.emptyAuth values
251
- (merged to 'next' on 2026-04-20 at 6539524ca2)
252
- + t5563: add tests for http.emptyAuth with Negotiate
253
- + http: attempt Negotiate auth in http.emptyAuth=auto mode
254
- + http: extract http_reauth_prepare() from retry paths
254
+ Will merge to 'master'.
255
+ source: <20260521-b4-pks-gitlab-ci-updates-v1-0-53bb46ed33e0@pks.im>
256
256
- The 'http.emptyAuth=auto' configuration now correctly attempts
257
- Negotiate authentication before falling back to manual credentials.
258
- This allows seamless Kerberos ticket-based authentication without
259
- requiring users to explicitly set 'http.emptyAuth=true'.
260
- source: <e0f236767f81ea60f90749d1bc00ab78081efd0e.1777546472.git.gitgitgadget@gmail.com>
261
- source: <pull.2087.git.1776331259.gitgitgadget@gmail.com>
257
258
+* kh/doc-hook (2026-05-21) 4 commits
259
+ - doc: hook: don’t self-link via config include
260
+ - doc: config: include existing git-hook(1) section
261
+ - doc: hook: consistently capitalize Git
262
+ - doc: hook: remove stray backtick
263
264
-* ps/history-fixup (2026-04-26) 3 commits
265
- (merged to 'next' on 2026-05-13 at e6154b6272)
266
- + builtin/history: introduce "fixup" subcommand
267
- + builtin/history: generalize function to commit trees
268
- + replay: allow callers to control what happens with empty commits
264
+ Doc updates.
265
270
- "git history" learned "fixup" command.
271
- cf. <xmqq33zxp4aq.fsf@gitster.g>
272
- source: <20260427-b4-pks-history-fixup-v3-0-cb908f06264b@pks.im>
266
+ Comments?
267
+ source: <CV_doc_hook.6f0@msgid.xyz>
268
269
275
-* rs/sideband-clear-line-before-print (2026-05-10) 1 commit
276
- (merged to 'next' on 2026-05-12 at 83880f8ce6)
277
- + sideband: clear full line when printing remote messages
270
+* kh/doc-replay-config (2026-05-21) 4 commits
271
+ - doc: replay: move “default” to the right-hand-side
272
+ - doc: replay: use a nested definition list
273
+ - doc: replay: simplify replay.refAction description
274
+ - doc: link to config for git-replay(1)
275
279
- Tweak the way how sideband messages from remote are printed while
280
- we talk with a remote repository to avoid tickling terminal
281
- emulator glitches.
282
- source: <9826dabf-c9a6-4397-8ae6-a24f9c507f1b@web.de>
276
+ Doc update for "git replay" to actually refer to its configuration
277
+ variables.
278
279
+ Comments?
280
+ source: <CV_doc_replay_config.709@msgid.xyz>
281
285
-* sb/unpack-index-pack-buffer-resize (2026-04-28) 1 commit
286
- (merged to 'next' on 2026-05-13 at 2edd54bcfe)
287
- + index-pack, unpack-objects: increase input buffer from 4 KiB to 128 KiB
282
+--------------------------------------------------
283
+[Cooking]
284
+
285
+* jk/commit-graph-lazy-load-fallback (2026-05-18) 1 commit
286
+ (merged to 'next' on 2026-05-22 at d1188df466)
287
+ + commit: fall back to full read when maybe_tree is NULL
288
+
289
+ The logic to lazy-load trees from the commit-graph has been made
290
+ more robust by falling back to reading the commit object when
291
+ the commit-graph is no longer available.
292
289
- Use a larger buffer size in the code paths to ingest pack stream.
290
- cf. <xmqqy0hpnpkb.fsf@gitster.g>
291
- source: <pull.2282.v4.git.git.1777387660841.gitgitgadget@gmail.com>
293
+ Will merge to 'master'.
294
+ source: <20260519061534.GA1709881@coredump.intra.peff.net>
295
296
294
-* sg/t6112-unwanted-tilde-expansion-fix (2026-04-21) 1 commit
295
- (merged to 'next' on 2026-05-12 at ad2d08eb44)
296
- + t6112: avoid tilde expansion
297
+* jk/connect-service-enum (2026-05-21) 2 commits
298
+ - transport-helper: fix typo in BUG() message
299
+ (merged to 'next' on 2026-05-21 at fd80c61e21)
300
+ + connect: use "service" enum for "name" argument
301
298
- Test fix.
299
- source: <20260421192132.51172-1-szeder.dev@gmail.com>
302
+ The "name" argument in git_connect() and related functions has been
303
+ converted to a "service" enum to improve type safety and clarify its
304
+ purpose.
305
306
+ Will merge to 'next' and then to 'master'.
307
+ source: <20260519052219.GA1703179@coredump.intra.peff.net>
308
+ source: <20260522044352.GA861761@coredump.intra.peff.net>
309
302
-* sj/submodule-update-clone-config-fix (2026-05-09) 1 commit
303
- (merged to 'next' on 2026-05-12 at 5a0094838a)
304
- + submodule-config: fix reading submodule.fetchJobs
310
306
- The configuration variable submodule.fetchJobs was not read correctly,
307
- which has been corrected.
308
- source: <pull.2287.v4.git.git.1778385022964.gitgitgadget@gmail.com>
311
+* jk/sq-dequote-cleanup (2026-05-18) 3 commits
312
+ (merged to 'next' on 2026-05-21 at fbedf2daea)
313
+ + quote: simplify internals of dequoting
314
+ + quote: drop sq_dequote_to_argv()
315
+ + quote.h: bump strvec forward declaration to the top
316
310
---------------------------------------------------
311
-[Cooking]
317
+ Code simplification.
318
313
-* hn/status-pull-advice-qualified (2026-05-13) 1 commit
314
- - remote: qualify "git pull" advice for non-upstream branches
319
+ Will merge to 'master'.
320
+ source: <20260519011837.GA1615637@coredump.intra.peff.net>
321
+
322
+
323
+* aj/stash-patch-optimize-temporary-index (2026-05-19) 1 commit
324
+ - stash: reuse cached index entries in --patch temporary index
325
+
326
+ "git stash -p" has been optimized by reusing cached index
327
+ entries in its temporary index, avoiding unnecessary lstat()
328
+ calls on unchanged files.
329
+ source: <pull.2306.git.git.1779194605735.gitgitgadget@gmail.com>
330
+
331
+
332
+* tb/bitmap-build-performance (2026-05-19) 9 commits
333
+ - pack-bitmap: build pseudo-merge bitmaps after regular bitmaps
334
+ - pack-bitmap: remember pseudo-merge parents
335
+ - pack-bitmap: sort bitmaps before XORing
336
+ - pack-bitmap: cache object positions during fill
337
+ - pack-bitmap: consolidate `find_object_pos()` success path
338
+ - pack-bitmap: reuse stored selected bitmaps
339
+ - pack-bitmap: check subtree bits before recursing
340
+ - pack-bitmap: pass object position to `fill_bitmap_tree()`
341
+ - Merge branch 'tb/pseudo-merge-bugfixes' into tb/bitmap-build-performance
342
+ (this branch uses tb/pseudo-merge-bugfixes.)
343
+
344
+ Reachability bitmap generation has been significantly optimized. By
345
+ reordering tree traversal, caching object positions, and refining how
346
+ pseudo-merge bitmaps are constructed, the performance of "git repack
347
+ --write-midx-bitmaps" is improved, especially for large repositories
348
+ and when using pseudo-merges.
349
+ source: <cover.1779207127.git.me@ttaylorr.com>
350
+
351
+
352
+* hn/status-pull-advice-qualified (2026-05-21) 1 commit
353
+ - remote: qualify "git pull" advice for non-upstream compareBranches
354
355
Advice shown by "git status" when the local branch is behind or has
356
diverged from its push branch has been updated to suggest "git pull
357
<remote> <branch>".
358
359
Comments?
321
- source: <pull.2301.v2.git.git.1778665812261.gitgitgadget@gmail.com>
360
+ source: <pull.2301.v4.git.git.1779372367317.gitgitgadget@gmail.com>
361
362
363
* jk/dumb-http-alternate-fix (2026-05-12) 1 commit
@@ -371,7 +410,7 @@ Release tarballs are available at:
410
source: <20260512115603.80780-1-l.s.r@web.de>
411
412
374
-* ta/approxidate-noon-fix (2026-05-16) 4 commits
413
+* ta/approxidate-noon-fix (2026-05-21) 4 commits
414
- approxidate: use deferred mday adjustments for "specials"
415
- approxidate: make "specials" respect fixed day-of-month
416
- t0006: add support for approxidate test date adjustment
@@ -380,8 +419,8 @@ Release tarballs are available at:
419
"Friday noon" asked in the morning on Sunday was parsed to be one
420
day before the specified time, which has been corrected.
421
383
- Comments?
384
- source: <20260516151540.9611-1-taahol@utu.fi>
422
+ Will merge to 'next'.
423
+ source: <20260521105408.8222-1-taahol@utu.fi>
424
425
426
* mm/doc-word-diff (2026-05-13) 1 commit
@@ -417,52 +456,35 @@ Release tarballs are available at:
456
457
458
* ed/check-connected-close-err-fd (2026-05-16) 1 commit
420
- - Merge branch 'ed/check-connected-close-err-fd-2.53' into ed/check-connected-close-err-fd
459
+ (merged to 'next' on 2026-05-22 at 00d592399e)
460
+ + Merge branch 'ed/check-connected-close-err-fd-2.53' into ed/check-connected-close-err-fd
461
(this branch uses ed/check-connected-close-err-fd-2.53.)
462
463
File descriptor leak fix.
464
425
- Will merge to 'next'?
465
+ Will merge to 'master'.
466
(this branch uses ed/check-connected-close-err-fd-2.53.)
467
468
469
* ed/check-connected-close-err-fd-2.53 (2026-05-14) 1 commit
430
- - connected: close err_fd in promisor fast-path
470
+ (merged to 'next' on 2026-05-22 at 1017d0e022)
471
+ + connected: close err_fd in promisor fast-path
472
(this branch is used by ed/check-connected-close-err-fd.)
473
474
File descriptor leak fix (for 2.54 maintenance track).
475
435
- Will be merged together with ed/check-connected-close-err-fd topic.
436
- source: <pull.2303.git.git.1778827194448.gitgitgadget@gmail.com>
437
-
438
-
439
-* jk/apply-leakfix (2026-05-15) 1 commit
440
- (merged to 'next' on 2026-05-20 at 725a20bf93)
441
- + apply: plug leak on "patch too large" error
442
-
443
- Leakfix.
444
-
445
- Will merge to 'master'.
446
- source: <20260516021622.GA744303@coredump.intra.peff.net>
447
-
448
-
449
-* jk/commit-sign-overflow-fix (2026-05-15) 1 commit
450
- (merged to 'next' on 2026-05-20 at e1a320d4e5)
451
- + commit: handle large commit messages in utf8 verification
452
-
453
- Leakfix.
454
-
476
Will merge to 'master'.
456
- source: <20260516022310.GB744303@coredump.intra.peff.net>
477
+ source: <pull.2303.git.git.1778827194448.gitgitgadget@gmail.com>
478
479
480
* kk/tips-reachable-from-bases-optim (2026-05-16) 2 commits
460
- - t6600: add tests for duplicate tips in tips_reachable_from_bases()
461
- - commit-reach: use object flags for tips_reachable_from_bases()
481
+ (merged to 'next' on 2026-05-22 at 87d6b8e666)
482
+ + t6600: add tests for duplicate tips in tips_reachable_from_bases()
483
+ + commit-reach: use object flags for tips_reachable_from_bases()
484
485
Revision traversal optimization.
486
465
- Will merge to 'next'?
487
+ Will merge to 'master'.
488
source: <pull.2116.v3.git.1778947182.gitgitgadget@gmail.com>
489
490
@@ -499,21 +521,23 @@ Release tarballs are available at:
521
522
523
* rs/use-builtin-add-overflow-explicitly-on-clang (2026-05-18) 2 commits
502
- - use __builtin_add_overflow() in st_add() with Clang
503
- - strbuf: use st_add3() in strbuf_grow()
524
+ (merged to 'next' on 2026-05-21 at c223b71079)
525
+ + use __builtin_add_overflow() in st_add() with Clang
526
+ + strbuf: use st_add3() in strbuf_grow()
527
528
Micro optimization of codepaths that compute allocation sizes carefully.
529
507
- Will merge to 'next'.
530
+ Will merge to 'master'.
531
source: <20260518202502.25682-1-l.s.r@web.de>
532
533
534
* tc/generate-configlist-fix-for-older-ninja (2026-05-15) 1 commit
512
- - generate-configlist: collapse depfile for older Ninja
535
+ (merged to 'next' on 2026-05-22 at 8322bfb8f2)
536
+ + generate-configlist: collapse depfile for older Ninja
537
538
Build update.
539
516
- Will merge to 'next'?
540
+ Will merge to 'master'.
541
source: <20260515-toon-fix-almalinux8-v3-1-b545a0647f0f@iotcl.com>
542
543
@@ -544,13 +568,14 @@ Release tarballs are available at:
568
569
570
* kn/refs-fsck-skip-lock-files (2026-05-17) 1 commit
547
- - refs/files: skip lock files during consistency checks
571
+ (merged to 'next' on 2026-05-21 at 91e30e3543)
572
+ + refs/files: skip lock files during consistency checks
573
574
The consistency checks for the files reference backend have been updated
575
to skip lock files earlier, avoiding unnecessary parsing of
576
intermediate files.
577
553
- Will merge to 'next'.
578
+ Will merge to 'master'.
579
source: <20260517-refs-fsck-skip-lock-files-v3-1-b24dfd673c7e@gmail.com>
580
581
@@ -566,17 +591,6 @@ Release tarballs are available at:
591
source: <20260517132111.1014901-1-joerg@thalheim.io>
592
593
569
-* sp/shallow-deepen-on-non-shallow-repo-fix (2026-05-11) 1 commit
570
- (merged to 'next' on 2026-05-15 at 67dd491aae)
571
- + shallow: fix relative deepen on non-shallow repositories
572
-
573
- "git fetch --deepen=<n>" in a full clone truncated the history to <n>
574
- commits deep, which has been corrected to be a no-op instead.
575
-
576
- Will merge to 'master'.
577
- source: <20260511192044.169557-1-samo_pogacnik@t-2.net>
578
-
579
-
594
* ag/sequencer-remove-unused-struct-member (2026-05-11) 1 commit
595
(merged to 'next' on 2026-05-17 at 8553437ae1)
596
+ sequencer: remove todo_add_branch_context.commit
@@ -588,42 +602,18 @@ Release tarballs are available at:
602
source: <pull.2111.git.1778502113485.gitgitgadget@gmail.com>
603
604
591
-* ps/maintenance-daemonize-lockfix (2026-05-13) 2 commits
592
- - run-command: honor "gc.auto" for auto-maintenance
593
- - builtin/maintenance: fix locking with "--detach"
594
-
595
- "git maintenance" that goes background did not use the lockfile to
596
- prevent multiple maintenance processes from running at the same
597
- time, which has been corrected..
598
-
599
- Comments?
600
- source: <20260513-pks-maintenance-fix-lock-with-detach-v3-0-f27a1ac82891@pks.im>
601
-
602
-
603
-* aw/validate-proxy-url-scheme (2026-05-05) 1 commit
604
- (merged to 'next' on 2026-05-15 at da9c1b71d7)
605
- + http: reject unsupported proxy URL schemes
606
-
607
- Misspelt proxy URL (e.g., httt://...) did not trigger any warning
608
- or failure, which has been corrected.
609
-
610
- Will merge to 'master'.
611
- source: <20260505091941.1825-2-aminnimaj@gmail.com>
612
-
613
-
614
-* hn/branch-prune-merged (2026-05-13) 5 commits
615
- - branch: add --all-remotes flag
605
+* hn/branch-prune-merged (2026-05-21) 4 commits
606
+ - branch: add --dry-run for --prune-merged
607
- branch: add branch.<name>.pruneMerged opt-out
617
- - branch: add --prune-merged <remote>
618
- - branch: let delete_branches warn instead of error on bulk refusal
619
- - branch: add --forked <remote>
608
+ - branch: add --prune-merged <branch>
609
+ - branch: add --forked <branch>
610
611
"git branch" command learned "--prune-merged" option to remove
612
local branches that have already been merged to the remote-tracking
613
branches they track.
614
615
Comments?
626
- source: <pull.2285.v9.git.git.1778700883.gitgitgadget@gmail.com>
616
+ source: <pull.2285.v10.git.git.1779403204.gitgitgadget@gmail.com>
617
618
619
* mm/diff-U-takes-no-negative-values (2026-05-12) 4 commits
@@ -640,26 +630,6 @@ Release tarballs are available at:
630
source: <pull.2105.v2.git.1778609423.gitgitgadget@gmail.com>
631
632
643
-* mm/git-url-parse (2026-05-01) 8 commits
644
- (merged to 'next' on 2026-05-15 at 416deceeeb)
645
- + t9904: add tests for the new url-parse builtin
646
- + doc: describe the url-parse builtin
647
- + builtin: create url-parse command
648
- + urlmatch: define url_parse function
649
- + url: return URL_SCHEME_UNKNOWN instead of dying
650
- + url: move scheme detection to URL header/source
651
- + url: move url_is_local_not_ssh to url.h
652
- + connect: rename enum protocol to url_scheme
653
-
654
- The internal URL parsing logic has been made accessible via a new
655
- subcommand "git url-parse".
656
-
657
- Will merge to 'master'.
658
- cf. <xmqqjyt9p9pk.fsf@gitster.g>
659
- cf. <20260512085734.GA26769@tb-raspi4>
660
- source: <pull.1715.v3.git.git.1777699722.gitgitgadget@gmail.com>
661
-
662
-
633
* dk/doc-exclude-is-shared-per-repo (2026-05-12) 1 commit
634
(merged to 'next' on 2026-05-17 at ddc761aec6)
635
+ ignore: note info/exclude lives in GIT_COMMON_DIR, not GIT_DIR
@@ -695,39 +665,6 @@ Release tarballs are available at:
665
source: <pull.2300.git.git.1778773592.gitgitgadget@gmail.com>
666
667
698
-* jc/ci-enable-expensive (2026-05-10) 2 commits
699
- (merged to 'next' on 2026-05-15 at d258bb5e55)
700
- + ci: enable EXPENSIVE for contributor builds
701
- + Merge branch 'js/objects-larger-than-4gb-on-windows' into jc/ci-enable-expensive
702
-
703
- Enable expensive tests to catch topics that may cause breakages on
704
- integration branches closer to their origin in the contributor PR
705
- builds.
706
-
707
- Will merge to 'master'.
708
- source: <xmqqjyta9630.fsf@gitster.g>
709
-
710
-
711
-* kn/refs-generic-helpers (2026-05-04) 9 commits
712
- (merged to 'next' on 2026-05-15 at 62cb4e0ce2)
713
- + refs: use peeled tag values in reference backends
714
- + refs: add peeled object ID to the `ref_update` struct
715
- + refs: move object parsing to the generic layer
716
- + update-ref: handle rejections while adding updates
717
- + update-ref: move `print_rejected_refs()` up
718
- + refs: return `ref_transaction_error` from `ref_transaction_update()`
719
- + refs: extract out reflog config to generic layer
720
- + refs: introduce `ref_store_init_options`
721
- + refs: remove unused typedef 'ref_transaction_commit_fn'
722
-
723
- Refactor service routines in the ref subsystem backends.
724
-
725
- Will merge to 'master'.
726
- cf. <afmFmGo_Sg33Rv6V@pks.im>
727
- cf. <87o6isqq4q.fsf@toon--20250203-5JQV3.mail-host-address-is-not-set>
728
- source: <20260504-refs-move-to-generic-layer-v4-0-936ac2f0b1a3@gmail.com>
729
-
730
-
668
* ob/more-repo-config-values (2026-04-23) 8 commits
669
- env: move "warn_on_object_refname_ambiguity" into `struct repo_config_values`
670
- env: move "sparse_expect_files_outside_of_patterns" into `repo_config_values`
@@ -764,38 +701,14 @@ Release tarballs are available at:
701
source: <20260519153808.494105-1-christian.couder@gmail.com>
702
703
767
-* kh/doc-log-decorate-list (2026-04-27) 2 commits
768
- (merged to 'next' on 2026-05-15 at f740311a37)
769
- + doc: log: use the same delimiter in description list
770
- + doc: log: fix --decorate description list
771
-
772
- Doc update.
773
-
774
- Will merge to 'master'.
775
- cf. <xmqqpl31np0l.fsf@gitster.g>
776
- source: <CV_doc_log_--decorate_list.626@msgid.xyz>
777
-
778
-
779
-* za/t2000-modernise-more (2026-04-29) 1 commit
780
- (merged to 'next' on 2026-05-15 at 3b524d0ba5)
781
- + t2000: consolidate second scenario into a single test block
782
-
783
- Test update.
784
-
785
- Will merge to 'master'.
786
- cf. <xmqqfr3xnofn.fsf@gitster.g>
787
- source: <20260429103607.406339-1-zakariyahali100@gmail.com>
788
-
789
-
790
-* hn/checkout-track-fetch (2026-05-18) 1 commit
704
+* hn/checkout-track-fetch (2026-05-21) 1 commit
705
- checkout: extend --track with a "fetch" mode to refresh start-point
706
707
"git checkout --track=..." learned to optionally fetch the branch
708
from the remote the new branch will work with.
709
710
Comments?
797
- cf. <pull.2301.git.git.1778623888178.gitgitgadget@gmail.com>
798
- source: <pull.2281.v10.git.git.1779091483321.gitgitgadget@gmail.com>
711
+ source: <pull.2281.v12.git.git.1779358803652.gitgitgadget@gmail.com>
712
713
714
* mf/revision-max-count-oldest (2026-05-18) 1 commit
@@ -889,20 +802,21 @@ Release tarballs are available at:
802
803
804
* ds/fetch-negotiation-options (2026-05-19) 8 commits
892
- - send-pack: pass negotiation config in push
893
- - remote: add remote.*.negotiationInclude config
894
- - fetch: add --negotiation-include option for negotiation
895
- - negotiator: add have_sent() interface
896
- - remote: add remote.*.negotiationRestrict config
897
- - transport: rename negotiation_tips
898
- - fetch: add --negotiation-restrict option
899
- - t5516: fix test order flakiness
805
+ (merged to 'next' on 2026-05-21 at ff57fd9c97)
806
+ + send-pack: pass negotiation config in push
807
+ + remote: add remote.*.negotiationInclude config
808
+ + fetch: add --negotiation-include option for negotiation
809
+ + negotiator: add have_sent() interface
810
+ + remote: add remote.*.negotiationRestrict config
811
+ + transport: rename negotiation_tips
812
+ + fetch: add --negotiation-restrict option
813
+ + t5516: fix test order flakiness
814
815
The negotiation tip options in "git fetch" have been reworked to
816
allow requiring certain refs to be sent as "have" lines, and to
817
restrict negotiation to a specific set of refs.
818
905
- Will merge to 'next'.
819
+ Will merge to 'master'.
820
source: <pull.2085.v6.git.1779207896.gitgitgadget@gmail.com>
821
822
@@ -924,43 +838,45 @@ Release tarballs are available at:
838
839
840
* ps/odb-in-memory (2026-04-10) 18 commits
927
- - t/unit-tests: add tests for the in-memory object source
928
- - odb: generic in-memory source
929
- - odb/source-inmemory: stub out remaining functions
930
- - odb/source-inmemory: implement `freshen_object()` callback
931
- - odb/source-inmemory: implement `count_objects()` callback
932
- - odb/source-inmemory: implement `find_abbrev_len()` callback
933
- - odb/source-inmemory: implement `for_each_object()` callback
934
- - odb/source-inmemory: convert to use oidtree
935
- - oidtree: add ability to store data
936
- - cbtree: allow using arbitrary wrapper structures for nodes
937
- - odb/source-inmemory: implement `write_object_stream()` callback
938
- - odb/source-inmemory: implement `write_object()` callback
939
- - odb/source-inmemory: implement `read_object_stream()` callback
940
- - odb/source-inmemory: implement `read_object_info()` callback
941
- - odb: fix unnecessary call to `find_cached_object()`
942
- - odb/source-inmemory: implement `free()` callback
943
- - odb: introduce "in-memory" source
944
- - Merge branch 'jt/odb-transaction-write' into ps/odb-in-memory
945
- (this branch uses jt/odb-transaction-write.)
841
+ (merged to 'next' on 2026-05-21 at c8709aa17f)
842
+ + t/unit-tests: add tests for the in-memory object source
843
+ + odb: generic in-memory source
844
+ + odb/source-inmemory: stub out remaining functions
845
+ + odb/source-inmemory: implement `freshen_object()` callback
846
+ + odb/source-inmemory: implement `count_objects()` callback
847
+ + odb/source-inmemory: implement `find_abbrev_len()` callback
848
+ + odb/source-inmemory: implement `for_each_object()` callback
849
+ + odb/source-inmemory: convert to use oidtree
850
+ + oidtree: add ability to store data
851
+ + cbtree: allow using arbitrary wrapper structures for nodes
852
+ + odb/source-inmemory: implement `write_object_stream()` callback
853
+ + odb/source-inmemory: implement `write_object()` callback
854
+ + odb/source-inmemory: implement `read_object_stream()` callback
855
+ + odb/source-inmemory: implement `read_object_info()` callback
856
+ + odb: fix unnecessary call to `find_cached_object()`
857
+ + odb/source-inmemory: implement `free()` callback
858
+ + odb: introduce "in-memory" source
859
+ + Merge branch 'jt/odb-transaction-write' into ps/odb-in-memory
860
+ (this branch is used by ps/odb-source-loose; uses jt/odb-transaction-write.)
861
862
Add a new odb "in-memory" source that is meant to only hold
863
tentative objects (like the virtual blob object that represents the
864
working tree file used by "git blame").
865
951
- Need to wait for the base topic.
866
+ Will merge to 'master'.
867
source: <20260410-b4-pks-odb-source-inmemory-v3-0-22fd0fad58fe@pks.im>
868
869
870
* cl/conditional-config-on-worktree-path (2026-05-13) 2 commits
956
- - config: add "worktree" and "worktree/i" includeIf conditions
957
- - config: refactor include_by_gitdir() into include_by_path()
871
+ (merged to 'next' on 2026-05-22 at 7851f494ae)
872
+ + config: add "worktree" and "worktree/i" includeIf conditions
873
+ + config: refactor include_by_gitdir() into include_by_path()
874
875
The [includeIf "condition"] conditional inclusion facility for
876
configuration files has learned to use the location of worktree
877
in its condition.
878
963
- Will merge to 'next'?
879
+ Will merge to 'master'.
880
cf. <2989eb07-2933-4b5a-9e5c-33ef9b805528@gmail.com>
881
source: <20260513-includeif-worktree-v4-0-f8e6212d1fba@black-desk.cn>
882
@@ -1008,55 +924,59 @@ Release tarballs are available at:
924
925
926
* jt/odb-transaction-write (2026-05-14) 7 commits
1011
- - odb/transaction: make `write_object_stream()` pluggable
1012
- - object-file: generalize packfile writes to use odb_write_stream
1013
- - object-file: avoid fd seekback by checking object size upfront
1014
- - object-file: remove flags from transaction packfile writes
1015
- - odb: update `struct odb_write_stream` read() callback
1016
- - odb/transaction: use pluggable `begin_transaction()`
1017
- - odb: split `struct odb_transaction` into separate header
1018
- (this branch is used by ps/odb-in-memory.)
927
+ (merged to 'next' on 2026-05-21 at 61108abe4d)
928
+ + odb/transaction: make `write_object_stream()` pluggable
929
+ + object-file: generalize packfile writes to use odb_write_stream
930
+ + object-file: avoid fd seekback by checking object size upfront
931
+ + object-file: remove flags from transaction packfile writes
932
+ + odb: update `struct odb_write_stream` read() callback
933
+ + odb/transaction: use pluggable `begin_transaction()`
934
+ + odb: split `struct odb_transaction` into separate header
935
+ (this branch is used by ps/odb-in-memory and ps/odb-source-loose.)
936
937
ODB transaction interface is being reworked to explicitly handle
938
object writes.
939
1023
- Will merge to 'next'.
940
+ Will merge to 'master'.
941
source: <20260514183740.1505171-1-jltobler@gmail.com>
942
943
944
* sa/cat-file-batch-mailmap-switch (2026-04-15) 1 commit
1028
- - cat-file: add mailmap subcommand to --batch-command
945
+ (merged to 'next' on 2026-05-22 at 197a9bad73)
946
+ + cat-file: add mailmap subcommand to --batch-command
947
948
"git cat-file --batch" learns an in-line command "mailmap"
949
that lets the user toggle use of mailmap.
950
1033
- Will merge to 'next'?
951
+ Will merge to 'master'.
952
+ cf. <xmqqwlwy4v7t.fsf@gitster.g>
953
source: <20260416033250.4327-2-siddharthasthana31@gmail.com>
954
955
956
* tb/incremental-midx-part-3.3 (2026-05-19) 16 commits
1038
- - repack: allow `--write-midx=incremental` without `--geometric`
1039
- - repack: introduce `--write-midx=incremental`
1040
- - repack: implement incremental MIDX repacking
1041
- - packfile: ensure `close_pack_revindex()` frees in-memory revindex
1042
- - builtin/repack.c: convert `--write-midx` to an `OPT_CALLBACK`
1043
- - repack-geometry: prepare for incremental MIDX repacking
1044
- - repack-midx: extract `repack_fill_midx_stdin_packs()`
1045
- - repack-midx: factor out `repack_prepare_midx_command()`
1046
- - midx: expose `midx_layer_contains_pack()`
1047
- - repack: track the ODB source via existing_packs
1048
- - midx: support custom `--base` for incremental MIDX writes
1049
- - midx: introduce `--no-write-chain-file` for incremental MIDX writes
1050
- - midx: use `strvec` for `keep_hashes`
1051
- - midx: build `keep_hashes` array in order
1052
- - midx: use `strset` for retained MIDX files
1053
- - midx-write: handle noop writes when converting incremental chains
957
+ (merged to 'next' on 2026-05-21 at 6c11c1a739)
958
+ + repack: allow `--write-midx=incremental` without `--geometric`
959
+ + repack: introduce `--write-midx=incremental`
960
+ + repack: implement incremental MIDX repacking
961
+ + packfile: ensure `close_pack_revindex()` frees in-memory revindex
962
+ + builtin/repack.c: convert `--write-midx` to an `OPT_CALLBACK`
963
+ + repack-geometry: prepare for incremental MIDX repacking
964
+ + repack-midx: extract `repack_fill_midx_stdin_packs()`
965
+ + repack-midx: factor out `repack_prepare_midx_command()`
966
+ + midx: expose `midx_layer_contains_pack()`
967
+ + repack: track the ODB source via existing_packs
968
+ + midx: support custom `--base` for incremental MIDX writes
969
+ + midx: introduce `--no-write-chain-file` for incremental MIDX writes
970
+ + midx: use `strvec` for `keep_hashes`
971
+ + midx: build `keep_hashes` array in order
972
+ + midx: use `strset` for retained MIDX files
973
+ + midx-write: handle noop writes when converting incremental chains
974
975
The repacking code has been refactored and compaction of MIDX layers
976
have been implemented, and incremental strategy that does not require
977
all-into-one repacking has been introduced.
978
1059
- Will merge to 'next'.
979
+ Will merge to 'master'.
980
source: <cover.1779206239.git.me@ttaylorr.com>
981
982
@@ -1073,29 +993,31 @@ Release tarballs are available at:
993
994
995
* ps/setup-wo-the-repository (2026-05-19) 18 commits
1076
- - setup: stop using `the_repository` in `init_db()`
1077
- - setup: stop using `the_repository` in `create_reference_database()`
1078
- - setup: stop using `the_repository` in `initialize_repository_version()`
1079
- - setup: stop using `the_repository` in `check_repository_format()`
1080
- - setup: stop using `the_repository` in `upgrade_repository_format()`
1081
- - setup: stop using `the_repository` in `setup_git_directory()`
1082
- - setup: stop using `the_repository` in `setup_git_directory_gently()`
1083
- - setup: stop using `the_repository` in `setup_git_env()`
1084
- - setup: stop using `the_repository` in `set_git_work_tree()`
1085
- - setup: stop using `the_repository` in `setup_work_tree()`
1086
- - setup: stop using `the_repository` in `enter_repo()`
1087
- - setup: stop using `the_repository` in `verify_non_filename()`
1088
- - setup: stop using `the_repository` in `verify_filename()`
1089
- - setup: stop using `the_repository` in `path_inside_repo()`
1090
- - setup: stop using `the_repository` in `prefix_path()`
1091
- - setup: stop using `the_repository` in `is_inside_work_tree()`
1092
- - setup: stop using `the_repository` in `is_inside_git_dir()`
1093
- - setup: replace use of `the_repository` in static functions
996
+ (merged to 'next' on 2026-05-21 at d8fb5a7b3e)
997
+ + setup: stop using `the_repository` in `init_db()`
998
+ + setup: stop using `the_repository` in `create_reference_database()`
999
+ + setup: stop using `the_repository` in `initialize_repository_version()`
1000
+ + setup: stop using `the_repository` in `check_repository_format()`
1001
+ + setup: stop using `the_repository` in `upgrade_repository_format()`
1002
+ + setup: stop using `the_repository` in `setup_git_directory()`
1003
+ + setup: stop using `the_repository` in `setup_git_directory_gently()`
1004
+ + setup: stop using `the_repository` in `setup_git_env()`
1005
+ + setup: stop using `the_repository` in `set_git_work_tree()`
1006
+ + setup: stop using `the_repository` in `setup_work_tree()`
1007
+ + setup: stop using `the_repository` in `enter_repo()`
1008
+ + setup: stop using `the_repository` in `verify_non_filename()`
1009
+ + setup: stop using `the_repository` in `verify_filename()`
1010
+ + setup: stop using `the_repository` in `path_inside_repo()`
1011
+ + setup: stop using `the_repository` in `prefix_path()`
1012
+ + setup: stop using `the_repository` in `is_inside_work_tree()`
1013
+ + setup: stop using `the_repository` in `is_inside_git_dir()`
1014
+ + setup: replace use of `the_repository` in static functions
1015
+ (this branch is used by ps/setup-centralize-odb-creation.)
1016
1017
Many uses of the_repository has been updated to use a more
1018
appropriate struct repository instance in setup.c codepath.
1019
1098
- Will merge to 'next'?
1020
+ Will merge to 'master'.
1021
source: <20260519-pks-setup-wo-the-repository-v3-0-a00d8ea8b07f@pks.im>
1022
1023
@@ -1118,28 +1040,30 @@ Release tarballs are available at:
1040
1041
1042
* ps/graph-lane-limit (2026-03-27) 3 commits
1121
- - graph: add truncation mark to capped lanes
1122
- - graph: add --graph-lane-limit option
1123
- - graph: limit the graph width to a hard-coded max
1043
+ (merged to 'next' on 2026-05-22 at ca1c5e8432)
1044
+ + graph: add truncation mark to capped lanes
1045
+ + graph: add --graph-lane-limit option
1046
+ + graph: limit the graph width to a hard-coded max
1047
1048
The graph output from commands like "git log --graph" can now be
1049
limited to a specified number of lanes, preventing overly wide output
1050
in repositories with many branches.
1051
1129
- Will merge to 'next'?
1052
+ Will merge to 'master'.
1053
cf. <bdff0a5d-b738-4053-9b72-08eba88156de@kdbg.org>
1054
source: <20260328001113.1275291-1-pabloosabaterr@gmail.com>
1055
1056
1057
* jr/bisect-custom-terms-in-output (2026-05-14) 3 commits
1135
- - rev-parse: use selected alternate terms to look up refs
1136
- - bisect: print bisect terms in single quotes
1137
- - bisect: use selected alternate terms in status output
1058
+ (merged to 'next' on 2026-05-22 at 1ccd1056c9)
1059
+ + rev-parse: use selected alternate terms to look up refs
1060
+ + bisect: print bisect terms in single quotes
1061
+ + bisect: use selected alternate terms in status output
1062
1063
"git bisect" now uses the selected terms (e.g., old/new) more
1064
consistently in its output.
1065
1142
- Will merge to 'next'?
1066
+ Will merge to 'master'.
1067
source: <20260514-bisect-terms-v4-0-b3e3cf1b06ce@schlaraffenlan.de>
1068
1069
@@ -1201,37 +1125,23 @@ Release tarballs are available at:
1125
1126
1127
* pt/fsmonitor-linux (2026-04-15) 13 commits
1204
- - fsmonitor: convert shown khash to strset in do_handle_client
1205
- - fsmonitor: add tests for Linux
1206
- - fsmonitor: add timeout to daemon stop command
1207
- - fsmonitor: close inherited file descriptors and detach in daemon
1208
- - run-command: add close_fd_above_stderr option
1209
- - fsmonitor: implement filesystem change listener for Linux
1210
- - fsmonitor: rename fsm-settings-darwin.c to fsm-settings-unix.c
1211
- - fsmonitor: rename fsm-ipc-darwin.c to fsm-ipc-unix.c
1212
- - fsmonitor: use pthread_cond_timedwait for cookie wait
1213
- - compat/win32: add pthread_cond_timedwait
1214
- - fsmonitor: fix hashmap memory leak in fsmonitor_run_daemon
1215
- - fsmonitor: fix khash memory leak in do_handle_client
1216
- - t9210, t9211: disable GIT_TEST_SPLIT_INDEX for scalar clone tests
1128
+ (merged to 'next' on 2026-05-22 at 5d99c1765d)
1129
+ + fsmonitor: convert shown khash to strset in do_handle_client
1130
+ + fsmonitor: add tests for Linux
1131
+ + fsmonitor: add timeout to daemon stop command
1132
+ + fsmonitor: close inherited file descriptors and detach in daemon
1133
+ + run-command: add close_fd_above_stderr option
1134
+ + fsmonitor: implement filesystem change listener for Linux
1135
+ + fsmonitor: rename fsm-settings-darwin.c to fsm-settings-unix.c
1136
+ + fsmonitor: rename fsm-ipc-darwin.c to fsm-ipc-unix.c
1137
+ + fsmonitor: use pthread_cond_timedwait for cookie wait
1138
+ + compat/win32: add pthread_cond_timedwait
1139
+ + fsmonitor: fix hashmap memory leak in fsmonitor_run_daemon
1140
+ + fsmonitor: fix khash memory leak in do_handle_client
1141
+ + t9210, t9211: disable GIT_TEST_SPLIT_INDEX for scalar clone tests
1142
1143
The fsmonitor daemon has been implemented for Linux.
1144
1220
- Will merge to 'next'?
1145
+ Will merge to 'master'.
1146
cf. <xmqqa4u5nnxq.fsf@gitster.g>
1147
source: <pull.2147.v15.git.git.1776259657.gitgitgadget@gmail.com>
1223
-
1224
-
1225
-* pw/xdiff-shrink-memory-consumption (2026-05-04) 5 commits
1226
- (merged to 'next' on 2026-05-15 at 7a867909d2)
1227
- + xdiff: reduce the size of array
1228
- + xprepare: simplify error handling
1229
- + xdiff: cleanup xdl_clean_mmatch()
1230
- + xdiff: reduce size of action arrays
1231
- + Merge branch 'en/xdiff-cleanup-3' into pw/xdiff-shrink-memory-consumption
1232
-
1233
- Shrink wasted memory in Myers diff that does not account for common
1234
- prefix and suffix removal.
1235
-
1236
- Will merge to 'master'.
1237
- source: <cover.1777903579.git.phillip.wood@dunelm.org.uk>