What's cooking (2025/12 #06)

Junio C Hamano committed Dec 19, 2025 at 23:27 UTC 5807909328276ad9ff036876c760d394cc5a573b
1 file changed +175 -121
whats-cooking.txt
+175 -121
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Dec 2025, #05)
2 +Subject: What's cooking in git.git (Dec 2025, #06)
3 X-master-at: c4a0c8845e2426375ad257b6c221a3a7d92ecfda
4 -X-next-at: 4f9b5a96bc0fa2f5a21362322d05332258d15bee
4 +X-next-at: 0814c687bbf7a1a1cb97b2be79c742b582fa80ea
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Dec 2025, #05)
7 +What's cooking in git.git (Dec 2025, #06)
8 -----------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -46,102 +46,154 @@ Release tarballs are available at:
46 https://www.kernel.org/pub/software/scm/git/
47
48 --------------------------------------------------
49 -[Graduated to 'master']
50 -
51 -* gf/win32-pthread-cond-init (2025-11-20) 1 commit
52 - (merged to 'next' on 2025-12-09 at 202516d20c)
53 - + win32: pthread_cond_init should return a value
54 -
55 - Emulation code clean-up.
56 - source: <pull.2103.v3.git.git.1763675016637.gitgitgadget@gmail.com>
57 -
58 -
59 -* jc/capability-leak (2025-12-06) 1 commit
60 - (merged to 'next' on 2025-12-10 at cfe8ce92b1)
61 - + connect: plug protocol capability leak
62 -
63 - Leakfix.
64 -
65 - source: <xmqqfr9mnbu9.fsf@gitster.g>
66 -
67 -
68 -* kh/doc-pre-commit-fix (2025-12-07) 1 commit
69 - (merged to 'next' on 2025-12-10 at f21f000140)
70 - + doc: join default pre-commit paragraphs
71 -
72 - Docfix.
73 -
74 - source: <pre-commit_when_enabled.10a@msgid.xyz>
75 -
76 -
77 -* kh/doc-send-email-paragraph-fix (2025-12-08) 1 commit
78 - (merged to 'next' on 2025-12-10 at 674ac2bdf7)
79 - + doc: send-email: fix broken list continuation
80 -
81 - Docfix.
82 -
83 - source: <send-email_list_contin.112@msgid.xyz>
84 -
85 -
86 -* mh/doc-config-gui-gcwarning (2025-12-08) 1 commit
87 - (merged to 'next' on 2025-12-10 at 15d6df9a04)
88 - + config: document 'gui.GCWarning'
89 -
90 - Docfix.
91 -
92 - source: <20251208190400.64920-1-matthewhughes934@gmail.com>
93 -
94 -
95 -* ps/object-read-stream (2025-11-23) 20 commits
96 - (merged to 'next' on 2025-12-09 at c8d645f8ea)
97 - + streaming: drop redundant type and size pointers
98 - + streaming: move into object database subsystem
99 - + streaming: refactor interface to be object-database-centric
100 - + streaming: move logic to read packed objects streams into backend
101 - + streaming: move logic to read loose objects streams into backend
102 - + streaming: make the `odb_read_stream` definition public
103 - + streaming: get rid of `the_repository`
104 - + streaming: rely on object sources to create object stream
105 - + packfile: introduce function to read object info from a store
106 - + streaming: move zlib stream into backends
107 - + streaming: create structure for filtered object streams
108 - + streaming: create structure for packed object streams
109 - + streaming: create structure for loose object streams
110 - + streaming: create structure for in-core object streams
111 - + streaming: allocate stream inside the backend-specific logic
112 - + streaming: explicitly pass packfile info when streaming a packed object
113 - + streaming: propagate final object type via the stream
114 - + streaming: drop the `open()` callback function
115 - + streaming: rename `git_istream` into `odb_read_stream`
116 - + Merge branch 'ps/object-source-loose' into ps/object-read-stream
117 - (this branch is used by ps/packfile-store-in-odb-source.)
49 +[New Topics]
50 +
51 +* js/symlink-windows (2025-12-17) 19 commits
52 + - mingw: special-case index entries for symlinks with buggy size
53 + - mingw: emulate `stat()` a little more faithfully
54 + - mingw: try to create symlinks without elevated permissions
55 + - mingw: add support for symlinks to directories
56 + - mingw: implement basic `symlink()` functionality (file symlinks only)
57 + - mingw: implement `readlink()`
58 + - mingw: allow `mingw_chdir()` to change to symlink-resolved directories
59 + - mingw: support renaming symlinks
60 + - mingw: handle symlinks to directories in `mingw_unlink()`
61 + - mingw: add symlink-specific error codes
62 + - mingw: change default of `core.symlinks` to false
63 + - mingw: factor out the retry logic
64 + - mingw: compute the correct size for symlinks in `mingw_lstat()`
65 + - mingw: teach dirent about symlinks
66 + - mingw: let `mingw_lstat()` error early upon problems with reparse points
67 + - mingw: drop the separate `do_lstat()` function
68 + - mingw: implement `stat()` with symlink support
69 + - mingw: don't call `GetFileAttributes()` twice in `mingw_lstat()`
70 + - Merge branch 'js/prep-symlink-windows' into js/symlink-windows
71 + (this branch uses js/prep-symlink-windows and js/test-symlink-windows.)
72 +
73 + Upstream symbolic link support on Windows from Git-for-Windows.
74 +
75 + Will merge to 'next'?
76 + source: <pull.2018.git.1765980535.gitgitgadget@gmail.com>
77 +
78 +
79 +* mh/doc-core-attributesfile (2025-12-17) 1 commit
80 + - docs: note the type of core.attributesfile
81 +
82 + Doc update.
83 +
84 + Will merge to 'next'.
85 + source: <20251217195917.25710-1-matthewhughes934@gmail.com>
86 +
87 +
88 +* pc/lockfile-pid (2025-12-17) 1 commit
89 + - lockfile: add PID file for debugging stale locks
90 +
91 + Allow recording process ID of the process that holds the lock next
92 + to a lockfile for diagnosis.
93 + source: <pull.2011.v2.git.1765997966593.gitgitgadget@gmail.com>
94 +
95 +
96 +* jc/object-read-stream-fix (2025-12-17) 2 commits
97 + - odb: do not use "blank" substitute for NULL
98 + - Merge branch 'ps/object-read-stream' into jc/object-read-stream-fix
99 + (this branch is used by ps/read-object-info-improvements.)
100 +
101 + Fix a performance regression in recently graduated topic.
102 +
103 + Will merge to 'next'.
104 + source: <xmqqpl8cxy0j.fsf@gitster.g>
105 +
106 +
107 +* js/neuter-sideband (2025-12-17) 4 commits
108 + - sideband: add options to allow more control sequences to be passed through
109 + - sideband: do allow ANSI color sequences by default
110 + - sideband: introduce an "escape hatch" to allow control characters
111 + - sideband: mask control characters
112 +
113 + Invalidate control characters in sideband messages, to avoid
114 + terminal state getting messed up.
115 +
116 + Comments?
117 + cf. <aS-D5lD2Kk6BHNIl@fruit.crustytoothpaste.net>
118 + source: <pull.1853.v2.git.1765981422.gitgitgadget@gmail.com>
119 +
120 +
121 +* ps/read-object-info-improvements (2025-12-18) 8 commits
122 + - packfile: drop repository parameter from `packed_object_info()`
123 + - packfile: skip unpacking object header for disk size requests
124 + - packfile: disentangle return value of `packed_object_info()`
125 + - packfile: always populate pack-specific info when reading object info
126 + - packfile: extend `is_delta` field to allow for "unknown" state
127 + - packfile: always declare object info to be OI_PACKED
128 + - object-file: always set OI_LOOSE when reading object info
129 + - Merge branch 'jc/object-read-stream-fix' into ps/read-object-info-improvements
130 + (this branch uses jc/object-read-stream-fix.)
131 +
132 + The object-info API has been cleaned up.
133 +
134 + Comments?
135 + source: <20251218-b4-pks-odb-read-object-info-improvements-v2-0-62e3e49072bc@pks.im>
136 +
137 +
138 +* jk/test-curl-updates (2025-12-18) 3 commits
139 + - t5563: relax whitespace assumptions for unfolded headers
140 + - t5563: add missing end-of-line in HTTP header
141 + - t5551: handle trailing slashes in expected cookies output
142 +
143 + Update HTTP tests to adjust for changes in curl 8.18.0
144 +
145 + Will merge to 'next'?
146 + cf. <613s97no-7021-pp15-79s4-302o39p7n5r8@unkk.fr>
147 + source: <20251218121120.GA3252258@coredump.intra.peff.net>
148 +
149 +
150 +* dk/ci-rust-fix (2025-12-18) 2 commits
151 + - rust: build correctly without GNU sed
152 + - Merge branch 'ps/ci-rust' into dk/ci-rust-fix
153 +
154 + Build fix.
155 +
156 + Will merge to 'next'.
157 + source: <a33f4e5118938300bcd5b2991feeee855a1c8f86.1766100330.git.ben.knoble+github@gmail.com>
158 +
159 +
160 +* gf/clear-path-cache-cleanup (2025-12-18) 1 commit
161 + - repository: remove duplicate free of cache->squash_msg
162 +
163 + Code clean-up.
164
119 - The "git_istream" abstraction has been revamped to make it easier
120 - to interface with pluggable object database design.
121 - source: <20251123-b4-pks-odb-read-stream-v3-0-1a129182822b@pks.im>
165 + Will merge to 'next'.
166 + source: <pull.2132.v2.git.git.1766072952115.gitgitgadget@gmail.com>
167 +
168 +
169 +* gf/maintenance-is-needed-fix (2025-12-18) 1 commit
170 + - refs: dereference the value of the required pointer
171
172 + Brown-paper-bag fix to a recently graduated
173 + 'kn/maintenance-is-needed' topic.
174 +
175 + Will merge to 'next'.
176 + source: <pull.2130.git.git.1766074249443.gitgitgadget@gmail.com>
177
124 -* rs/ban-mktemp (2025-12-06) 5 commits
125 - (merged to 'next' on 2025-12-09 at d459e9d8dd)
126 - + compat: remove gitmkdtemp()
127 - + banned.h: ban mktemp(3)
128 - + compat: remove mingw_mktemp()
129 - + compat: use git_mkdtemp()
130 - + wrapper: add git_mkdtemp()
178
132 - Rewrite the only use of "mktemp()" that is subject to TOCTOU race
133 - and Stop using the insecure "mktemp()" function.
134 - source: <64e62623-b911-4ddd-a481-05191853c0a6@web.de>
179 +* js/test-func-comment-fix (2025-12-18) 1 commit
180 + - test_detect_ref_format: fix comment
181 +
182 + Comment fix.
183 +
184 + Will merge to 'next'.
185 + source: <pull.2019.git.1766071259531.gitgitgadget@gmail.com>
186
187 --------------------------------------------------
137 -[New Topics]
188 +[Cooking]
189
190 * ja/doc-misc-fixes (2025-12-15) 1 commit
140 - - doc: flock of small fixes to various documentation files
191 + (merged to 'next' on 2025-12-18 at d30d8cac71)
192 + + doc: flock of small fixes to various documentation files
193
194 Various documentation fixes.
195
144 - Will merge to 'next'.
196 + Will merge to 'master'.
197 source: <pull.2016.git.1765830229824.gitgitgadget@gmail.com>
198
199
@@ -150,7 +202,7 @@ Release tarballs are available at:
202
203 Document "rev-list --filter-provided-objects" better.
204
153 - Will merge to 'next'?
205 + Will merge to 'next'.
206 source: <20251215200512.2694155-1-jltobler@gmail.com>
207
208
@@ -178,11 +230,11 @@ Release tarballs are available at:
230 - init: do parse _all_ core.* settings early
231 - mingw: do resolve symlinks in `getcwd()`
232 - Merge branch 'js/test-symlink-windows' into js/prep-symlink-windows
181 - (this branch uses js/test-symlink-windows.)
233 + (this branch is used by js/symlink-windows; uses js/test-symlink-windows.)
234
235 Further preparation to upstream symbolic link support on Windows.
236
185 - Comments?
237 + Will merge to 'next'?
238 source: <pull.2017.git.1765899229.gitgitgadget@gmail.com>
239
240
@@ -191,8 +243,6 @@ Release tarballs are available at:
243
244 source: <20251112223722.376330-1-aplattner@nvidia.com>
245
194 ---------------------------------------------------
195 -[Cooking]
246
247 * kj/pull-options-decl-cleanup (2025-12-11) 1 commit
248 (merged to 'next' on 2025-12-14 at f59cad1d37)
@@ -228,16 +278,19 @@ Release tarballs are available at:
278 source: <b79cba1d-f32b-4034-979e-fb9528d05f18@web.de>
279
280
231 -* jc/doc-commit-signoff-config (2025-12-16) 1 commit
232 - - commit: document that $command.signoff will not be added
281 +* jc/doc-commit-signoff-config (2025-12-19) 2 commits
282 + (merged to 'next' on 2025-12-19 at 0814c687bb)
283 + + signoff-option: linkify the reference to gitfaq
284 + (merged to 'next' on 2025-12-18 at 27c9ad156c)
285 + + commit: document that $command.signoff will not be added
286
287 Documentation update.
288
236 - Will merge to 'next'.
289 + Will merge to 'master'.
290 source: <xmqqv7i62r6w.fsf@gitster.g>
291
292
240 -* ps/packfile-store-in-odb-source (2025-12-14) 12 commits
293 +* ps/packfile-store-in-odb-source (2025-12-17) 12 commits
294 - packfile: move MIDX into packfile store
295 - packfile: refactor `find_pack_entry()` to work on the packfile store
296 - packfile: inline `find_kept_pack_entry()`
@@ -256,7 +309,7 @@ Release tarballs are available at:
309 source.
310
311 Comments?
259 - source: <20251215-b4-pks-pack-store-via-source-v1-0-433aac465295@pks.im>
312 + source: <20251218-b4-pks-pack-store-via-source-v2-0-62849007ce21@pks.im>
313
314
315 * rs/diff-files-r-find-copies-fix (2025-12-14) 2 commits
@@ -271,7 +324,7 @@ Release tarballs are available at:
324 source: <4b06a448-0935-4f2a-9061-238c7cc800c3@web.de>
325
326
274 -* jt/repo-struct-more-objinfo (2025-12-16) 7 commits
327 +* jt/repo-struct-more-objinfo (2025-12-17) 7 commits
328 - builtin/repo: add object disk size info to structure table
329 - builtin/repo: add disk size info to keyvalue stucture output
330 - builtin/repo: add inflated object info to structure table
@@ -283,17 +336,17 @@ Release tarballs are available at:
336 More object database related information are shown in "git repo
337 structure" output.
338
286 - Will merge to 'next'?
287 - cf. <xmqqqzsu2qxy.fsf@gitster.g>
288 - source: <20251216173842.3357832-1-jltobler@gmail.com>
339 + Will merge to 'next'.
340 + source: <20251217175404.37963-1-jltobler@gmail.com>
341
342
343 * jc/c99-fam (2025-12-12) 1 commit
292 - - FLEX_ARRAY: require platforms to support the C99 syntax
344 + (merged to 'next' on 2025-12-18 at c11ebcf075)
345 + + FLEX_ARRAY: require platforms to support the C99 syntax
346
347 Require C99 style flexible array member support from all platforms.
348
296 - Will merge to 'next'.
349 + Will merge to 'master'.
350 source: <xmqqqzszc13d.fsf@gitster.g>
351
352
@@ -395,7 +448,8 @@ Release tarballs are available at:
448 recompute bitmaps, "git repack" recomputed and updated the MIDX
449 file, which has been corrected.
450
398 - Comments?
451 + Will merge to 'next'.
452 + cf.
453 source: <20251210-pks-skip-noop-rewrite-v2-0-f813a9e44f28@pks.im>
454
455
@@ -409,13 +463,14 @@ Release tarballs are available at:
463
464
465 * ap/packfile-promisor-object-optim (2025-12-08) 2 commits
412 - - packfile: skip hash checks in add_promisor_object()
413 - - object: apply skip_hash and discard_tree optimizations to unknown blobs too
466 + (merged to 'next' on 2025-12-18 at ee94076814)
467 + + packfile: skip hash checks in add_promisor_object()
468 + + object: apply skip_hash and discard_tree optimizations to unknown blobs too
469
470 The code path that enumerates promisor objects have been optimized
471 to skip pointlessly parsing blob objects.
472
418 - Will merge to 'next'.
473 + Will merge to 'master'.
474 cf. <xmqqecot3dm1.fsf@gitster.g>
475 source: <20251209014900.402637-1-aplattner@nvidia.com>
476
@@ -508,7 +563,7 @@ Release tarballs are available at:
563 source: <20251130131351.GA198697@coredump.intra.peff.net>
564
565
511 -* js/test-symlink-windows (2025-12-16) 10 commits
566 +* js/test-symlink-windows (2025-12-17) 10 commits
567 - t7800: work around the MSYS path conversion on Windows
568 - t6423: introduce Windows-specific handling for symlinking to /dev/null
569 - t1305: skip symlink tests that do not apply to Windows
@@ -519,14 +574,13 @@ Release tarballs are available at:
574 - mingw: special-case `open(symlink, O_CREAT | O_EXCL)`
575 - apply: symbolic links lack a "trustable executable bit"
576 - t9700: accommodate for Windows paths
522 - (this branch is used by js/prep-symlink-windows.)
577 + (this branch is used by js/prep-symlink-windows and js/symlink-windows.)
578
579 Prepare test suite for Git for Windows that supports symbolic
580 links.
581
527 - Will merge to 'next'?
528 - cf. <xmqq345a46b1.fsf@gitster.g>
529 - source: <pull.2009.v3.git.1765885577.gitgitgadget@gmail.com>
582 + Will merge to 'next'.
583 + source: <pull.2009.v4.git.1765981126.gitgitgadget@gmail.com>
584
585
586 * tc/last-modified-options-cleanup (2025-11-26) 4 commits
@@ -556,7 +610,7 @@ Release tarballs are available at:
610 source: <pull.2010.v3.git.1765552528.gitgitgadget@gmail.com>
611
612
559 -* pw/replay-drop-empty (2025-12-16) 2 commits
613 +* pw/replay-drop-empty (2025-12-18) 2 commits
614 - replay: drop commits that become empty
615 - Merge branch 'ps/history' into pw/replay-drop-empty
616 (this branch uses ps/history.)
@@ -565,7 +619,7 @@ Release tarballs are available at:
619 ones that are empty in the original).
620
621 On hold, until the base topic gains consensus and stabilizes.
568 - source: <73ba74b8a2e7aaa625e6f0689a9f900ceebaaa03.1765894781.git.phillip.wood@dunelm.org.uk>
622 + source: <375adc4e941f3bb22a2b12ee26a083951ed724dd.1766076625.git.phillip.wood@dunelm.org.uk>
623
624
625 * sp/shallow-time-boundary (2025-11-23) 1 commit
@@ -681,7 +735,7 @@ Release tarballs are available at:
735 source: <20251117221621.2863243-1-sandals@crustytoothpaste.net>
736
737
684 -* ar/run-command-hook (2025-12-04) 11 commits
738 +* ar/run-command-hook (2025-12-18) 11 commits
739 - receive-pack: convert receive hooks to hook API
740 - receive-pack: convert update hooks to new API
741 - hooks: allow callers to capture output
@@ -698,10 +752,11 @@ Release tarballs are available at:
752 run_command() API.
753
754 Will merge to 'next'?
701 - source: <20251204141535.1986263-1-adrian.ratiu@collabora.com>
755 + cf. <aUVHVMNTFWWn2xjZ@pks.im>
756 + source: <20251218171126.588066-1-adrian.ratiu@collabora.com>
757
758
704 -* je/doc-reset (2025-10-17) 4 commits
759 +* je/doc-reset (2025-12-18) 4 commits
760 - doc: git-reset: clarify `git reset <pathspec>`
761 - doc: git-reset: clarify `git reset [mode]`
762 - doc: git-reset: clarify intro
@@ -709,9 +764,8 @@ Release tarballs are available at:
764
765 Documentation updates.
766
712 - Expecting a reroll.
713 - cf. <8099e7ef-2673-407e-8cca-e6b566b99549@app.fastmail.com>
714 - source: <pull.1991.git.1760731558.gitgitgadget@gmail.com>
767 + Will merge to 'next'?
768 + source: <cover.1766103827.git.ben.knoble+github@gmail.com>
769
770
771 * ps/history (2025-12-03) 13 commits