What's cooking (2025/11 #08)

Junio C Hamano committed Nov 25, 2025 at 15:04 UTC f1da9159bc17a4a42c48d69ca69acf3dea17757c
1 file changed +217 -217
whats-cooking.txt
+217 -217
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Nov 2025, #07; Sun, 23)
3 -X-master-at: debbc87557487aa9a8ed8a35367d17f8b4081c76
4 -X-next-at: 89d9e04f91292258263fb94060e466f84fbfc9d4
2 +Subject: What's cooking in git.git (Nov 2025, #08; Tue, 25)
3 +X-master-at: 6ab38b7e9cc7adafc304f3204616a4debd49c6e9
4 +X-next-at: 9f829587aff1b6c6d7a88078af6c6011bf5bcd19
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Nov 2025, #07; Sun, 23)
7 +What's cooking in git.git (Nov 2025, #08; Tue, 25)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -48,49 +48,168 @@ Release tarballs are available at:
48 --------------------------------------------------
49 [Graduated to 'master']
50
51 -* jc/gitattributes-whitespace-no-indent-fix (2025-11-11) 1 commit
52 - (merged to 'next' on 2025-11-19 at cd849a23a1)
53 - + .gitattributes: remove misspelled no-op whitespace attribute
51 +* bc/submodule-force-same-hash (2025-11-14) 2 commits
52 + (merged to 'next' on 2025-11-19 at eec9dca32c)
53 + + read-cache: drop submodule check from add_to_cache()
54 + + object-file: disallow adding submodules of different hash algo
55 +
56 + Originally merged to 'next' on 2025-11-16
57 +
58 + Adding a repository that uses a different hash function is a no-no,
59 + but "git submodule add" didn't prevent it, which has been corrected.
60 + source: <20251112235434.1499699-1-sandals@crustytoothpaste.net>
61 +
62 +
63 +* jk/attr-macroexpand-wo-recursion (2025-11-11) 1 commit
64 + (merged to 'next' on 2025-11-19 at 5d5f74f4f0)
65 + + attr: avoid recursion when expanding attribute macros
66 +
67 + Originally merged to 'next' on 2025-11-16
68 +
69 + The code to expand attribute macros has been rewritten without
70 + recursion to avoid running out of stack space in an uncontrolled
71 + way.
72 + source: <20251111223647.GA4055973@coredump.intra.peff.net>
73 +
74 +
75 +* jx/repo-struct-utf8width-fix (2025-11-15) 2 commits
76 + (merged to 'next' on 2025-11-19 at 35bff72b75)
77 + + builtin/repo: fix table alignment for UTF-8 characters
78 + + t/unit-tests: add UTF-8 width tests for CJK chars
79 +
80 + Originally merged to 'next' on 2025-11-18
81 +
82 + The "git repo structure" subcommand tried to align its output but
83 + mixed up byte count and display column width, which has been
84 + corrected.
85 + source: <cover.1763213290.git.worldhello.net@gmail.com>
86 +
87 +
88 +* kh/doc-commit-extra-references (2025-11-14) 1 commit
89 + (merged to 'next' on 2025-11-19 at 9c89891116)
90 + + doc: commit: link to git-status(1) on all format options
91 +
92 + Originally merged to 'next' on 2025-11-18
93 +
94 + Doc update.
95 + source: <c4349a03724.1763129061.git.code@khaugsbakk.name>
96 +
97 +
98 +* kn/osxkeychain-idempotent-store-fix (2025-11-13) 1 commit
99 + (merged to 'next' on 2025-11-19 at 335d6bb2ea)
100 + + osxkeychain: avoid incorrectly skipping store operation
101 +
102 + Originally merged to 'next' on 2025-11-18
103 +
104 + An earlier check added to osx keychain credential helper to avoid
105 + storing the credential itself supplied was overeager and rejected
106 + credential material supplied by other helper backends that it would
107 + have wanted to store, which has been corrected.
108 + source: <pull.1999.v2.git.1763100270949.gitgitgadget@gmail.com>
109 +
110 +
111 +* ps/object-source-loose (2025-11-02) 13 commits
112 + (merged to 'next' on 2025-11-19 at 8bb0269243)
113 + + object-file: refactor writing objects via a stream
114 + + object-file: rename `write_object_file()`
115 + + object-file: refactor freshening of objects
116 + + object-file: rename `has_loose_object()`
117 + + object-file: read objects via the loose object source
118 + + object-file: move loose object map into loose source
119 + + object-file: hide internals when we need to reprepare loose sources
120 + + object-file: move loose object cache into loose source
121 + + object-file: introduce `struct odb_source_loose`
122 + + object-file: move `fetch_if_missing`
123 + + odb: adjust naming to free object sources
124 + + odb: introduce `odb_source_new()`
125 + + odb: fix subtle logic to check whether an alternate is usable
126 + (this branch is used by ps/object-read-stream and ps/object-source-management.)
127
55 - Originally merged to 'next' on 2025-11-14
128 + Originally merged to 'next' on 2025-11-18
129
57 - Ever since we added whitespace rules for this project, we misspelt
58 - an entry, which has been corrected.
59 - source: <xmqqv7jgwgxb.fsf@gitster.g>
130 + A part of the code path that deals with loose objects has been cleaned
131 + up.
132 + source: <20251103-b4-pks-odb-loose-backend-v3-0-6a61ea977393@pks.im>
133
134
62 -* kn/maintenance-is-needed (2025-11-08) 7 commits
63 - (merged to 'next' on 2025-11-19 at faaa24f412)
64 - + maintenance: add 'is-needed' subcommand
65 - + maintenance: add checking logic in `pack_refs_condition()`
66 - + refs: add a `optimize_required` field to `struct ref_storage_be`
67 - + reftable/stack: add function to check if optimization is required
68 - + reftable/stack: return stack segments directly
69 - + Merge branch 'kn/refs-optim-cleanup' into kn/maintenance-is-needed
70 - + Merge branch 'ps/ref-peeled-tags' into kn/maintenance-is-needed
135 +* qj/doc-http-bad-want-response (2025-11-05) 1 commit
136 + (merged to 'next' on 2025-11-19 at a602cd96eb)
137 + + doc: clarify server behavior for invalid 'want' lines in HTTP protocol
138
72 - Originally merged to 'next' on 2025-11-14
139 + Originally merged to 'next' on 2025-11-18
140
74 - "git maintenance" command learned "is-needed" subcommand to tell if
75 - it is necessary to perform various maintenance tasks.
76 - source: <20251108-562-add-sub-command-to-check-if-maintenance-is-needed-v4-0-a90f229b6023@gmail.com>
141 + Doc update.
142 + source: <20251105143849.1192-1-qjessa662@gmail.com>
143
144
79 -* rs/diff-quiet-no-rename (2025-11-09) 1 commit
80 - (merged to 'next' on 2025-11-19 at dc0b078446)
81 - + diff: disable rename detection with --quiet
145 +* sa/replay-atomic-ref-updates (2025-11-05) 3 commits
146 + (merged to 'next' on 2025-11-19 at ae19b06a22)
147 + + replay: add replay.refAction config option
148 + + replay: make atomic ref updates the default behavior
149 + + replay: use die_for_incompatible_opt2() for option validation
150 + (this branch is used by ps/history.)
151
83 - Originally merged to 'next' on 2025-11-14
152 + Originally merged to 'next' on 2025-11-18
153
85 - As "git diff --quiet" only cares about the existence of any
86 - changes, disable rename/copy detection to skip more expensive
87 - processing whose result will be discarded anyway.
88 - source: <8796cd59-2335-4674-823d-d682ce7b7f8e@web.de>
154 + "git replay" (experimental) learned to perform ref updates itself
155 + in a transaction by default, instead of emitting where each refs
156 + should point at and leaving the actual update to another command.
157 + cf. <00a5a8f3-f761-46e8-84cc-4bd95db68b49@gmail.com>
158 + source: <20251105191650.89975-1-siddharthasthana31@gmail.com>
159
160 --------------------------------------------------
161 [New Topics]
162
93 -* ja/doc-synopsis-style (2025-11-19) 3 commits
163 +* sp/shallow-time-boundary (2025-11-23) 1 commit
164 + - shallow: set borders which are all reachable after clone shallow since
165 +
166 + The set of shallow boundary "git clone --shallow-since" leaves
167 + contained commits that are not on the boundary, which has been
168 + corrected.
169 +
170 + Comments?
171 + source: <pull.2107.v2.git.git.1763926552033.gitgitgadget@gmail.com>
172 +
173 +
174 +* rs/config-set-multi-error-message-fix (2025-11-24) 1 commit
175 + - config: fix suggestion for failed set of multi-valued option
176 +
177 + The error message given by "git config set", when the variable
178 + being updated has more than one values defined, used old style "git
179 + config" syntax with an incorrect option in its hint, both of which
180 + have been corrected.
181 +
182 + Will merge to 'next'.
183 + source: <c09945fe-fee2-47f6-8193-ac60d7245209@web.de>
184 +
185 +
186 +* rs/config-unset-opthelp-fix (2025-11-24) 1 commit
187 + - config: fix short help of unset flags
188 +
189 + The option help text given by "git config unset -h" described
190 + the "--all" option to "replace", not "unset", multiple variables,
191 + which has been corrected.
192 +
193 + Will merge to 'next'.
194 + source: <06997dce-e4d5-4889-8e70-5f44da3dc800@web.de>
195 +
196 +
197 +* wm/complete-git-short-opts (2025-11-24) 1 commit
198 + - Add completion for short options
199 +
200 + The command line completion script (in contrib/) learned to
201 + complete "git -<TAB>" to give single-letter options like "-C".
202 +
203 + Expecting a reroll.
204 + cf. <xmqq5xayt66k.fsf@gitster.g>
205 + source: <pull.2100.git.git.1764052739534.gitgitgadget@gmail.com>
206 +
207 +--------------------------------------------------
208 +[Cooking]
209 +
210 +* ja/doc-synopsis-style (2025-11-24) 4 commits
211 + (merged to 'next' on 2025-11-24 at 10610d9a57)
212 + + doc: pull-fetch-param typofix
213 (merged to 'next' on 2025-11-21 at eb9c1703c0)
214 + doc: convert git push to synopsis style
215 + doc: convert git pull to synopsis style
@@ -103,25 +222,27 @@ Release tarballs are available at:
222
223
224 * jc/optional-path (2025-11-20) 3 commits
106 - - config: really treat missing optional path as not configured
107 - - config: really pretend missing :(optional) value is not there
108 - - config: mark otherwise unused function as file-scope static
225 + (merged to 'next' on 2025-11-25 at 5e75404281)
226 + + config: really treat missing optional path as not configured
227 + + config: really pretend missing :(optional) value is not there
228 + + config: mark otherwise unused function as file-scope static
229
230 "git config get --path" segfaulted on an ":(optional)path" that
231 does not exist, which has been corrected.
232
113 - Will merge to 'next'?
233 + Will merge to 'master'.
234 source: <xmqqikf47ajk.fsf@gitster.g>
235
236
237 * kh/doc-committer-date-is-author-date (2025-11-20) 1 commit
118 - - doc: warn against --committer-date-is-author-date
238 + (merged to 'next' on 2025-11-25 at 9f829587af)
239 + + doc: warn against --committer-date-is-author-date
240
241 The "--committer-date-is-author-date" option of "git am/rebase" is
242 a misguided one. The documentation is updated to discourage its
243 use.
244
124 - Will merge to 'next'?
245 + Will merge to 'master'.
246 source: <V2_committer-date-is-author-date.1@msgid.xyz>
247
248
@@ -153,8 +274,6 @@ Release tarballs are available at:
274 be useful during ref migration.
275 source: <20251119-kn-alternate-ref-dir-v1-0-4cf4a94c8bed@gmail.com>
276
156 ---------------------------------------------------
157 -[Cooking]
277
278 * jk/ci-windows-meson-test-fix (2025-11-18) 2 commits
279 (merged to 'next' on 2025-11-20 at a0afd4fd5b)
@@ -189,7 +308,8 @@ Release tarballs are available at:
308 source: <ebc68ec5b2abbc4702b94f833b9b3bf1adb79f1a.1763450087.git.zhiyou.jx@alibaba-inc.com>
309
310
192 -* js/ci-show-breakage-in-dockerized-jobs (2025-11-17) 1 commit
311 +* js/ci-show-breakage-in-dockerized-jobs (2025-11-25) 2 commits
312 + - amend! ci(dockerized): do show the result of failing tests again
313 - ci(dockerized): do show the result of failing tests again
314
315 Dockerised jobs at the GitHub Actions CI have been taught to show
@@ -197,6 +317,7 @@ Release tarballs are available at:
317
318 Will merge to 'next' after amending?
319 cf. <xmqqpl9gike6.fsf@gitster.g>
320 + cf. <CABPp-BErdhTjbqDem4Xvc-XbhgLUEpy9-eiaaR1F_diMca--6A@mail.gmail.com>
321 source: <pull.2003.git.1763399064983.gitgitgadget@gmail.com>
322
323
@@ -225,11 +346,12 @@ Release tarballs are available at:
346
347
348 * js/strip-scalar-too (2025-11-17) 1 commit
228 - - make strip: include `scalar`
349 + (merged to 'next' on 2025-11-25 at 9f2607acfb)
350 + + make strip: include `scalar`
351
352 "make strip" has been taught to strip "scalar" as well as "git".
353
232 - Will merge to 'next'?
354 + Will merge to 'master'.
355 cf. <xmqq7bvoiadg.fsf@gitster.g>
356 source: <pull.2004.git.1763409086322.gitgitgadget@gmail.com>
357
@@ -278,7 +400,8 @@ Release tarballs are available at:
400 configuration files, i.e. $HOME/.gitconfig and the XDG one, which
401 has been corrected.
402
281 - Comments?
403 + Expecting a reroll.
404 + cf. <20251122020047.GB3947@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net>
405 source: <pull.1938.git.1760058849.gitgitgadget@gmail.com>
406
407
@@ -303,7 +426,6 @@ Release tarballs are available at:
426 - streaming: drop the `open()` callback function
427 - streaming: rename `git_istream` into `odb_read_stream`
428 - Merge branch 'ps/object-source-loose' into ps/object-read-stream
306 - (this branch uses ps/object-source-loose.)
429
430 The "git_istream" abstraction has been revamped to make it easier
431 to interface with pluggable object database design.
@@ -327,11 +449,11 @@ Release tarballs are available at:
449 - setup: convert `set_git_dir()` to have file scope
450 - path: move `enter_repo()` into "setup.c"
451 - Merge branch 'ps/object-source-loose' into ps/object-source-management
330 - (this branch uses ps/object-source-loose.)
452
453 Code refactoring around object database sources.
454
334 - Comments?
455 + Will merge to 'next' after amending a typo?
456 + cf. <aSAZSyUzIMvn-IvR@pks.im>
457 source: <20251119-b4-pks-odb-creation-v1-0-2b2ed2612cb6@pks.im>
458
459
@@ -361,90 +483,21 @@ Release tarballs are available at:
483
484
485 * jk/asan-bonanza (2025-11-18) 9 commits
364 - - t: enable ASan's strict_string_checks option
365 - - fsck: avoid parse_timestamp() on buffer that isn't NUL-terminated
366 - - fsck: remove redundant date timestamp check
367 - - fsck: avoid strcspn() in fsck_ident()
368 - - fsck: assert newline presence in fsck_ident()
369 - - cache-tree: avoid strtol() on non-string buffer
370 - - Makefile: turn on NO_MMAP when building with ASan
371 - - pack-bitmap: handle name-hash lookups in incremental bitmaps
372 - - compat/mmap: mark unused argument in git_munmap()
486 + (merged to 'next' on 2025-11-24 at 066fc38a19)
487 + + t: enable ASan's strict_string_checks option
488 + + fsck: avoid parse_timestamp() on buffer that isn't NUL-terminated
489 + + fsck: remove redundant date timestamp check
490 + + fsck: avoid strcspn() in fsck_ident()
491 + + fsck: assert newline presence in fsck_ident()
492 + + cache-tree: avoid strtol() on non-string buffer
493 + + Makefile: turn on NO_MMAP when building with ASan
494 + + pack-bitmap: handle name-hash lookups in incremental bitmaps
495 + + compat/mmap: mark unused argument in git_munmap()
496
497 Various issues detected by Asan have been corrected.
498
376 - Will merge to 'next'.
377 - source: <20251118091127.GA4175601@coredump.intra.peff.net>
378 -
379 -
380 -* jk/attr-macroexpand-wo-recursion (2025-11-11) 1 commit
381 - (merged to 'next' on 2025-11-19 at 5d5f74f4f0)
382 - + attr: avoid recursion when expanding attribute macros
383 -
384 - Originally merged to 'next' on 2025-11-16
385 -
386 - The code to expand attribute macros has been rewritten to avoid
387 - recursion to avoid running out of stack space in an uncontrolled
388 - way.
389 -
390 - Will merge to 'master'.
391 - source: <20251111223647.GA4055973@coredump.intra.peff.net>
392 -
393 -
394 -* bc/submodule-force-same-hash (2025-11-14) 2 commits
395 - (merged to 'next' on 2025-11-19 at eec9dca32c)
396 - + read-cache: drop submodule check from add_to_cache()
397 - + object-file: disallow adding submodules of different hash algo
398 -
399 - Originally merged to 'next' on 2025-11-16
400 -
401 - Adding a repository that uses a different hash function is a no-no,
402 - but "git submodule add" did nt prevent it, which has been corrected.
403 -
499 Will merge to 'master'.
405 - source: <20251112235434.1499699-1-sandals@crustytoothpaste.net>
406 -
407 -
408 -* jx/repo-struct-utf8width-fix (2025-11-15) 2 commits
409 - (merged to 'next' on 2025-11-19 at 35bff72b75)
410 - + builtin/repo: fix table alignment for UTF-8 characters
411 - + t/unit-tests: add UTF-8 width tests for CJK chars
412 -
413 - Originally merged to 'next' on 2025-11-18
414 -
415 - The "git repo structure" subcommand tried to align its output but
416 - mixed up byte count and display column width, which has been
417 - corrected.
418 -
419 - Will merge to 'master'.
420 - source: <cover.1763213290.git.worldhello.net@gmail.com>
421 -
422 -
423 -* kh/doc-commit-extra-references (2025-11-14) 1 commit
424 - (merged to 'next' on 2025-11-19 at 9c89891116)
425 - + doc: commit: link to git-status(1) on all format options
426 -
427 - Originally merged to 'next' on 2025-11-18
428 -
429 - Doc update.
430 -
431 - Will merge to 'master'.
432 - source: <c4349a03724.1763129061.git.code@khaugsbakk.name>
433 -
434 -
435 -* kn/osxkeychain-idempotent-store-fix (2025-11-13) 1 commit
436 - (merged to 'next' on 2025-11-19 at 335d6bb2ea)
437 - + osxkeychain: avoid incorrectly skipping store operation
438 -
439 - Originally merged to 'next' on 2025-11-18
440 -
441 - An earlier check added to osx keychain credential helper to avoid
442 - storing the credential itself supplied was overeager and rejected
443 - credential material supplied by other helper backends that it would
444 - have wanted to store, which has been corrected.
445 -
446 - Will merge to 'master'.
447 - source: <pull.1999.v2.git.1763100270949.gitgitgadget@gmail.com>
500 + source: <20251118091127.GA4175601@coredump.intra.peff.net>
501
502
503 * lc/rebase-trailer (2025-11-05) 4 commits
@@ -474,18 +527,6 @@ Release tarballs are available at:
527 source: <pull.1992.git.1762192908.gitgitgadget@gmail.com>
528
529
477 -* qj/doc-http-bad-want-response (2025-11-05) 1 commit
478 - (merged to 'next' on 2025-11-19 at a602cd96eb)
479 - + doc: clarify server behavior for invalid 'want' lines in HTTP protocol
480 -
481 - Originally merged to 'next' on 2025-11-18
482 -
483 - Doc update.
484 -
485 - Will merge to 'master'.
486 - source: <20251105143849.1192-1-qjessa662@gmail.com>
487 -
488 -
530 * jc/exclude-with-gitignore (2025-11-04) 1 commit
531 - dir.c: do not be fooled by :(exclude) pathspec elements
532
@@ -505,55 +546,30 @@ Release tarballs are available at:
546 "git fast-import" learns "--strip-if-invalid" option to drop
547 invalid cryptographic signature from objects.
548
508 - Comments?
549 + Will merge to 'next'.
550 source: <20251117043450.322644-1-christian.couder@gmail.com>
551
552
553 * jc/whitespace-incomplete-line (2025-11-12) 12 commits
513 - - attr: enable incomplete-line whitespace error for this project
514 - - diff: highlight and error out on incomplete lines
515 - - apply: check and fix incomplete lines
516 - - whitespace: allocate a few more bits and define WS_INCOMPLETE_LINE
517 - - apply: revamp the parsing of incomplete lines
518 - - diff: update the way rewrite diff handles incomplete lines
519 - - diff: call emit_callback ecbdata everywhere
520 - - diff: refactor output of incomplete line
521 - - diff: keep track of the type of the last line seen
522 - - diff: correct suppress_blank_empty hack
523 - - diff: emit_line_ws_markup() if/else style fix
524 - - whitespace: correct bit assignment comments
554 + (merged to 'next' on 2025-11-24 at 9682c7f652)
555 + + attr: enable incomplete-line whitespace error for this project
556 + + diff: highlight and error out on incomplete lines
557 + + apply: check and fix incomplete lines
558 + + whitespace: allocate a few more bits and define WS_INCOMPLETE_LINE
559 + + apply: revamp the parsing of incomplete lines
560 + + diff: update the way rewrite diff handles incomplete lines
561 + + diff: call emit_callback ecbdata everywhere
562 + + diff: refactor output of incomplete line
563 + + diff: keep track of the type of the last line seen
564 + + diff: correct suppress_blank_empty hack
565 + + diff: emit_line_ws_markup() if/else style fix
566 + + whitespace: correct bit assignment comments
567
568 Both "git apply" and "git diff" learn a new whitespace error class,
569 "incomplete-line".
570
529 - Will merge to 'next'.
530 - source: <20251112220258.1009253-1-gitster@pobox.com>
531 -
532 -
533 -* ps/object-source-loose (2025-11-02) 13 commits
534 - (merged to 'next' on 2025-11-19 at 8bb0269243)
535 - + object-file: refactor writing objects via a stream
536 - + object-file: rename `write_object_file()`
537 - + object-file: refactor freshening of objects
538 - + object-file: rename `has_loose_object()`
539 - + object-file: read objects via the loose object source
540 - + object-file: move loose object map into loose source
541 - + object-file: hide internals when we need to reprepare loose sources
542 - + object-file: move loose object cache into loose source
543 - + object-file: introduce `struct odb_source_loose`
544 - + object-file: move `fetch_if_missing`
545 - + odb: adjust naming to free object sources
546 - + odb: introduce `odb_source_new()`
547 - + odb: fix subtle logic to check whether an alternate is usable
548 - (this branch is used by ps/object-read-stream and ps/object-source-management.)
549 -
550 - Originally merged to 'next' on 2025-11-18
551 -
552 - A part of code paths that deals with loose objects has been cleaned
553 - up.
554 -
571 Will merge to 'master'.
556 - source: <20251103-b4-pks-odb-loose-backend-v3-0-6a61ea977393@pks.im>
572 + source: <20251112220258.1009253-1-gitster@pobox.com>
573
574
575 * bc/sha1-256-interop-02 (2025-11-17) 15 commits
@@ -602,30 +618,31 @@ Release tarballs are available at:
618
619
620 * en/xdiff-cleanup-2 (2025-11-18) 10 commits
605 - - xdiff: rename rindex -> reference_index
606 - - xdiff: change rindex from long to size_t in xdfile_t
607 - - xdiff: make xdfile_t.nreff a size_t instead of long
608 - - xdiff: make xdfile_t.nrec a size_t instead of long
609 - - xdiff: split xrecord_t.ha into line_hash and minimal_perfect_hash
610 - - xdiff: use unambiguous types in xdl_hash_record()
611 - - xdiff: use size_t for xrecord_t.size
612 - - xdiff: make xrecord_t.ptr a uint8_t instead of char
613 - - xdiff: use ptrdiff_t for dstart/dend
614 - - doc: define unambiguous type mappings across C and Rust
621 + (merged to 'next' on 2025-11-25 at 452b7107da)
622 + + xdiff: rename rindex -> reference_index
623 + + xdiff: change rindex from long to size_t in xdfile_t
624 + + xdiff: make xdfile_t.nreff a size_t instead of long
625 + + xdiff: make xdfile_t.nrec a size_t instead of long
626 + + xdiff: split xrecord_t.ha into line_hash and minimal_perfect_hash
627 + + xdiff: use unambiguous types in xdl_hash_record()
628 + + xdiff: use size_t for xrecord_t.size
629 + + xdiff: make xrecord_t.ptr a uint8_t instead of char
630 + + xdiff: use ptrdiff_t for dstart/dend
631 + + doc: define unambiguous type mappings across C and Rust
632
633 Code clean-up.
634
618 - Will merge to 'next'?
635 + Will merge to 'master'.
636 source: <pull.2070.v5.git.git.1763505262.gitgitgadget@gmail.com>
637
638
622 -* ar/run-command-hook (2025-10-17) 10 commits
639 +* ar/run-command-hook (2025-11-24) 10 commits
640 - receive-pack: convert receive hooks to hook API
641 - receive-pack: convert update hooks to new API
642 - hooks: allow callers to capture output
643 - run-command: allow capturing of collated output
627 - - reference-transaction: use hook API instead of run-command
644 - hook: allow overriding the ungroup option
645 + - reference-transaction: use hook API instead of run-command
646 - transport: convert pre-push to hook API
647 - hook: convert 'post-rewrite' hook in sequencer.c to hook API
648 - hook: provide stdin via callback
@@ -634,9 +651,8 @@ Release tarballs are available at:
651 Use hook API to replace ad-hoc invocation of hook scripts with the
652 run_command() API.
653
637 - Seems to leak and break CI
638 - cf. <xmqq346ff56h.fsf@gitster.g>
639 - source: <20251017141544.1538542-1-adrian.ratiu@collabora.com>
654 + Will merge to 'next'?
655 + source: <20251124172043.1650014-1-adrian.ratiu@collabora.com>
656
657
658 * je/doc-reset (2025-10-17) 4 commits
@@ -653,11 +669,12 @@ Release tarballs are available at:
669
670
671 * je/doc-data-model (2025-11-12) 1 commit
656 - - doc: add an explanation of Git's data model
672 + (merged to 'next' on 2025-11-24 at 50e59df383)
673 + + doc: add an explanation of Git's data model
674
675 Add a new manual that describes the data model.
676
660 - Will merge to 'next'.
677 + Will merge to 'master'.
678 source: <pull.1981.v7.git.1762977200244.gitgitgadget@gmail.com>
679
680
@@ -674,7 +691,6 @@ Release tarballs are available at:
691 - replay: extract logic to pick commits
692 - wt-status: provide function to expose status for trees
693 - Merge branch 'sa/replay-atomic-ref-updates' into ps/history
677 - (this branch uses sa/replay-atomic-ref-updates.)
694
695 "git history" history rewriting UI.
696
@@ -695,24 +711,6 @@ Release tarballs are available at:
711 source: <a203b35538847f3c9358a5ae26fb4ebea5734cfc.1759420102.git.msuchanek@suse.de>
712
713
698 -* sa/replay-atomic-ref-updates (2025-11-05) 3 commits
699 - (merged to 'next' on 2025-11-19 at ae19b06a22)
700 - + replay: add replay.refAction config option
701 - + replay: make atomic ref updates the default behavior
702 - + replay: use die_for_incompatible_opt2() for option validation
703 - (this branch is used by ps/history.)
704 -
705 - Originally merged to 'next' on 2025-11-18
706 -
707 - "git replay" (experimental) learned to perform ref updates itself
708 - in a transaction by default, instead of emitting where each refs
709 - should point at and leaving the actual update to another command.
710 -
711 - Will merge to 'master'.
712 - cf. <00a5a8f3-f761-46e8-84cc-4bd95db68b49@gmail.com>
713 - source: <20251105191650.89975-1-siddharthasthana31@gmail.com>
714 -
715 -
714 * ar/submodule-gitdir-tweak (2025-11-19) 7 commits
715 - meson/Makefile: allow setting submodule encoding at build time
716 - submodule: use hashed name for gitdir
@@ -725,4 +723,6 @@ Release tarballs are available at:
723 Avoid local submodule repository directory paths overlapping with
724 each other by encoding submodule names before using them as path
725 components.
726 +
727 + Will merge to 'next'?
728 source: <20251119211030.2008441-1-adrian.ratiu@collabora.com>