What's cooking (2026/03 #06)
Junio C Hamano committed
Mar 16, 2026 at 14:20 UTC
d43829ac0897d3aeda22442abfc316c609880ccf
1 file changed
+373
-444
whats-cooking.txt
+373
-444
@@ -1,28 +1,26 @@
1
To: git@vger.kernel.org
2
-Subject: What's cooking in git.git (Mar 2026, #05)
3
-X-master-at: 67006b9db8b772423ad0706029286096307d2567
4
-X-next-at: b56d9408899cd3ebad81ec931f4a5c4c9138ecb8
2
+Subject: What's cooking in git.git (Mar 2026, #06)
3
+X-master-at: ca1db8a0f7dc0dbea892e99f5b37c5fe5861be71
4
+X-next-at: 0bb29b3bc592338d0db506b4bb84c8f3f11e7095
5
Bcc: lwn@lwn.net, gitster@pobox.com
6
7
-What's cooking in git.git (Mar 2026, #05)
7
+What's cooking in git.git (Mar 2026, #06)
8
-----------------------------------------
9
10
Here are the topics that have been cooking in my tree. Commits
11
prefixed with '+' are in 'next' (being in 'next' is a sign that a
12
-topic is stable enough to be used and are candidate to be in a
12
+topic is stable enough to be used and is a candidate to be in a
13
future release). Commits prefixed with '-' are only in 'seen', and
14
-aren't considered "accepted" at all and may be annotated with an URL
15
-to a message that raises issues but they are no means exhaustive. A
16
-topic without enough support may be discarded after a long period of
17
-no activity (of course they can be resubmit when new interests
14
+aren't considered "accepted" at all and may be annotated with a URL
15
+to a message that raises issues but they are by no means exhaustive.
16
+A topic without enough support may be discarded after a long period
17
+of no activity (of course they can be resubmitted when new interests
18
arise).
19
20
Copies of the source code to Git live in many repositories, and the
21
following is a list of the ones I push into or their mirrors. Some
22
repositories have only a subset of branches.
23
24
-We will be rewinding the tip of 'next' soonish.
25
-
24
With maint, master, next, seen, todo:
25
26
git://git.kernel.org/pub/scm/git/git.git/
@@ -50,276 +48,361 @@ Release tarballs are available at:
48
--------------------------------------------------
49
[Graduated to 'master']
50
53
-* ag/send-email-sasl-with-host-port (2026-03-05) 1 commit
54
- (merged to 'next' on 2026-03-06 at a773196f56)
55
- + send-email: pass smtp hostname and port to Authen::SASL
56
-
57
- "git send-email" learns to pass hostname/port to Authen::SASL
58
- module.
59
- source: <MAUPR01MB1154634CC04D29AAF7CADE5F7B87DA@MAUPR01MB11546.INDPRD01.PROD.OUTLOOK.COM>
60
-
61
-
62
-* ar/config-hooks (2026-03-02) 10 commits
63
- (merged to 'next' on 2026-03-03 at 5a4be22ab6)
64
- + Merge branch 'ar/run-command-hook-take-2' into ar/config-hooks
65
- (merged to 'next' on 2026-02-27 at 6a04cca28e)
66
- + hook: add -z option to "git hook list"
67
- + hook: allow out-of-repo 'git hook' invocations
68
- + hook: allow event = "" to overwrite previous values
69
- + hook: allow disabling config hooks
70
- + hook: include hooks from the config
71
- + hook: add "git hook list" command
72
- + hook: run a list of hooks to prepare for multihook support
73
- + hook: add internal state alloc/free callbacks
74
- + Merge branch 'ar/run-command-hook-take-2' into ar/config-hooks
75
- (this branch is used by ar/config-hook-cleanups and ar/parallel-hooks.)
76
-
77
- Allow hook commands to be defined (possibly centrally) in the
78
- configuration files, and run multiple of them for the same hook
79
- event.
80
- source: <20260218222352.55393-1-adrian.ratiu@collabora.com>
81
-
82
-
83
-* bc/sha1-256-interop-02 (2026-02-07) 16 commits
84
- (merged to 'next' on 2026-03-04 at 99dc92c08e)
85
- + object-file-convert: always make sure object ID algo is valid
86
- + rust: add a small wrapper around the hashfile code
87
- + rust: add a new binary object map format
88
- + rust: add functionality to hash an object
89
- + rust: add a build.rs script for tests
90
- + rust: fix linking binaries with cargo
91
- + hash: expose hash context functions to Rust
92
- + write-or-die: add an fsync component for the object map
93
- + csum-file: define hashwrite's count as a uint32_t
94
- + rust: add additional helpers for ObjectID
95
- + hash: add a function to look up hash algo structs
96
- + rust: add a hash algorithm abstraction
97
- + rust: add a ObjectID struct
98
- + hash: use uint32_t for object_id algorithm
99
- + conversion: don't crash when no destination algo
100
- + repository: require Rust support for interoperability
101
-
102
- The code to maintain mapping between object names in multiple hash
103
- functions is being added, written in Rust.
104
- source: <20260207200446.2837699-1-sandals@crustytoothpaste.net>
105
-
106
-
107
-* dt/send-email-client-cert (2026-03-01) 1 commit
108
- (merged to 'next' on 2026-03-06 at 2a47df2166)
109
- + send-email: add client certificate options
110
-
111
- "git send-email" learns to support use of client-side certificates.
112
- source: <20260302032048.260209-2-dxdt@dev.snart.me>
113
-
114
-
115
-* fp/t3310-test-path-is-helpers (2026-02-27) 1 commit
116
- (merged to 'next' on 2026-03-03 at c01b2c73d8)
117
- + t3310: replace test -f/-d with test_path_is_file/test_path_is_dir
51
+* ds/for-each-repo-w-worktree (2026-03-03) 4 commits
52
+ (merged to 'next' on 2026-03-06 at 3886f0d054)
53
+ + for-each-repo: simplify passing of parameters
54
+ + for-each-repo: work correctly in a worktree
55
+ + run-command: extract sanitize_repo_env helper
56
+ + for-each-repo: test outside of repo context
57
119
- Test clean-up.
120
- source: <20260228005939.9012-1-francescopaparatto@gmail.com>
58
+ "git for-each-repo" started from a secondary worktree did not work
59
+ as expected, which has been corrected.
60
+ source: <pull.2056.v4.git.1772559114.gitgitgadget@gmail.com>
61
62
123
-* jh/alias-i18n-fixes (2026-03-03) 5 commits
124
- (merged to 'next' on 2026-03-03 at d4347fab01)
125
- + doc: fix list continuation in alias.adoc
126
- (merged to 'next' on 2026-03-02 at 914bcef227)
127
- + git, help: fix memory leaks in alias listing
128
- + alias: treat empty subsection [alias ""] as plain [alias]
129
- + doc: fix list continuation in alias subsection example
130
- + Merge branch 'jh/alias-i18n' into jh/alias-i18n-fixes
63
+* fp/t3310-unhide-git-failures (2026-03-07) 1 commit
64
+ (merged to 'next' on 2026-03-09 at edd6c35bb8)
65
+ + t3310: avoid hiding failures from rev-parse in command substitutions
66
132
- Further update to the i18n alias support to avoid regressions.
133
- source: <20260226205339.1535482-1-jonatan@jontes.page>
134
- source: <20260303151238.1000191-1-jonatan@jontes.page>
67
+ The construct 'test "$(command)" = expectation' loses the exit
68
+ status from the command, which has been fixed by breaking up the
69
+ statement into pieces.
70
+ source: <20260307103631.89829-1-francescopaparatto@gmail.com>
71
72
137
-* jt/doc-submitting-patches-study-before-sending (2026-03-05) 1 commit
138
- (merged to 'next' on 2026-03-06 at 222151114c)
139
- + Documentation: extend guidance for submitting patches
73
+* hn/status-compare-with-push (2026-03-04) 4 commits
74
+ (merged to 'next' on 2026-03-06 at 7c5ad405d7)
75
+ + status: clarify how status.compareBranches deduplicates
76
+ (merged to 'next' on 2026-02-26 at 1c11b8819a)
77
+ + status: add status.compareBranches config for multiple branch comparisons
78
+ + refactor format_branch_comparison in preparation
79
+ + Merge branch 'jk/remote-tracking-ref-leakfix' into hn/status-compare-with-push
80
141
- Doc update for our contributors.
142
- source: <20260305193836.973122-1-jltobler@gmail.com>
81
+ "git status" learned to show comparison between the current branch
82
+ and various other branches listed on status.compareBranches
83
+ configuration.
84
+ source: <pull.2138.v30.git.git.1772102022.gitgitgadget@gmail.com>
85
+ source: <pull.2138.v31.git.git.1772627131.gitgitgadget@gmail.com>
86
87
145
-* kh/format-patch-noprefix-is-boolean (2026-03-01) 3 commits
146
- (merged to 'next' on 2026-03-03 at 54bc051969)
147
- + doc: diff-options.adoc: make *.noprefix split translatable
148
- (merged to 'next' on 2026-02-26 at fcf4773929)
149
- + doc: diff-options.adoc: show format.noprefix for format-patch
150
- + format-patch: make format.noprefix a boolean
88
+* jk/unleak-mmap (2026-03-06) 6 commits
89
+ (merged to 'next' on 2026-03-10 at e169ff00b3)
90
+ + meson: turn on NO_MMAP when building with LSan
91
+ + Makefile: turn on NO_MMAP when building with LSan
92
+ + object-file: fix mmap() leak in odb_source_loose_read_object_stream()
93
+ + pack-revindex: avoid double-loading .rev files
94
+ + check_connected(): fix leak of pack-index mmap
95
+ + check_connected(): delay opening new_pack
96
152
- The configuration variable format.noprefix did not behave as a
153
- proper boolean variable, which has now been fixed and documented.
154
- source: <V2_CV_format.noprefix_boolean.421@msgid.xyz>
155
- source: <better_for_translators.424@msgid.xyz>
97
+ Plug a few leaks where mmap'ed memory regions are not unmapped.
98
+ source: <20260305230315.GA2354983@coredump.intra.peff.net>
99
+ source: <796110ee-d795-4445-9d82-7026370a88cf@intel.com>
100
+ source: <20260307022459.GA693632@coredump.intra.peff.net>
101
102
158
-* kj/path-micro-code-cleanup (2026-03-04) 3 commits
159
- (merged to 'next' on 2026-03-04 at 569091027c)
160
- + path: remove redundant function calls
161
- + path: use size_t for dir_prefix length
162
- + path: remove unused header
103
+* jt/repo-structure-extrema (2026-03-02) 6 commits
104
+ (merged to 'next' on 2026-03-09 at 8ccfebc0b1)
105
+ + builtin/repo: find tree with most entries
106
+ + builtin/repo: find commit with most parents
107
+ + builtin/repo: add OID annotations to table output
108
+ + builtin/repo: collect largest inflated objects
109
+ + builtin/repo: add helper for printing keyvalue output
110
+ + builtin/repo: update stats for each object
111
164
- Code clean-up.
165
- source: <20260304130502.8475-1-jayatheerthkulkarni2005@gmail.com>
112
+ "git repo structure" command learns to report maximum values on
113
+ various aspects of objects it inspects.
114
+ source: <20260302214526.2034279-1-jltobler@gmail.com>
115
116
168
-* lp/doc-gitprotocol-pack-fixes (2026-03-02) 3 commits
169
- (merged to 'next' on 2026-03-04 at 7fb5fdd8af)
170
- + doc: gitprotocol-pack: normalize italic formatting
171
- + doc: gitprotocol-pack: improve paragraphs structure
172
- + doc: gitprotocol-pack: fix pronoun-antecedent agreement
117
+* os/doc-git-custom-commands (2026-03-07) 1 commit
118
+ (merged to 'next' on 2026-03-09 at 5cabe3db39)
119
+ + doc: make it easier to find custom command information
120
121
Doc update.
175
- source: <cover.1772502209.git.lorenzo.pegorari2002@gmail.com>
122
+ source: <pull.2225.git.git.1772903281929.gitgitgadget@gmail.com>
123
+
124
+
125
+* ps/odb-sources (2026-03-05) 19 commits
126
+ (merged to 'next' on 2026-03-06 at 69fd3b792a)
127
+ + odb/source: make `begin_transaction()` function pluggable
128
+ + odb/source: make `write_alternate()` function pluggable
129
+ + odb/source: make `read_alternates()` function pluggable
130
+ + odb/source: make `write_object_stream()` function pluggable
131
+ + odb/source: make `write_object()` function pluggable
132
+ + odb/source: make `freshen_object()` function pluggable
133
+ + odb/source: make `for_each_object()` function pluggable
134
+ + odb/source: make `read_object_stream()` function pluggable
135
+ + odb/source: make `read_object_info()` function pluggable
136
+ + odb/source: make `close()` function pluggable
137
+ + odb/source: make `reprepare()` function pluggable
138
+ + odb/source: make `free()` function pluggable
139
+ + odb/source: introduce source type for robustness
140
+ + odb: move reparenting logic into respective subsystems
141
+ + odb: embed base source in the "files" backend
142
+ + odb: introduce "files" source
143
+ + odb: split `struct odb_source` into separate header
144
+ + Merge branch 'ps/object-info-bits-cleanup' into ps/odb-sources
145
+ + Merge branch 'ps/odb-for-each-object' into ps/odb-sources
146
+ (this branch is used by ps/object-counting.)
147
+
148
+ The object source API is getting restructured to allow plugging new
149
+ backends.
150
+ source: <20260305-b4-pks-odb-source-pluggable-v2-0-3290bfd1f444@pks.im>
151
+
152
+
153
+* rs/history-ergonomics-updates-fix (2026-03-08) 1 commit
154
+ (merged to 'next' on 2026-03-10 at 7d58650290)
155
+ + history: initialize rev_info in cmd_history_reword()
156
+
157
+ Fix use of uninitialized variable.
158
+ source: <b0b8633f-be95-48eb-8244-d0e3f1a7be72@web.de>
159
+
160
161
+* sp/wt-status-wo-the-repository (2026-02-18) 3 commits
162
+ (merged to 'next' on 2026-03-09 at 2e99d5ed52)
163
+ + wt-status: use hash_algo from local repository instead of global the_hash_algo
164
+ + wt-status: replace uses of the_repository with local repository instances
165
+ + wt-status: pass struct repository through function parameters
166
+
167
+ Reduce dependence on the global the_hash_algo and the_repository
168
+ variables of wt-status code path.
169
+ source: <20260218175654.66004-1-shreyanshpaliwalcmsmn@gmail.com>
170
+
171
+
172
+* ty/patch-ids-document-lazy-eval (2026-03-08) 1 commit
173
+ (merged to 'next' on 2026-03-10 at c8be8d6f7e)
174
+ + patch-ids: document intentional const-casting in patch_id_neq()
175
+
176
+ In-code comment update to record a design decision to allow lazy
177
+ computation of patch IDs.
178
+ source: <20260309065140.108644-1-cat@malon.dev>
179
+
180
+
181
+* ty/setup-error-tightening (2026-03-04) 1 commit
182
+ (merged to 'next' on 2026-03-10 at 38268a7acc)
183
+ + setup: improve error diagnosis for invalid .git files
184
+
185
+ While discovering a ".git" directory, the code treats any stat()
186
+ failure as a sign that a filesystem entity .git does not exist
187
+ there, and ignores ".git" that is not a "gitdir" file or a
188
+ directory. The code has been tightened to notice and report
189
+ filesystem corruption better.
190
+ source: <20260304141526.37764-1-a3205153416@gmail.com>
191
+
192
+--------------------------------------------------
193
+[New Topics]
194
+
195
+* aa/reap-transport-child-processes (2026-03-12) 1 commit
196
+ - transport-helper, connect: use clean_on_exit to reap children on abnormal exit
197
+
198
+ A few code paths that spawned child processes for network
199
+ connection weren't wait(2)ing for their children and letting "init"
200
+ reap them instead; they have been tightened.
201
+
202
+ Will merge to 'next'?
203
+ source: <20260312214945.4050010-1-cshung@gmail.com>
204
+
205
+
206
+* ss/t0410-delete-object-cleanup (2026-03-12) 1 commit
207
+ - t0410: modernize delete_object helper
208
178
-* mm/diff-no-index-find-object (2026-02-28) 1 commit
179
- (merged to 'next' on 2026-03-03 at fcff548ddb)
180
- + diff: fix crash with --find-object outside repository
209
+ Test clean-up.
210
+
211
+ Will merge to 'next'.
212
+ source: <20260313025852.30010-1-r.siddharth.shrimali@gmail.com>
213
182
- "git diff --no-index --find-object=<object-name>" outside a
183
- repository of course wouldn't be able to find the object and died
184
- while parsing the command line, which is made to die in a bit more
185
- user-friendly way.
186
- source: <pull.2057.git.1772310676438.gitgitgadget@gmail.com>
214
215
+* ej/ref-transaction-hook-preparing (2026-03-15) 1 commit
216
+ - refs: add 'preparing' phase to the reference-transaction hook
217
189
-* os/doc-custom-subcommand-on-path (2026-03-04) 1 commit
190
- (merged to 'next' on 2026-03-05 at 661cc235ae)
191
- + doc: add information regarding external commands
218
+ The reference-transaction hook was taught to be triggered before
219
+ taking locks on references in the "preparing" phase.
220
193
- The way end-users can add their own "git <cmd>" subcommand by
194
- storing "git-<cmd>" in a directory on their $PATH has not been
195
- documented clearly, which has been corrected.
196
- source: <pull.2220.v4.git.git.1772636614850.gitgitgadget@gmail.com>
221
+ Comments?
222
+ source: <20260316045102.70551-2-eric.peijian@gmail.com>
223
224
199
-* ps/ci-gitlab-prepare-for-macos-14-deprecation (2026-03-05) 3 commits
200
- (merged to 'next' on 2026-03-06 at 60b308a43b)
201
- + gitlab-ci: update to macOS 15 images
202
- + meson: detect broken iconv that requires ICONV_RESTART_RESET
203
- + meson: simplify iconv-emits-BOM check
225
+* hn/git-checkout-m-with-stash (2026-03-15) 4 commits
226
+ - checkout: -m (--merge) uses autostash when switching branches
227
+ - sequencer: teach autostash apply to take optional conflict marker labels
228
+ - sequencer: allow create_autostash to run silently
229
+ - stash: add --ours-label, --theirs-label, --base-label for apply
230
205
- Move gitlab CI from macOS 14 images that are being deprecated.
206
- source: <20260305-pks-gitlab-ci-macos-16-v1-0-ce8da0ff29c2@pks.im>
231
+ "git checkout -m another-branch" was invented to deal with local
232
+ changes to paths that are different between the current and the new
233
+ branch, but it gave only one chance to resolve conflicts. The command
234
+ was taught to create a stash to save the local changes.
235
236
+ Needs review.
237
+ source: <pull.2234.v5.git.git.1773573553.gitgitgadget@gmail.com>
238
209
-* ps/ci-reduce-gitlab-envsize (2026-03-02) 1 commit
210
- (merged to 'next' on 2026-03-03 at e2d1e47015)
211
- + ci: unset GITLAB_FEATURES envvar to not bust xargs(1) limits
239
213
- CI fix.
214
- source: <20260302-pks-msvc-meson-xargs-v1-1-8e42abd879ce@pks.im>
240
+* kh/name-rev-custom-format (2026-03-13) 2 commits
241
+ - name-rev: learn --format=<pretty>
242
+ - name-rev: wrap both blocks in braces
243
244
+ "git name-rev" learned to use custom format instead of the object
245
+ name in an extended SHA-1 expression form.
246
217
-* pt/fsmonitor-watchman-sample-fix (2026-02-28) 1 commit
218
- (merged to 'next' on 2026-03-03 at b899c2b411)
219
- + fsmonitor-watchman: fix variable reference and remove redundant code
247
+ Expecting review responses.
248
+ cf. <xmqq8qbvz2dm.fsf@gitster.g>
249
+ source: <CV_name-rev_--format.4ad@msgid.xyz>
250
221
- Fix typo-induced breakages in fsmonitor-watchman sample hook.
222
- source: <pull.2180.v2.git.git.1772300277959.gitgitgadget@gmail.com>
251
252
+* pw/worktree-reduce-the-repository (2026-03-15) 3 commits
253
+ - worktree: reject NULL worktree in get_worktree_git_dir()
254
+ - worktree add: stop reading ".git/HEAD"
255
+ - worktree: remove "the_repository" from is_current_worktree()
256
225
-* rs/parse-options-duplicated-long-options (2026-02-28) 2 commits
226
- (merged to 'next' on 2026-03-03 at 70cbc2ea97)
227
- + parseopt: check for duplicate long names and numerical options
228
- + pack-objects: remove duplicate --stdin-packs definition
257
+ Reduce the reference to the_repository in the worktree subsystem.
258
230
- The parse-options API learned to notice an options[] array with
231
- duplicated long options.
232
- source: <1e7de0f7-a712-465f-b3c9-5dbe78132d3f@web.de>
233
- source: <7693799a-91a2-480a-ae3e-29f8eed5b55a@web.de>
259
+ Expecting review responses.
260
+ cf. <abezeNELL9SU8v82@pks.im>
261
+ source: <cover.1773591528.git.phillip.wood@dunelm.org.uk>
262
263
236
-* sk/oidmap-clear-with-custom-free-func (2026-03-05) 2 commits
237
- (merged to 'next' on 2026-03-06 at e335861c57)
238
- + builtin/rev-list: migrate missing_objects cleanup to oidmap_clear_with_free()
239
- + oidmap: make entry cleanup explicit in oidmap_clear
264
+* dd/cocci-do-not-pass-strbuf-by-value (2026-03-15) 3 commits
265
+ - stash: do not pass strbuf by value
266
+ - coccinelle: detect struct strbuf passed by value
267
+ - Merge branch 'dd/list-objects-filter-options-wo-strbuf-split' into dd/cocci-do-not-pass-strbuf-by-value
268
+ (this branch uses dd/list-objects-filter-options-wo-strbuf-split.)
269
241
- A bit of OIDmap API enhancement and cleanup.
242
- source: <20260305100526.102130-1-kuforiji98@gmail.com>
270
+ Add a coccinelle rule to break the build when "struct strbuf" gets
271
+ passed by value.
272
273
+ Will merge to 'next'?
274
+ source: <20260315094445.19849-1-deveshigurgaon@gmail.com>
275
245
-* sp/send-email-validate-charset (2026-02-28) 1 commit
246
- (merged to 'next' on 2026-03-06 at a537e3e6e9)
247
- + send-email: validate charset name in 8bit encoding prompt
276
249
- "git send-email" has learned to be a bit more careful when it
250
- accepts charset to use from the end-user, to avoid 'y' (mistaken
251
- 'yes' when expecting a charset like 'UTF-8') and other nonsense.
252
- source: <20260228112210.270273-1-shreyanshpaliwalcmsmn@gmail.com>
277
+* gj/user-manual-fix-grep-example (2026-03-16) 1 commit
278
+ - doc: fix git grep args order in Quick Reference
279
280
+ Fix an example in the user-manual.
281
255
-* ss/t3700-modernize (2026-03-03) 2 commits
256
- (merged to 'next' on 2026-03-05 at 23ff16a16f)
257
- + t3700: use test_grep helper for better diagnostics
258
- + t3700: avoid suppressing git's exit code
259
- Test clean-up.
282
+ Will merge to 'next'.
283
+ source: <pull.2069.git.1773670536808.gitgitgadget@gmail.com>
284
261
- source: <20260303204029.52952-1-r.siddharth.shrimali@gmail.com>
285
286
+* jk/transport-color-leakfix (2026-03-14) 1 commit
287
+ - transport: plug leaks in transport_color_config()
288
264
-* ss/t9123-setup-inside-test-expect-success (2026-03-05) 1 commit
265
- (merged to 'next' on 2026-03-06 at 607e206418)
266
- + t9123: use test_when_finished for cleanup
289
+ Leakfix.
290
+
291
+ Will merge to 'next'.
292
+ source: <20260314160814.GA918806@coredump.intra.peff.net>
293
+
294
+
295
+* jw/apply-corrupt-location (2026-03-16) 1 commit
296
+ - apply: report the location of corrupt patches
297
+
298
+ "git apply" now reports the name of the input file along with the
299
+ line number when it encounters a corrupt patch, and correctly
300
+ resets the line counter when processing multiple patch files.
301
+
302
+ Expecting review responses.
303
+ source: <20260316113459.77794-1-jerrywang183@yahoo.com>
304
+
305
+
306
+* ps/clar-wo-path-max (2026-03-16) 1 commit
307
+ - clar: update to fix compilation on platforms without PATH_MAX
308
+
309
+ Clar (unit testing framework) update from the upstream.
310
+
311
+ Will merge to 'next'.
312
+ source: <20260316-b4-pks-clar-without-path-max-v1-1-40b4bc91fdc0@pks.im>
313
+
314
+
315
+* rj/pack-refs-tests-path-is-helpers (2026-03-15) 1 commit
316
+ - t/pack-refs-tests: use test_path_is_missing
317
+
318
+ Test updates.
319
+
320
+ Will merge to 'next'.
321
+ source: <20260315081032.497-1-riteshjd75@gmail.com>
322
+
323
+
324
+* mf/format-patch-commit-list-format (2026-03-14) 8 commits
325
+ - format-patch: --commit-list-format without prefix
326
+ - format-patch: add preset for --commit-list-format
327
+ - format-patch: wrap generate_commit_list_cover()
328
+ - format.commitListFormat: strip meaning from empty
329
+ - format-patch: rename --cover-letter-format option
330
+ - format-patch: refactor generate_commit_list_cover
331
+ - pretty.c: better die message %(count) and %(total)
332
+ - Merge branch 'mf/format-patch-cover-letter-format' into mf/format-patch-commit-list-format
333
+ (this branch uses mf/format-patch-cover-letter-format.)
334
+
335
+ Improve the recently introduced `git format-patch
336
+ --commit-list-format` (formerly `--cover-letter-format`) option,
337
+ including a new "modern" preset and better CLI ergonomics.
338
+
339
+ Needs review.
340
+ source: <cover.1773530191.git.mroik@delayed.space>
341
+
342
+
343
+* mf/t0008-cleanup (2026-03-15) 1 commit
344
+ - t0008: improve test cleanup to fix failing test
345
346
Test clean-up.
269
- source: <20260305125408.16958-1-r.siddharth.shrimali@gmail.com>
347
348
+ Will merge to 'next'.
349
+ source: <20260316011544.13825-1-mroik@delayed.space>
350
272
-* ss/test-that-that-typofix (2026-03-02) 1 commit
273
- (merged to 'next' on 2026-03-03 at 1224b73913)
274
- + t: fix "that that" typo in lib-unicode-nfc-nfd.sh
351
276
- Typofix in t/.
277
- source: <20260302192627.83631-1-r.siddharth.shrimali@gmail.com>
352
+* pb/t4200-test-path-is-helpers (2026-03-16) 1 commit
353
+ - t4200: convert test -[df] checks to test_path_* helpers
354
+
355
+ Test clean-up.
356
+
357
+ Will merge to 'next'.
358
+ source: <20260316172457.38242-1-prashantjee2025@gmail.com>
359
360
--------------------------------------------------
280
-[New Topics]
361
+[Cooking]
362
282
-* js/parseopt-subcommand-autocorrection (2026-03-11) 9 commits
283
- - SQUASH???
284
- - help: add tests for subcommand autocorrection
363
+* js/parseopt-subcommand-autocorrection (2026-03-16) 10 commits
364
+ - doc: document autocorrect API
365
+ - parseopt: add tests for subcommand autocorrection
366
- parseopt: enable subcommand autocorrection for git-remote and git-notes
367
- parseopt: autocorrect mistyped subcommands
368
- autocorrect: provide config resolution API
288
- - autocorrect: rename AUTOCORRECT_SHOW to AUTOCORRECT_HINTONLY
369
+ - autocorrect: rename AUTOCORRECT_SHOW to AUTOCORRECT_HINT
370
+ - autocorrect: use mode and delay instead of magic numbers
371
- help: move tty check for autocorrection to autocorrect.c
372
- help: make autocorrect handling reusable
373
- parseopt: extract subcommand handling from parse_options_step()
374
293
- The parse-options library learned to auto-correct misspelt
294
- subcommand name.
375
+ The parse-options library learned to auto-correct misspelled
376
+ subcommand names.
377
296
- Needs review.
297
- source: <SY0P300MB0801C6F21C2D8F49892DF8E7CE46A@SY0P300MB0801.AUSP300.PROD.OUTLOOK.COM>
378
+ Expecting review responses.
379
+ cf. <xmqqse9zo93p.fsf@gitster.g>
380
+ source: <SY0P300MB080186A23FB9582AD793F0D1CE40A@SY0P300MB0801.AUSP300.PROD.OUTLOOK.COM>
381
382
300
-* jt/fast-import-sign-again (2026-03-11) 3 commits
383
+* jt/fast-import-sign-again (2026-03-12) 3 commits
384
- fast-import: add mode to sign commits with invalid signatures
302
- - gpg-interface: introduce sign_buffer_with_key()
385
+ - gpg-interface: allow sign_buffer() to use default signing key
386
- commit: remove unused forward declaration
387
388
"git fast-import" learned to optionally replace signature on
306
- commits whose signature gets invalidated due to replaying by
389
+ commits whose signatures get invalidated due to replaying by
390
signing afresh.
391
309
- Will merge to 'next'?
310
- source: <20260311173147.2336432-1-jltobler@gmail.com>
392
+ Will merge to 'next'.
393
+ source: <20260313013938.2742124-1-jltobler@gmail.com>
394
395
313
-* mf/apply-p-no-atoi (2026-03-09) 1 commit
396
+* mf/apply-p-no-atoi (2026-03-15) 1 commit
397
- apply.c: fix -p argument parsing
398
399
"git apply -p<n>" parses <n> more carefully now.
400
318
- Will merge to 'next'.
319
- source: <20260310050621.3849719-1-mroik@delayed.space>
401
+ Will merge to 'next'?
402
+ source: <20260316005120.7079-1-mroik@delayed.space>
403
404
322
-* ps/build-tweaks (2026-03-10) 8 commits
405
+* ps/build-tweaks (2026-03-16) 8 commits
406
- meson: precompile "git-compat-util.h"
407
- meson: compile compatibility sources separately
408
- git-compat-util.h: move warning infra to prepare for PCHs
@@ -331,8 +414,8 @@ Release tarballs are available at:
414
415
Tweak the build infrastructure by moving tools around.
416
334
- Needs review.
335
- source: <20260310-b4-pks-build-infra-improvements-v1-0-ec75d0710d6a@pks.im>
417
+ Will merge to 'next'??
418
+ source: <20260316-b4-pks-build-infra-improvements-v2-0-4b2c2c0c0425@pks.im>
419
420
421
* ps/object-counting (2026-03-12) 7 commits
@@ -343,11 +426,10 @@ Release tarballs are available at:
426
- packfile: extract logic to count number of objects
427
- odb: stop including "odb/source.h"
428
- Merge branch 'ps/odb-sources' into ps/object-counting
346
- (this branch uses ps/odb-sources.)
429
430
The logic to count objects has been cleaned up.
431
350
- Will merge to 'next'?
432
+ Will merge to 'next'.
433
source: <20260312-b4-pks-odb-source-count-objects-v2-0-5914f69256bf@pks.im>
434
435
@@ -355,31 +437,33 @@ Release tarballs are available at:
437
- diff: document -U without <n> as using default context
438
439
"git diff -U<num>" was too lenient in its command line parsing and
358
- took an empty strings as a valid <num>.
440
+ took an empty string as a valid <num>.
441
442
Will merge to 'next'?
443
source: <20260310095017.131957-1-cat@malon.dev>
444
445
446
* ms/t7605-test-path-is-helpers (2026-03-10) 1 commit
365
- - t7605: use test_path_is_file instead of test -f
447
+ (merged to 'next' on 2026-03-16 at 49facdec9f)
448
+ + t7605: use test_path_is_file instead of test -f
449
450
Test updates.
451
369
- Will merge to 'next'.
452
+ Will merge to 'master'.
453
source: <pull.2067.v2.git.1773183022175.gitgitgadget@gmail.com>
454
455
456
* bb/imap-send-openssl-4.0-prep (2026-03-11) 3 commits
374
- - imap-send: move common code into function host_matches()
375
- - imap-send: use the OpenSSL API to access the subject common name
376
- - imap-send: use the OpenSSL API to access the subject alternative names
457
+ (merged to 'next' on 2026-03-16 at 0baab97778)
458
+ + imap-send: move common code into function host_matches()
459
+ + imap-send: use the OpenSSL API to access the subject common name
460
+ + imap-send: use the OpenSSL API to access the subject alternative names
461
462
"imap-send" used to use functions whose use is going to be removed
463
with OpenSSL 4.0; rewrite them using public API that has been
464
available since OpenSSL 1.1 since 2016 or so.
465
382
- Will merge to 'next'.
466
+ Will merge to 'master'.
467
source: <20260311121107.1122387-1-dev+git@drbeat.li>
468
469
@@ -388,7 +472,7 @@ Release tarballs are available at:
472
+ editorconfig: fix style not applying to subdirs anymore
473
474
Editorconfig filename patterns were specified incorrectly, making
391
- many source files inside subdirectories uncovered, which has been
475
+ many source files inside subdirectories unaffected, which has been
476
corrected.
477
478
Will merge to 'master'.
@@ -396,22 +480,24 @@ Release tarballs are available at:
480
481
482
* ps/unit-test-c-escape-names.txt (2026-03-10) 1 commit
399
- - test-lib: print escape sequence names
483
+ (merged to 'next' on 2026-03-13 at f545ea5a9c)
484
+ + test-lib: print escape sequence names
485
486
The unit test helper function was taught to use backslash +
402
- mneomnic notation for certain control characters like "\t", instead
487
+ mnemonic notation for certain control characters like "\t", instead
488
of octal notation like "\011".
489
405
- Will merge to 'next'.
490
+ Will merge to 'master'.
491
source: <20260311031442.11942-1-pabloosabaterr@gmail.com>
492
493
494
* ss/submodule--helper-use-xmalloc (2026-03-10) 1 commit
410
- - submodule--helper: replace malloc with xmalloc
495
+ (merged to 'next' on 2026-03-13 at f13711965e)
496
+ + submodule--helper: replace malloc with xmalloc
497
498
Code clean-up.
499
414
- Will merge to 'next'.
500
+ Will merge to 'master'.
501
source: <20260310164412.47403-1-r.siddharth.shrimali@gmail.com>
502
503
@@ -419,7 +505,7 @@ Release tarballs are available at:
505
(merged to 'next' on 2026-03-12 at 647ee3f2dc)
506
+ t3200: replace hardcoded null OID with $ZERO_OID
507
422
- A test now use symbolic constant $ZERO_OID instead of 40 "0" to
508
+ A test now uses the symbolic constant $ZERO_OID instead of 40 "0" to
509
work better with SHA-256 as well as SHA-1.
510
511
Will merge to 'master'.
@@ -427,12 +513,13 @@ Release tarballs are available at:
513
514
515
* jc/test-allow-sed-with-ere (2026-03-11) 1 commit
430
- - t: allow use of "sed -E"
516
+ (merged to 'next' on 2026-03-16 at be057bed35)
517
+ + t: allow use of "sed -E"
518
519
Adjust test-lint to allow "sed -E" to use ERE in the patterns.
520
434
- Will merge to 'next'.
435
- source: <xmqq5x72m4lu.fsf@gitster.g>
521
+ Will merge to 'master'.
522
+ source: <xmqq3425lvtq.fsf@gitster.g>
523
524
525
* bk/run-command-wo-the-repository (2026-03-12) 2 commits
@@ -440,8 +527,8 @@ Release tarballs are available at:
527
+ run-command: wean auto_maintenance() functions off the_repository
528
+ run-command: wean start_command() off the_repository
529
443
- The run_command() API lost its implicit dependence on the singleton
444
- the_repository instance.
530
+ The run_command() API lost its implicit dependencyon the singleton
531
+ `the_repository` instance.
532
533
Will merge to 'master'.
534
source: <20260312144437.626392-1-bkkaracay@gmail.com>
@@ -454,20 +541,20 @@ Release tarballs are available at:
541
542
Doc updates.
543
457
- Needs review.
544
+ Expecting a (hopefully small and final) reroll?
545
+ cf. <xmqq1phogbk5.fsf@gitster.g>
546
source: <CV_doc_interpret-tr_synopsis.48a@msgid.xyz>
547
548
549
* ty/mktree-wo-the-repository (2026-03-12) 1 commit
462
- - builtin/mktree: remove USE_THE_REPOSITORY_VARIABLE
550
+ (merged to 'next' on 2026-03-16 at 8d20ceb853)
551
+ + builtin/mktree: remove USE_THE_REPOSITORY_VARIABLE
552
553
Code clean-up.
554
466
- Will merge to 'next'.
555
+ Will merge to 'master'.
556
source: <20260312164203.964033-1-cat@malon.dev>
557
469
---------------------------------------------------
470
-[Cooking]
558
559
* mm/line-log-use-standard-diff-output (2026-03-06) 4 commits
560
- doc: note that -L supports patch formatting and pickaxe options
@@ -475,24 +562,15 @@ Release tarballs are available at:
562
- line-log: route -L output through the standard diff pipeline
563
- line-log: fix crash when combined with pickaxe options
564
478
- The way "git log -L<range>:<file>" feature is bolted onto the
565
+ The way the "git log -L<range>:<file>" feature is bolted onto the
566
log/diff machinery is being reworked a bit to make the feature
567
compatible with more diff options, like -S/G.
568
482
- Needs review.
569
+ Expecting a reroll.
570
+ cf. <CAC2QwmJTqYj5b531itc=8ZM3vXsg5oG3BLCHiEuoB7d0d4U=TQ@mail.gmail.com>
571
source: <pull.2065.git.1772845338.gitgitgadget@gmail.com>
572
573
486
-* os/doc-git-custom-commands (2026-03-07) 1 commit
487
- (merged to 'next' on 2026-03-09 at 5cabe3db39)
488
- + doc: make it easier to find custom command information
489
-
490
- Doc update.
491
-
492
- Will merge to 'master'.
493
- source: <pull.2225.git.git.1772903281929.gitgitgadget@gmail.com>
494
-
495
-
574
* ar/config-hook-cleanups (2026-03-08) 11 commits
575
- hook: show disabled hooks in "git hook list"
576
- hook: show config scope in git hook list
@@ -515,12 +593,13 @@ Release tarballs are available at:
593
594
595
* cf/constness-fixes (2026-03-08) 2 commits
518
- - dir: avoid -Wdiscarded-qualifiers in remove_path()
519
- - bloom: remove a misleading const qualifier
596
+ (merged to 'next' on 2026-03-13 at 3c80964399)
597
+ + dir: avoid -Wdiscarded-qualifiers in remove_path()
598
+ + bloom: remove a misleading const qualifier
599
521
- Small code clean-up around constness area.
600
+ Small code clean-up around the constness area.
601
523
- Will merge to 'next'.
602
+ Will merge to 'master'.
603
source: <3ad40c3d0762c2e8c14792dfb68cba9f63a883a3.1773026586.git.collin.funk1@gmail.com>
604
605
@@ -528,6 +607,7 @@ Release tarballs are available at:
607
(merged to 'next' on 2026-03-12 at 99c4dbd03e)
608
+ list-objects-filter-options: avoid strbuf_split_str()
609
+ worktree: do not pass strbuf by value
610
+ (this branch is used by dd/cocci-do-not-pass-strbuf-by-value.)
611
612
Revamp the way combined option filter is parsed.
613
@@ -536,11 +616,12 @@ Release tarballs are available at:
616
617
618
* jc/doc-wholesale-replace-before-next (2026-03-09) 1 commit
539
- - SubmittingPatches: spell out "replace fully to pretend to be perfect"
619
+ (merged to 'next' on 2026-03-13 at 19ca350c9b)
620
+ + SubmittingPatches: spell out "replace fully to pretend to be perfect"
621
622
Doc update.
623
543
- Will merge to 'next'.
624
+ Will merge to 'master'.
625
source: <xmqq34283b12.fsf@gitster.g>
626
627
@@ -556,55 +637,35 @@ Release tarballs are available at:
637
source: <20260312173305.15112-1-pabloosabaterr@gmail.com>
638
639
559
-* rs/history-ergonomics-updates-fix (2026-03-08) 1 commit
560
- (merged to 'next' on 2026-03-10 at 7d58650290)
561
- + history: initialize rev_info in cmd_history_reword()
562
-
563
- Fix use of uninitialized variable.
564
-
565
- Will merge to 'master'.
566
- source: <b0b8633f-be95-48eb-8244-d0e3f1a7be72@web.de>
567
-
568
-
569
-* ty/patch-ids-document-lazy-eval (2026-03-08) 1 commit
570
- (merged to 'next' on 2026-03-10 at c8be8d6f7e)
571
- + patch-ids: document intentional const-casting in patch_id_neq()
572
-
573
- In-code comment update to record a design decision to allow lazy
574
- computation of patch IDs.
575
-
576
- Will merge to 'master'.
577
- source: <20260309065140.108644-1-cat@malon.dev>
578
-
579
-
580
-* ab/clone-default-object-filter (2026-03-06) 1 commit
640
+* ab/clone-default-object-filter (2026-03-14) 1 commit
641
- clone: add clone.<url>.defaultObjectFilter config
642
643
"git clone" learns to pay attention to "clone.<url>.defaultObjectFilter"
644
configuration and behave as if the "--filter=<filter-spec>" option
645
was given on the command line.
646
587
- Reroll exists; pick it up.
588
- cf. <pull.2058.v5.git.1772847236966.gitgitgadget@gmail.com>
589
- source: <pull.2058.v4.git.1772833649843.gitgitgadget@gmail.com>
647
+ Expecting review responses.
648
+ cf. <abe1l8ONmFIhzaxi@pks.im>
649
+ source: <pull.2058.v6.git.1773553022381.gitgitgadget@gmail.com>
650
651
652
* jc/neuter-sideband-fixup (2026-03-05) 6 commits
593
- - sideband: drop 'default' configuration
594
- - sideband: offer to configure sanitizing on a per-URL basis
595
- - sideband: add options to allow more control sequences to be passed through
596
- - sideband: do allow ANSI color sequences by default
597
- - sideband: introduce an "escape hatch" to allow control characters
598
- - sideband: mask control characters
653
+ (merged to 'next' on 2026-03-13 at 5a4098b0cd)
654
+ + sideband: drop 'default' configuration
655
+ + sideband: offer to configure sanitizing on a per-URL basis
656
+ + sideband: add options to allow more control sequences to be passed through
657
+ + sideband: do allow ANSI color sequences by default
658
+ + sideband: introduce an "escape hatch" to allow control characters
659
+ + sideband: mask control characters
660
(this branch is used by jc/neuter-sideband-post-3.0.)
661
662
Try to resurrect and reboot a stalled "avoid sending risky escape
663
sequences taken from sideband to the terminal" topic by Dscho. The
664
plan is to keep it in 'next' long enough to see if anybody screams
604
- with the "everything dropped except for ANSI color escape sequence"
665
+ with the "everything dropped except for ANSI color escape sequences"
666
default.
667
607
- Will merge to 'next'.
668
+ Will keep in 'next' a bit longer than usual.
669
source: <20260305233452.3727126-1-gitster@pobox.com>
670
671
@@ -633,35 +694,6 @@ Release tarballs are available at:
694
source: <20260305-cs-subtree-split-recursion-v2-0-7266be870ba9@howdoi.land>
695
696
636
-* fp/t3310-unhide-git-failures (2026-03-07) 1 commit
637
- (merged to 'next' on 2026-03-09 at edd6c35bb8)
638
- + t3310: avoid hiding failures from rev-parse in command substitutions
639
-
640
- The construct 'test "$(command)" = expectation' loses the exit
641
- status from the command, which has been fixed by breaking up the
642
- statement into pieces.
643
-
644
- Will merge to 'master'.
645
- source: <20260307103631.89829-1-francescopaparatto@gmail.com>
646
-
647
-
648
-* jk/unleak-mmap (2026-03-06) 6 commits
649
- (merged to 'next' on 2026-03-10 at e169ff00b3)
650
- + meson: turn on NO_MMAP when building with LSan
651
- + Makefile: turn on NO_MMAP when building with LSan
652
- + object-file: fix mmap() leak in odb_source_loose_read_object_stream()
653
- + pack-revindex: avoid double-loading .rev files
654
- + check_connected(): fix leak of pack-index mmap
655
- + check_connected(): delay opening new_pack
656
-
657
- Plug a few leaks where mmap'ed memory regions are not unmapped.
658
-
659
- Will merge to 'master'.
660
- source: <20260305230315.GA2354983@coredump.intra.peff.net>
661
- source: <796110ee-d795-4445-9d82-7026370a88cf@intel.com>
662
- source: <20260307022459.GA693632@coredump.intra.peff.net>
663
-
664
-
697
* ps/history-split (2026-03-02) 8 commits
698
- builtin/history: implement "split" subcommand
699
- builtin/history: split out extended function to create commits
@@ -674,7 +706,7 @@ Release tarballs are available at:
706
707
"git history" learned the "split" subcommand.
708
677
- Comments?
709
+ Will merge to 'next'.
710
source: <20260302-pks-history-split-v1-0-444fc987a324@pks.im>
711
712
@@ -682,14 +714,14 @@ Release tarballs are available at:
714
- promisor-remote: prevent lazy-fetch recursion in child fetch
715
716
The mechanism to avoid recursive lazy-fetch from promisor remotes
685
- were not propagated properly to child "git fetch" processes, which
717
+ was not propagated properly to child "git fetch" processes, which
718
has been corrected.
719
720
Comments?
721
source: <pull.2224.v3.git.git.1773238778894.gitgitgadget@gmail.com>
722
723
692
-* ps/upload-pack-buffer-more-writes (2026-03-10) 10 commits
724
+* ps/upload-pack-buffer-more-writes (2026-03-12) 10 commits
725
- builtin/pack-objects: reduce lock contention when writing packfile data
726
- csum-file: drop `hashfd_throughput()`
727
- csum-file: introduce `hashfd_ext()`
@@ -701,87 +733,27 @@ Release tarballs are available at:
733
- upload-pack: adapt keepalives based on buffering
734
- upload-pack: fix debug statement when flushing packfile data
735
704
- Reduce system overhead "git upload-pack" spends relaying "git
736
+ Reduce system overhead "git upload-pack" spends on relaying "git
737
pack-objects" output to the "git fetch" running on the other end of
738
the connection.
739
708
- Expecting a (hopefully small and final) reroll.
709
- cf. <abBYK8uNkv84uydC@pks.im>
710
- source: <20260310-pks-upload-pack-write-contention-v3-0-8bc97aa3e267@pks.im>
711
-
712
-
713
-* jt/repo-structure-extrema (2026-03-02) 6 commits
714
- (merged to 'next' on 2026-03-09 at 8ccfebc0b1)
715
- + builtin/repo: find tree with most entries
716
- + builtin/repo: find commit with most parents
717
- + builtin/repo: add OID annotations to table output
718
- + builtin/repo: collect largest inflated objects
719
- + builtin/repo: add helper for printing keyvalue output
720
- + builtin/repo: update stats for each object
721
-
722
- "git repo structure" command learns to report maximum values on
723
- various aspects of objects it inspects.
724
-
725
- Will merge to 'master'.
726
- source: <20260302214526.2034279-1-jltobler@gmail.com>
727
-
728
-
729
-* ps/odb-sources (2026-03-05) 19 commits
730
- (merged to 'next' on 2026-03-06 at 69fd3b792a)
731
- + odb/source: make `begin_transaction()` function pluggable
732
- + odb/source: make `write_alternate()` function pluggable
733
- + odb/source: make `read_alternates()` function pluggable
734
- + odb/source: make `write_object_stream()` function pluggable
735
- + odb/source: make `write_object()` function pluggable
736
- + odb/source: make `freshen_object()` function pluggable
737
- + odb/source: make `for_each_object()` function pluggable
738
- + odb/source: make `read_object_stream()` function pluggable
739
- + odb/source: make `read_object_info()` function pluggable
740
- + odb/source: make `close()` function pluggable
741
- + odb/source: make `reprepare()` function pluggable
742
- + odb/source: make `free()` function pluggable
743
- + odb/source: introduce source type for robustness
744
- + odb: move reparenting logic into respective subsystems
745
- + odb: embed base source in the "files" backend
746
- + odb: introduce "files" source
747
- + odb: split `struct odb_source` into separate header
748
- + Merge branch 'ps/object-info-bits-cleanup' into ps/odb-sources
749
- + Merge branch 'ps/odb-for-each-object' into ps/odb-sources
750
- (this branch is used by ps/object-counting.)
751
-
752
- The object source API is getting restructured to allow plugging new
753
- backends.
754
-
755
- Will merge to 'master'.
756
- source: <20260305-b4-pks-odb-source-pluggable-v2-0-3290bfd1f444@pks.im>
757
-
758
-
759
-* ds/for-each-repo-w-worktree (2026-03-03) 4 commits
760
- (merged to 'next' on 2026-03-06 at 3886f0d054)
761
- + for-each-repo: simplify passing of parameters
762
- + for-each-repo: work correctly in a worktree
763
- + run-command: extract sanitize_repo_env helper
764
- + for-each-repo: test outside of repo context
765
-
766
- "git for-each-repo" started from a secondary worktree did not work
767
- as expected, which has been corrected.
768
-
769
- Will merge to 'master'.
770
- source: <pull.2056.v4.git.1772559114.gitgitgadget@gmail.com>
740
+ Will merge to 'next'?
741
+ source: <20260313-pks-upload-pack-write-contention-v4-0-7a9668061f7f@pks.im>
742
743
744
* lc/rebase-trailer (2026-03-06) 6 commits
774
- - rebase: support --trailer
775
- - commit, tag: parse --trailer with OPT_STRVEC
776
- - trailer: append trailers without fork/exec
777
- - trailer: libify a couple of functions
778
- - interpret-trailers: refactor create_in_place_tempfile()
779
- - interpret-trailers: factor trailer rewriting
745
+ (merged to 'next' on 2026-03-13 at 75c22b6b26)
746
+ + rebase: support --trailer
747
+ + commit, tag: parse --trailer with OPT_STRVEC
748
+ + trailer: append trailers without fork/exec
749
+ + trailer: libify a couple of functions
750
+ + interpret-trailers: refactor create_in_place_tempfile()
751
+ + interpret-trailers: factor trailer rewriting
752
753
"git rebase" learns "--trailer" command to drive the
754
interpret-trailers machinery.
755
784
- Will merge to 'next'.
756
+ Will merge to 'master'.
757
source: <cover.1772808594.git.phillip.wood@dunelm.org.uk>
758
759
@@ -792,13 +764,14 @@ Release tarballs are available at:
764
+ format-patch: add ability to use alt cover format
765
+ format-patch: move cover letter summary generation
766
+ pretty.c: add %(count) and %(total) placeholders
767
+ (this branch is used by mf/format-patch-commit-list-format.)
768
769
"git format-patch --cover-letter" learns to use a simpler format
770
instead of the traditional shortlog format to list its commits with
771
a new --cover-letter-format option and format.commitListFormat
772
configuration variable.
773
801
- Will merge to 'master'.
774
+ Waiting for the follow-on topic.
775
source: <cover.1772839973.git.mroik@delayed.space>
776
777
@@ -824,55 +797,26 @@ Release tarballs are available at:
797
798
799
* ac/help-sort-correctly (2026-03-11) 1 commit
827
- - help: cleanup the contruction of keys_uniq
800
+ (merged to 'next' on 2026-03-16 at db220e143f)
801
+ + help: cleanup the contruction of keys_uniq
802
803
The code in "git help" that shows configuration items in sorted
804
order was awkwardly organized and prone to bugs.
805
832
- Will merge to 'next'.
833
- source: <20260311192453.62213-1-amishhhaaaa@gmail.com>
834
-
835
-
836
-* ty/setup-error-tightening (2026-03-04) 1 commit
837
- (merged to 'next' on 2026-03-10 at 38268a7acc)
838
- + setup: improve error diagnosis for invalid .git files
839
-
840
- While discovering a ".git" directory, the code treats any stat()
841
- failure as a sign that a filesystem entity .git does not exist
842
- there, and ignores ".git" that is not a "gitdir" file or a
843
- directory. The code has been tightened to notice and report
844
- filesystem corruption better.
845
-
806
Will merge to 'master'.
847
- source: <20260304141526.37764-1-a3205153416@gmail.com>
807
+ source: <20260311192453.62213-1-amishhhaaaa@gmail.com>
808
809
850
-* sa/replay-revert (2026-02-18) 2 commits
810
+* sa/replay-revert (2026-03-12) 2 commits
811
- replay: add --revert mode to reverse commit changes
812
- sequencer: extract revert message formatting into shared function
813
814
"git replay" (experimental) learns, in addition to "pick" and
815
"replay", a new operating mode "revert".
816
857
- Expecting a reroll?
858
- cf. <87wm07e4ck.fsf@iotcl.com>
859
- cf. <87tsvbe2sm.fsf@iotcl.com>
860
- cf. <405b0d34-c2ad-498d-93a1-2e7925ae11f1@gmail.com>
861
- cf. <c2048ddf-ced4-425d-af6e-14e9442e9d99@gmail.com>
862
- source: <20260218234215.89326-1-siddharthasthana31@gmail.com>
863
-
864
-
865
-* sp/wt-status-wo-the-repository (2026-02-18) 3 commits
866
- (merged to 'next' on 2026-03-09 at 2e99d5ed52)
867
- + wt-status: use hash_algo from local repository instead of global the_hash_algo
868
- + wt-status: replace uses of the_repository with local repository instances
869
- + wt-status: pass struct repository through function parameters
870
-
871
- Reduce dependence on the global the_hash_algo and the_repository
872
- variables of wt-status code path.
873
-
874
- Will merge to 'master'.
875
- source: <20260218175654.66004-1-shreyanshpaliwalcmsmn@gmail.com>
817
+ Expecting review responses.
818
+ cf. <87pl53si56.fsf@iotcl.com>
819
+ source: <20260313054035.26605-1-siddharthasthana31@gmail.com>
820
821
822
* vp/http-rate-limit-retries (2026-02-23) 4 commits
@@ -906,12 +850,13 @@ Release tarballs are available at:
850
851
852
* ng/submodule-default-remote (2026-03-03) 1 commit
909
- - submodule: fetch missing objects from default remote
853
+ (merged to 'next' on 2026-03-16 at d41fd28450)
854
+ + submodule: fetch missing objects from default remote
855
856
Instead of hardcoded 'origin', use the configured default remote
857
when fetching from submodules.
858
914
- Will merge to 'next'.
859
+ Will merge to 'master'.
860
source: <20260303234044.105157-1-nasser.grainawi@oss.qualcomm.com>
861
862
@@ -921,7 +866,7 @@ Release tarballs are available at:
866
The final clean-up phase of the diff output could turn the result of
867
histogram diff algorithm suboptimal, which has been corrected.
868
924
- Needs review.
869
+ Will merge to 'next'?
870
source: <pull.2120.v2.git.git.1772463265865.gitgitgadget@gmail.com>
871
872
@@ -938,9 +883,10 @@ Release tarballs are available at:
883
. xdiff: make classic diff explicit by creating xdl_do_classic_diff()
884
. ivec: introduce the C side of ivec
885
941
- Preparation of xdiff/ codebase to work with Rust
886
+ Preparation of the xdiff/ codebase to work with Rust
887
943
- Maybe rebase on top of a merge of 'master' with pw/xdiff-cleanups?
888
+ Expecting a reroll.
889
+ cf. <CAH=ZcbBVSqUG89n65MBpN+HMCmmjzmADGaVnuEJn_cYN0SYknw@mail.gmail.com>
890
source: <pull.2156.git.git.1767379944.gitgitgadget@gmail.com>
891
892
@@ -968,23 +914,6 @@ Release tarballs are available at:
914
Will merge to 'next'?
915
source: <cover.1771959555.git.me@ttaylorr.com>
916
971
-
972
-* hn/status-compare-with-push (2026-03-04) 4 commits
973
- (merged to 'next' on 2026-03-06 at 7c5ad405d7)
974
- + status: clarify how status.compareBranches deduplicates
975
- (merged to 'next' on 2026-02-26 at 1c11b8819a)
976
- + status: add status.compareBranches config for multiple branch comparisons
977
- + refactor format_branch_comparison in preparation
978
- + Merge branch 'jk/remote-tracking-ref-leakfix' into hn/status-compare-with-push
979
-
980
- "git status" learned to show comparison between the current branch
981
- and various other branches listed on status.compareBranches
982
- configuration.
983
-
984
- Will merge to 'master'.
985
- source: <pull.2138.v30.git.git.1772102022.gitgitgadget@gmail.com>
986
- source: <pull.2138.v31.git.git.1772627131.gitgitgadget@gmail.com>
987
-
917
--------------------------------------------------
918
[Discarded]
919