What's cooking (2025/12 #01)
Junio C Hamano committed
Dec 7, 2025 at 12:36 UTC
765304b90aa9e213294faa2f6a7d1abe2c9f53c9
1 file changed
+323
-241
whats-cooking.txt
+323
-241
@@ -1,11 +1,11 @@
1
To: git@vger.kernel.org
2
-Subject: What's cooking in git.git (Nov 2025, #10; Sun, 30)
3
-X-master-at: f0ef5b6d9bcc258e4cbef93839d1b7465d5212b9
4
-X-next-at: d5f0c6e74e9a802622dcc0000e49faff0f38e160
2
+Subject: What's cooking in git.git (Dec 2025, #01)
3
+X-master-at: bdc5341ff65278a3cc80b2e8a02a2f02aa1fac06
4
+X-next-at: 3f4935d65f8d04f04e16a208ba4f77a42d207db3
5
Bcc: lwn@lwn.net, gitster@pobox.com
6
7
-What's cooking in git.git (Nov 2025, #10; Sun, 30)
8
---------------------------------------------------
7
+What's cooking in git.git (Dec 2025, #01)
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
@@ -51,85 +51,289 @@ Release tarballs are available at:
51
--------------------------------------------------
52
[Graduated to 'master']
53
54
-* ja/doc-synopsis-style (2025-11-24) 4 commits
55
- (merged to 'next' on 2025-11-24 at 10610d9a57)
56
- + doc: pull-fetch-param typofix
57
- (merged to 'next' on 2025-11-21 at eb9c1703c0)
58
- + doc: convert git push to synopsis style
59
- + doc: convert git pull to synopsis style
60
- + doc: convert git fetch to synopsis style
61
-
62
- Doc mark-up updates.
63
-
64
- source: <pull.2002.git.1763588404.gitgitgadget@gmail.com>
65
-
66
-
67
-* jc/whitespace-incomplete-line (2025-11-12) 12 commits
68
- (merged to 'next' on 2025-11-24 at 9682c7f652)
69
- + attr: enable incomplete-line whitespace error for this project
70
- + diff: highlight and error out on incomplete lines
71
- + apply: check and fix incomplete lines
72
- + whitespace: allocate a few more bits and define WS_INCOMPLETE_LINE
73
- + apply: revamp the parsing of incomplete lines
74
- + diff: update the way rewrite diff handles incomplete lines
75
- + diff: call emit_callback ecbdata everywhere
76
- + diff: refactor output of incomplete line
77
- + diff: keep track of the type of the last line seen
78
- + diff: correct suppress_blank_empty hack
79
- + diff: emit_line_ws_markup() if/else style fix
80
- + whitespace: correct bit assignment comments
81
-
82
- Both "git apply" and "git diff" learn a new whitespace error class,
83
- "incomplete-line".
84
-
85
- source: <20251112220258.1009253-1-gitster@pobox.com>
86
-
87
-
88
-* je/doc-data-model (2025-11-12) 1 commit
89
- (merged to 'next' on 2025-11-24 at 50e59df383)
90
- + doc: add an explanation of Git's data model
91
-
92
- Add a new manual that describes the data model.
93
-
94
- source: <pull.1981.v7.git.1762977200244.gitgitgadget@gmail.com>
95
-
96
-
97
-* jk/asan-bonanza (2025-11-18) 9 commits
98
- (merged to 'next' on 2025-11-24 at 066fc38a19)
99
- + t: enable ASan's strict_string_checks option
100
- + fsck: avoid parse_timestamp() on buffer that isn't NUL-terminated
101
- + fsck: remove redundant date timestamp check
102
- + fsck: avoid strcspn() in fsck_ident()
103
- + fsck: assert newline presence in fsck_ident()
104
- + cache-tree: avoid strtol() on non-string buffer
105
- + Makefile: turn on NO_MMAP when building with ASan
106
- + pack-bitmap: handle name-hash lookups in incremental bitmaps
107
- + compat/mmap: mark unused argument in git_munmap()
108
-
109
- Various issues detected by Asan have been corrected.
110
-
111
- source: <20251118091127.GA4175601@coredump.intra.peff.net>
112
-
113
-
114
-* lo/repo-info-all (2025-11-18) 2 commits
115
- (merged to 'next' on 2025-11-21 at bb6bddcfc7)
116
- + repo: add --all to git-repo-info
117
- + repo: factor out field printing to dedicated function
118
-
119
- "git repo info" learned "--all" option.
120
-
121
- source: <20251118204929.43597-1-lucasseikioshiro@gmail.com>
54
+* cc/fast-import-strip-if-invalid (2025-11-16) 3 commits
55
+ (merged to 'next' on 2025-11-26 at 7235cd0d18)
56
+ + fast-import: add 'strip-if-invalid' mode to --signed-commits=<mode>
57
+ + commit: refactor verify_commit_buffer()
58
+ + fast-import: refactor finalize_commit_buffer()
59
+
60
+ "git fast-import" learns "--strip-if-invalid" option to drop
61
+ invalid cryptographic signature from objects.
62
+ source: <20251117043450.322644-1-christian.couder@gmail.com>
63
+
64
+
65
+* en/xdiff-cleanup-2 (2025-11-18) 10 commits
66
+ (merged to 'next' on 2025-11-25 at 452b7107da)
67
+ + xdiff: rename rindex -> reference_index
68
+ + xdiff: change rindex from long to size_t in xdfile_t
69
+ + xdiff: make xdfile_t.nreff a size_t instead of long
70
+ + xdiff: make xdfile_t.nrec a size_t instead of long
71
+ + xdiff: split xrecord_t.ha into line_hash and minimal_perfect_hash
72
+ + xdiff: use unambiguous types in xdl_hash_record()
73
+ + xdiff: use size_t for xrecord_t.size
74
+ + xdiff: make xrecord_t.ptr a uint8_t instead of char
75
+ + xdiff: use ptrdiff_t for dstart/dend
76
+ + doc: define unambiguous type mappings across C and Rust
77
+
78
+ Code clean-up.
79
+ source: <pull.2070.v5.git.git.1763505262.gitgitgadget@gmail.com>
80
+
81
+
82
+* jc/optional-path (2025-11-20) 3 commits
83
+ (merged to 'next' on 2025-11-25 at 5e75404281)
84
+ + config: really treat missing optional path as not configured
85
+ + config: really pretend missing :(optional) value is not there
86
+ + config: mark otherwise unused function as file-scope static
87
+
88
+ "git config get --path" segfaulted on an ":(optional)path" that
89
+ does not exist, which has been corrected.
90
+ source: <xmqqikf47ajk.fsf@gitster.g>
91
+
92
+
93
+* js/ci-show-breakage-in-dockerized-jobs (2025-11-17) 1 commit
94
+ (merged to 'next' on 2025-11-26 at 3c4a8c430f)
95
+ + ci(dockerized): do show the result of failing tests again
96
+
97
+ Dockerised jobs at the GitHub Actions CI have been taught to show
98
+ more details of failed tests.
99
+ cf. <xmqqpl9gike6.fsf@gitster.g>
100
+ cf. <CABPp-BErdhTjbqDem4Xvc-XbhgLUEpy9-eiaaR1F_diMca--6A@mail.gmail.com>
101
+ source: <pull.2003.git.1763399064983.gitgitgadget@gmail.com>
102
+
103
+
104
+* js/strip-scalar-too (2025-11-17) 1 commit
105
+ (merged to 'next' on 2025-11-25 at 9f2607acfb)
106
+ + make strip: include `scalar`
107
+
108
+ "make strip" has been taught to strip "scalar" as well as "git".
109
+ cf. <xmqq7bvoiadg.fsf@gitster.g>
110
+ source: <pull.2004.git.1763409086322.gitgitgadget@gmail.com>
111
+
112
+
113
+* kh/doc-committer-date-is-author-date (2025-11-20) 1 commit
114
+ (merged to 'next' on 2025-11-25 at 9f829587af)
115
+ + doc: warn against --committer-date-is-author-date
116
+
117
+ The "--committer-date-is-author-date" option of "git am/rebase" is
118
+ a misguided one. The documentation is updated to discourage its
119
+ use.
120
+ source: <V2_committer-date-is-author-date.1@msgid.xyz>
121
+
122
+
123
+* ps/object-source-management (2025-11-18) 14 commits
124
+ (merged to 'next' on 2025-11-26 at 6f98745b4a)
125
+ + odb: handle recreation of quarantine directories
126
+ + odb: handle changing a repository's commondir
127
+ + chdir-notify: add function to unregister listeners
128
+ + odb: handle initialization of sources in `odb_new()`
129
+ + http-push: stop setting up `the_repository` for each reference
130
+ + t/helper: stop setting up `the_repository` repeatedly
131
+ + builtin/index-pack: fix deferred fsck outside repos
132
+ + oidset: introduce `oidset_equal()`
133
+ + odb: move logic to disable ref updates into repo
134
+ + odb: refactor `odb_clear()` to `odb_free()`
135
+ + odb: adopt logic to close object databases
136
+ + setup: convert `set_git_dir()` to have file scope
137
+ + path: move `enter_repo()` into "setup.c"
138
+ + Merge branch 'ps/object-source-loose' into ps/object-source-management
139
+
140
+ Code refactoring around object database sources.
141
+ cf. <aSAZSyUzIMvn-IvR@pks.im>
142
+ source: <20251119-b4-pks-odb-creation-v1-0-2b2ed2612cb6@pks.im>
143
+
144
+
145
+* rs/config-set-multi-error-message-fix (2025-11-24) 1 commit
146
+ (merged to 'next' on 2025-11-26 at 639a1e26d2)
147
+ + config: fix suggestion for failed set of multi-valued option
148
+
149
+ The error message given by "git config set", when the variable
150
+ being updated has more than one values defined, used old style "git
151
+ config" syntax with an incorrect option in its hint, both of which
152
+ have been corrected.
153
+ source: <c09945fe-fee2-47f6-8193-ac60d7245209@web.de>
154
+
155
+
156
+* rs/config-unset-opthelp-fix (2025-11-24) 1 commit
157
+ (merged to 'next' on 2025-11-26 at 31e282f4ae)
158
+ + config: fix short help of unset flags
159
+
160
+ The option help text given by "git config unset -h" described
161
+ the "--all" option to "replace", not "unset", multiple variables,
162
+ which has been corrected.
163
+ source: <06997dce-e4d5-4889-8e70-5f44da3dc800@web.de>
164
165
--------------------------------------------------
166
[New Topics]
167
168
+* ap/packfile-promisor-object-optim (2025-12-05) 1 commit
169
+ - packfile: skip decompressing and hashing blobs in add_promisor_object()
170
+
171
+ The code path that enumerates promisor objects have been optimized
172
+ to skip pointlessly parsing blob objects.
173
+
174
+ Comments?
175
+ source: <20251206002014.2066644-1-aplattner@nvidia.com>
176
+
177
+
178
+* je/doc-pull (2025-12-03) 1 commit
179
+ (merged to 'next' on 2025-12-05 at 601711e5f2)
180
+ + doc: git-pull: fix 'git --rebase abort' typo
181
+
182
+ Doc fixup.
183
+
184
+ Will merge to 'master'.
185
+ source: <pull.2015.git.1764776095597.gitgitgadget@gmail.com>
186
+
187
+
188
+* js/last-modified-with-sparse-checkouts (2025-11-29) 1 commit
189
+ (merged to 'next' on 2025-12-05 at f1d5abdd14)
190
+ + last-modified: support sparse checkouts
191
+
192
+ "git last-modified" used to mishandle "--" to mark the beginning of
193
+ pathspec, which has been corrected.
194
+
195
+ Will merge to 'master'.
196
+ source: <pull.2013.git.1764423826908.gitgitgadget@gmail.com>
197
+
198
+
199
+* kh/advise-w-git-help-in-branch (2025-12-02) 1 commit
200
+ (merged to 'next' on 2025-12-05 at 3b7b03150e)
201
+ + branch: advice using git-help(1) instead of man(1)
202
+
203
+ A help message from "git branch" now mentions "git help" instead of
204
+ "man" when suggesting to read some documentation.
205
+
206
+ Will merge to 'master'.
207
+ source: <V2_advice_git-help.53@msgid.xyz>
208
+
209
+
210
+* lo/repo-struct-z (2025-12-04) 3 commits
211
+ (merged to 'next' on 2025-12-06 at 4f602e14d8)
212
+ + repo: add -z as an alias for --format=nul to git-repo-structure
213
+ + repo: use [--format=... | -z] instead of [-z] in git-repo-info synopsis
214
+ + repo: remove blank line from Documentation/git-repo.adoc
215
+
216
+ "git repo struct" learned to take "-z" as a synonym to "--format=nul".
217
+
218
+ Will merge to 'master'.
219
+ cf. <aTK9X6ptrqs_9agD@pks.im>
220
+ source: <20251204210843.79411-1-lucasseikioshiro@gmail.com>
221
+
222
+
223
+* tc/meson-cross-compile-fix (2025-12-03) 3 commits
224
+ (merged to 'next' on 2025-12-05 at c45b57ca74)
225
+ + meson: use is_cross_build() where possible
226
+ + meson: only detect ICONV_OMITS_BOM if possible
227
+ + meson: ignore subprojects/.wraplock
228
+
229
+ Build fix.
230
+
231
+ Will merge to 'master'.
232
+ source: <20251202-toon-cross-compile-v1-0-cabc8bce529f@iotcl.com>
233
+
234
+
235
+* je/doc-data-model (2025-12-02) 1 commit
236
+ (merged to 'next' on 2025-12-06 at 3f4935d65f)
237
+ + doc: remove stray text in Git data model
238
+
239
+ Docfix.
240
+
241
+ Will merge to 'master'.
242
+ source: <pull.2014.git.1764699084703.gitgitgadget@gmail.com>
243
+
244
+
245
+* ps/odb-misc-fixes (2025-12-05) 4 commits
246
+ - odb: properly close sources before freeing them
247
+ - builtin/gc: fix condition for whether to write commit graphs
248
+ - builtin/repack: fix geometric repacks with promisor remotes
249
+ - Merge branch 'ps/object-source-management' into ps/odb-misc-fixes
250
+
251
+ Miscellaneous fixes on object database layer.
252
+
253
+ Comments?
254
+ source: <20251205-odb-related-fixes-v1-0-ef4250abb584@pks.im>
255
+
256
+
257
+* ps/clar-integers (2025-12-06) 3 commits
258
+ - gitattributes: disable blank-at-eof errors for clar test expectations
259
+ - t/unit-tests: demonstrate use of integer comparison assertions
260
+ - t/unit-tests: update clar to 39f11fe
261
+
262
+ Import newer version of "clar", unit testing framework.
263
+
264
+ Comments?
265
+ source: <20251206-b4-pks-clar-update-v2-0-9a14b10c1a36@pks.im>
266
+
267
+
268
+* rs/ban-mktemp (2025-12-06) 5 commits
269
+ - compat: remove gitmkdtemp()
270
+ - banned.h: ban mktemp(3)
271
+ - compat: remove mingw_mktemp()
272
+ - compat: use git_mkdtemp()
273
+ - wrapper: add git_mkdtemp()
274
+
275
+ Rewrite the only use of "mktemp()" that is subject to TOCTOU race
276
+ and Stop using the insecure "mktemp()" function.
277
+
278
+ Will merge to 'next'.
279
+ source: <64e62623-b911-4ddd-a481-05191853c0a6@web.de>
280
+
281
+
282
+* tb/incremental-midx-part-3.2 (2025-12-06) 17 commits
283
+ - midx: enable reachability bitmaps during MIDX compaction
284
+ - midx: implement MIDX compaction
285
+ - t/helper/test-read-midx.c: plug memory leak when selecting layer
286
+ - midx-write.c: factor fanout layering from `compute_sorted_entries()`
287
+ - midx-write.c: enumerate `pack_int_id` values directly
288
+ - midx-write.c: extract `fill_pack_from_midx()`
289
+ - midx-write.c: introduce `midx_pack_perm()` helper
290
+ - git-compat-util.h: introduce `u32_add()`
291
+ - midx: do not require packs to be sorted in lexicographic order
292
+ - midx-write.c: introduce `struct write_midx_opts`
293
+ - midx-write.c: don't use `pack_perm` when assigning `bitmap_pos`
294
+ - t/t5319-multi-pack-index.sh: fix copy-and-paste error in t5319.39
295
+ - git-multi-pack-index(1): align SYNOPSIS with 'git multi-pack-index -h'
296
+ - git-multi-pack-index(1): remove non-existent incompatibility
297
+ - builtin/multi-pack-index.c: make '--progress' a common option
298
+ - midx: split `get_midx_checksum()` by adding `get_midx_hash()`
299
+ - midx: mark `get_midx_checksum()` arguments as const
300
+
301
+ Further work on incremental repacking using MIDX/bitmap
302
+
303
+ Comments?
304
+ source: <cover.1765053054.git.me@ttaylorr.com>
305
+
306
+
307
+* yc/histogram-hunk-shift-fix (2025-12-06) 1 commit
308
+ - xdiff: re-diff shifted change groups when using histogram algorithm
309
+
310
+ The final clean-up phase of the diff output could turn the result of
311
+ histogram diff algorithm suboptimal, which has been corrected.
312
+
313
+ Comments?
314
+ source: <pull.2120.git.git.1765054287938.gitgitgadget@gmail.com>
315
+
316
+
317
+* jc/completion-no-single-letter-options (2025-12-06) 1 commit
318
+ - completion: clarify support for short options and arguments
319
+
320
+ In-code comment update to clarify that single-letter options are
321
+ outside of the scope of command line completion script.
322
+
323
+ Comments?
324
+ source: <xmqqzf7vm7b7.fsf@gitster.g>
325
+
326
+--------------------------------------------------
327
+[Cooking]
328
+
329
* tc/last-modified-active-paths-optimization (2025-11-28) 1 commit
127
- - last-modified: fix use of uninitialized memory
330
+ (merged to 'next' on 2025-12-05 at 42c18b607f)
331
+ + last-modified: fix use of uninitialized memory
332
333
Recent optimization to "last-modified" command introduced use of
334
uninitialized block of memory, which has been corrected.
335
132
- Will merge to 'next'.
336
+ Will merge to 'master'.
337
source: <20251128-toon-big-endian-ci-v1-1-80da0f629c1e@iotcl.com>
338
339
@@ -156,11 +360,13 @@ Release tarballs are available at:
360
Asan strict-string-check complains even when use of strtol() is
361
safe due to varified existence of whitespace after the digits).
362
159
- Will merge to 'next'?
363
+ Expecting a reroll.
364
+ cf. <aTFvKOHlm4zfT9dU@pks.im>
365
+ cf. <4d83375b-76e2-4420-80dd-6a04d3201532@gmail.com>
366
source: <20251130131351.GA198697@coredump.intra.peff.net>
367
368
163
-* js/test-symlink-windows (2025-11-29) 10 commits
369
+* js/test-symlink-windows (2025-12-05) 10 commits
370
- t7800: work around the MSYS path conversion on Windows
371
- t6423: introduce Windows-specific handling for symlinking to /dev/null
372
- t1305: skip symlink tests that do not apply to Windows
@@ -172,30 +378,31 @@ Release tarballs are available at:
378
- apply: symbolic links lack a "trustable executable bit"
379
- t9700: accommodate for Windows paths
380
175
- Prepare test suite
381
+ Prepare test suite for Git for Windows that supports symbolic
382
+ links.
383
384
Comments?
385
cf. <xmqqms44cb7p.fsf@gitster.g>
386
cf. <xmqqecpgc8wd.fsf@gitster.g>
180
- source: <pull.2009.git.1764440906.gitgitgadget@gmail.com>
387
+ source: <pull.2009.v2.git.1764946945.gitgitgadget@gmail.com>
388
389
390
* rs/diff-index-find-copies-harder-optim (2025-11-30) 1 commit
184
- - diff-index: don't queue unchanged filepairs with diff_change()
391
+ (merged to 'next' on 2025-12-05 at 539b086bfc)
392
+ + diff-index: don't queue unchanged filepairs with diff_change()
393
394
Halve the memory consumed by artificial filepairs created during
395
"git diff --find-copioes-harder", also making the operation run
396
faster.
397
190
- Will merge to 'next'.
398
+ Will merge to 'master'.
399
source: <aa28974b-ec73-4562-bfc8-4745ad58b55a@web.de>
400
193
---------------------------------------------------
194
-[Cooking]
401
402
* pw/replay-exclude-gpgsig-fix (2025-11-26) 1 commit
403
(merged to 'next' on 2025-11-30 at 3dda1242db)
404
+ replay: do not copy "gpgsign-sha256" header
405
+ (this branch is used by ps/history and pw/replay-drop-empty.)
406
407
"git replay" forgot to omit the "gpgsig-sha256" extended header
408
from the resulting commit the same way it omits "gpgsig", which has
@@ -240,7 +447,7 @@ Release tarballs are available at:
447
source: <20251128012107.101431-1-sandals@crustytoothpaste.net>
448
449
243
-* ds/doc-scalar-config (2025-11-26) 5 commits
450
+* ds/doc-scalar-config (2025-12-01) 5 commits
451
- scalar: document config settings
452
- scalar: alphabetize and simplify config
453
- scalar: remove stale config values
@@ -250,14 +457,14 @@ Release tarballs are available at:
457
Documentation updates.
458
459
Expecting a reroll.
253
- cf. <089c3225-82cb-4039-83df-f97ea9fd49b2@gmail.com>
254
- source: <pull.2010.git.1764195516.gitgitgadget@gmail.com>
460
+ cf. <aS88bnmZXMZCV5oS@pks.im>
461
+ source: <pull.2010.v2.git.1764607847.gitgitgadget@gmail.com>
462
463
464
* pw/replay-drop-empty (2025-11-27) 2 commits
465
- replay: drop commits that become empty
466
- Merge branch 'ps/history' into pw/replay-drop-empty
260
- (this branch uses ps/history.)
467
+ (this branch uses ps/history and pw/replay-exclude-gpgsig-fix.)
468
469
"git replay" is taught to drop commits that become empty (not the
470
ones that are empty in the original).
@@ -277,76 +484,16 @@ Release tarballs are available at:
484
source: <pull.2107.v2.git.git.1763926552033.gitgitgadget@gmail.com>
485
486
280
-* rs/config-set-multi-error-message-fix (2025-11-24) 1 commit
281
- (merged to 'next' on 2025-11-26 at 639a1e26d2)
282
- + config: fix suggestion for failed set of multi-valued option
283
-
284
- The error message given by "git config set", when the variable
285
- being updated has more than one values defined, used old style "git
286
- config" syntax with an incorrect option in its hint, both of which
287
- have been corrected.
288
-
289
- Will merge to 'master'.
290
- source: <c09945fe-fee2-47f6-8193-ac60d7245209@web.de>
291
-
292
-
293
-* rs/config-unset-opthelp-fix (2025-11-24) 1 commit
294
- (merged to 'next' on 2025-11-26 at 31e282f4ae)
295
- + config: fix short help of unset flags
296
-
297
- The option help text given by "git config unset -h" described
298
- the "--all" option to "replace", not "unset", multiple variables,
299
- which has been corrected.
300
-
301
- Will merge to 'master'.
302
- source: <06997dce-e4d5-4889-8e70-5f44da3dc800@web.de>
303
-
304
-
305
-* wm/complete-git-short-opts (2025-11-26) 1 commit
306
- - completion: complete "git -<TAB>" with short options
307
-
308
- The command line completion script (in contrib/) learned to
309
- complete "git -<TAB>" to give single-letter options like "-C".
310
-
311
- Will merge to 'next'?
312
- source: <pull.2100.v2.git.git.1764174391776.gitgitgadget@gmail.com>
313
-
314
-
315
-* jc/optional-path (2025-11-20) 3 commits
316
- (merged to 'next' on 2025-11-25 at 5e75404281)
317
- + config: really treat missing optional path as not configured
318
- + config: really pretend missing :(optional) value is not there
319
- + config: mark otherwise unused function as file-scope static
320
-
321
- "git config get --path" segfaulted on an ":(optional)path" that
322
- does not exist, which has been corrected.
323
-
324
- Will merge to 'master'.
325
- source: <xmqqikf47ajk.fsf@gitster.g>
326
-
327
-
328
-* kh/doc-committer-date-is-author-date (2025-11-20) 1 commit
329
- (merged to 'next' on 2025-11-25 at 9f829587af)
330
- + doc: warn against --committer-date-is-author-date
331
-
332
- The "--committer-date-is-author-date" option of "git am/rebase" is
333
- a misguided one. The documentation is updated to discourage its
334
- use.
335
-
336
- Will merge to 'master'.
337
- source: <V2_committer-date-is-author-date.1@msgid.xyz>
338
-
339
-
487
* gf/win32-pthread-cond-init (2025-11-20) 1 commit
488
- win32: pthread_cond_init should return a value
489
490
Emulation code clean-up.
491
345
- Will merge to 'next'?
492
+ Will merge to 'next'.
493
source: <pull.2103.v3.git.git.1763675016637.gitgitgadget@gmail.com>
494
495
349
-* kn/ref-location (2025-11-26) 2 commits
496
+* kn/ref-location (2025-12-01) 2 commits
497
- refs: add GIT_REF_URI to specify reference backend and directory
498
- refs: support obtaining ref_store for given dir
499
@@ -355,31 +502,7 @@ Release tarballs are available at:
502
be useful during ref migration.
503
504
Comments?
358
- source: <20251126-kn-alternate-ref-dir-v2-0-8b9f6f18f635@gmail.com>
359
-
360
-
361
-* js/ci-show-breakage-in-dockerized-jobs (2025-11-17) 1 commit
362
- (merged to 'next' on 2025-11-26 at 3c4a8c430f)
363
- + ci(dockerized): do show the result of failing tests again
364
-
365
- Dockerised jobs at the GitHub Actions CI have been taught to show
366
- more details of failed tests.
367
-
368
- Will merge to 'master'.
369
- cf. <xmqqpl9gike6.fsf@gitster.g>
370
- cf. <CABPp-BErdhTjbqDem4Xvc-XbhgLUEpy9-eiaaR1F_diMca--6A@mail.gmail.com>
371
- source: <pull.2003.git.1763399064983.gitgitgadget@gmail.com>
372
-
373
-
374
-* js/strip-scalar-too (2025-11-17) 1 commit
375
- (merged to 'next' on 2025-11-25 at 9f2607acfb)
376
- + make strip: include `scalar`
377
-
378
- "make strip" has been taught to strip "scalar" as well as "git".
379
-
380
- Will merge to 'master'.
381
- cf. <xmqq7bvoiadg.fsf@gitster.g>
382
- source: <pull.2004.git.1763409086322.gitgitgadget@gmail.com>
505
+ source: <20251201-kn-alternate-ref-dir-v3-0-c11b946bc2fa@gmail.com>
506
507
508
* dw/config-global-list (2025-10-09) 4 commits
@@ -423,34 +546,10 @@ Release tarballs are available at:
546
The "git_istream" abstraction has been revamped to make it easier
547
to interface with pluggable object database design.
548
426
- Will merge to 'next'?
549
+ Will merge to 'next'.
550
source: <20251123-b4-pks-odb-read-stream-v3-0-1a129182822b@pks.im>
551
552
430
-* ps/object-source-management (2025-11-18) 14 commits
431
- (merged to 'next' on 2025-11-26 at 6f98745b4a)
432
- + odb: handle recreation of quarantine directories
433
- + odb: handle changing a repository's commondir
434
- + chdir-notify: add function to unregister listeners
435
- + odb: handle initialization of sources in `odb_new()`
436
- + http-push: stop setting up `the_repository` for each reference
437
- + t/helper: stop setting up `the_repository` repeatedly
438
- + builtin/index-pack: fix deferred fsck outside repos
439
- + oidset: introduce `oidset_equal()`
440
- + odb: move logic to disable ref updates into repo
441
- + odb: refactor `odb_clear()` to `odb_free()`
442
- + odb: adopt logic to close object databases
443
- + setup: convert `set_git_dir()` to have file scope
444
- + path: move `enter_repo()` into "setup.c"
445
- + Merge branch 'ps/object-source-loose' into ps/object-source-management
446
-
447
- Code refactoring around object database sources.
448
-
449
- Will merge to 'master'.
450
- cf. <aSAZSyUzIMvn-IvR@pks.im>
451
- source: <20251119-b4-pks-odb-creation-v1-0-2b2ed2612cb6@pks.im>
452
-
453
-
553
* jc/submodule-add (2025-11-15) 1 commit
554
- submodule add: sanity check existing .gitmodules
555
@@ -472,7 +571,8 @@ Release tarballs are available at:
571
needs to overwrite existing one, failed to fetch other tags, which
572
has been corrected.
573
475
- Will merge to 'next'?
574
+ Expecting a (hopefully small and final) reroll.
575
+ cf. <CAOLa=ZQ-O7V9qHbgeuQ78R1bHGDmGEM6fP5Kr9aC0AfvSF8MZA@mail.gmail.com>
576
source: <20251121-fix-tags-not-fetching-v8-0-23b53a8a8334@gmail.com>
577
578
@@ -501,19 +601,6 @@ Release tarballs are available at:
601
source: <xmqqtsz9o3cn.fsf@gitster.g>
602
603
504
-* cc/fast-import-strip-if-invalid (2025-11-16) 3 commits
505
- (merged to 'next' on 2025-11-26 at 7235cd0d18)
506
- + fast-import: add 'strip-if-invalid' mode to --signed-commits=<mode>
507
- + commit: refactor verify_commit_buffer()
508
- + fast-import: refactor finalize_commit_buffer()
509
-
510
- "git fast-import" learns "--strip-if-invalid" option to drop
511
- invalid cryptographic signature from objects.
512
-
513
- Will merge to 'master'.
514
- source: <20251117043450.322644-1-christian.couder@gmail.com>
515
-
516
-
604
* bc/sha1-256-interop-02 (2025-11-17) 15 commits
605
- object-file-convert: always make sure object ID algo is valid
606
- rust: add a small wrapper around the hashfile code
@@ -536,26 +623,7 @@ Release tarballs are available at:
623
source: <20251117221621.2863243-1-sandals@crustytoothpaste.net>
624
625
539
-* en/xdiff-cleanup-2 (2025-11-18) 10 commits
540
- (merged to 'next' on 2025-11-25 at 452b7107da)
541
- + xdiff: rename rindex -> reference_index
542
- + xdiff: change rindex from long to size_t in xdfile_t
543
- + xdiff: make xdfile_t.nreff a size_t instead of long
544
- + xdiff: make xdfile_t.nrec a size_t instead of long
545
- + xdiff: split xrecord_t.ha into line_hash and minimal_perfect_hash
546
- + xdiff: use unambiguous types in xdl_hash_record()
547
- + xdiff: use size_t for xrecord_t.size
548
- + xdiff: make xrecord_t.ptr a uint8_t instead of char
549
- + xdiff: use ptrdiff_t for dstart/dend
550
- + doc: define unambiguous type mappings across C and Rust
551
-
552
- Code clean-up.
553
-
554
- Will merge to 'master'.
555
- source: <pull.2070.v5.git.git.1763505262.gitgitgadget@gmail.com>
556
-
557
-
558
-* ar/run-command-hook (2025-11-24) 10 commits
626
+* ar/run-command-hook (2025-12-04) 11 commits
627
- receive-pack: convert receive hooks to hook API
628
- receive-pack: convert update hooks to new API
629
- hooks: allow callers to capture output
@@ -566,12 +634,13 @@ Release tarballs are available at:
634
- hook: convert 'post-rewrite' hook in sequencer.c to hook API
635
- hook: provide stdin via callback
636
- run-command: add stdin callback for parallelization
637
+ - run-command: add first helper for pp child states
638
639
Use hook API to replace ad-hoc invocation of hook scripts with the
640
run_command() API.
641
642
Will merge to 'next'?
574
- source: <20251124172043.1650014-1-adrian.ratiu@collabora.com>
643
+ source: <20251204141535.1986263-1-adrian.ratiu@collabora.com>
644
645
646
* je/doc-reset (2025-10-17) 4 commits
@@ -587,9 +656,10 @@ Release tarballs are available at:
656
source: <pull.1991.git.1760731558.gitgitgadget@gmail.com>
657
658
590
-* ps/history (2025-10-27) 12 commits
659
+* ps/history (2025-12-03) 13 commits
660
- builtin/history: implement "split" subcommand
661
- cache-tree: allow writing in-memory index as tree
662
+ - add-patch: allow disabling editing of hunks
663
- add-patch: add support for in-memory index patching
664
- add-patch: remove dependency on "add-interactive" subsystem
665
- add-patch: split out `struct interactive_options`
@@ -599,14 +669,13 @@ Release tarballs are available at:
669
- replay: stop using `the_repository`
670
- replay: extract logic to pick commits
671
- wt-status: provide function to expose status for trees
602
- - Merge branch 'sa/replay-atomic-ref-updates' into ps/history
603
- (this branch is used by pw/replay-drop-empty.)
672
+ - Merge branch 'pw/replay-exclude-gpgsig-fix' into ps/history
673
+ (this branch is used by pw/replay-drop-empty; uses pw/replay-exclude-gpgsig-fix.)
674
675
"git history" history rewriting UI.
676
607
- Expecting a reroll.
608
- cf. <aRxDYkeAi8T-HH8M@pks.im>
609
- source: <20251027-b4-pks-history-builtin-v6-0-407dd3f57ad3@pks.im>
677
+ Ready?
678
+ source: <20251203-b4-pks-history-builtin-v7-0-9e9f849bfd0e@pks.im>
679
680
681
* ms/doc-worktree-side-by-side (2025-10-10) 2 commits
@@ -634,5 +703,18 @@ Release tarballs are available at:
703
each other by encoding submodule names before using them as path
704
components.
705
637
- Will merge to 'next'?
706
+ Expecting a reroll.
707
source: <20251119211030.2008441-1-adrian.ratiu@collabora.com>
708
+
709
+--------------------------------------------------
710
+[Discarded]
711
+
712
+* wm/complete-git-short-opts (2025-11-26) 1 commit
713
+ - completion: complete "git -<TAB>" with short options
714
+
715
+ The command line completion script (in contrib/) learned to
716
+ complete "git -<TAB>" to give single-letter options like "-C".
717
+
718
+ Will discard. We do not complete single-letter options themselves.
719
+ cf. <xmqqo6onjfwl.fsf@gitster.g>
720
+ source: <pull.2100.v2.git.git.1764174391776.gitgitgadget@gmail.com>