What's cooking (2024/06 #02)

Junio C Hamano committed Jun 6, 2024 at 11:24 UTC 8b4b125c60f0be9086bcd1d1b86bb59ebfd66653
1 file changed +179 -75
whats-cooking.txt
+179 -75
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Jun 2024, #01; Mon, 3)
2 +Subject: What's cooking in git.git (Jun 2024, #02; Thu, 6)
3 X-master-at: 7b0defb3915eaa0bd118f0996e8c00b4eb2dc1ca
4 -X-next-at: 54c50866fa398a825f77bafc637bf933286c7385
4 +X-next-at: dd2eb8cad419143d6806239019fa87cfc179dfe2
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Jun 2024, #01; Mon, 3)
7 +What's cooking in git.git (Jun 2024, #02; Thu, 6)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -46,63 +46,160 @@ Release tarballs are available at:
46 https://www.kernel.org/pub/software/scm/git/
47
48 --------------------------------------------------
49 -[Graduated to 'master']
49 +[New Topics]
50 +
51 +* rj/add-p-pager (2024-06-04) 6 commits
52 + - add-patch: introduce the command '|'
53 + - test-terminal: introduce --no-stdin-pty
54 + - pager: introduce setup_custom_pager
55 + - pager: introduce wait_for_pager
56 + - pager: do not close fd 2 unnecessarily
57 + - add-patch: test for 'p' command
58 +
59 + "git add -i" and friends learned a new '|' command that sends the
60 + current hunk to the pager, instead of dumping it to the terminal.
61 +
62 + Expecting a reroll.
63 + cf. <3f085795-79bd-4a56-9df8-659e32179925@gmail.com>
64 + cf. <844704794168f9fcb85c75014c84cde0@manjaro.org>
65 + source: <1ef0ac3a-3be5-4fc2-93f8-46610f3d1880@gmail.com>
66 +
67
51 -* ps/fix-reinit-includeif-onbranch (2024-05-22) 1 commit
52 - (merged to 'next' on 2024-05-25 at 89c035186d)
53 - + setup: fix bug with "includeIf.onbranch" when initializing dir
68 +* ap/credential-clear-fix (2024-06-04) 1 commit
69 + - credential: clear expired c->credential, unify secret clearing
70
55 - "git init" in an already created directory, when the user
56 - configuration has includeif.onbranch, started to fail recently,
71 + Upon expiration event, we forgot to clear in-core authentication
72 + material other than password (whose support was added recently),
73 which has been corrected.
58 - source: <cf182bb9ee7d4a7eb46e5dbf4f3ef5deb198d823.1716374321.git.ps@pks.im>
74
75 + Expecting a reroll.
76 + cf. <dcbbd00f-1730-41fd-90d3-c7b070c4f17d@nvidia.com>
77 + source: <20240604192929.3252626-1-aplattner@nvidia.com>
78 +
79 +
80 +* jc/heads-are-branches (2024-06-04) 3 commits
81 + - show-ref: introduce --branches and deprecate --heads
82 + - ls-remote: introduce --branches and deprecate --heads
83 + - refs: call branches branches
84 +
85 + The "--heads" option of "ls-remote" and "show-ref" has been been
86 + deprecated; "--branches" replaces "--heads".
87 +
88 + Comments?
89 + source: <20240604220145.3260714-1-gitster@pobox.com>
90 +
91 +
92 +* jk/imap-send-plug-all-msgs-leak (2024-06-06) 3 commits
93 + - imap-send: free all_msgs strbuf in "out" label
94 + - Merge branch 'jc/t1517-more' into jk/imap-send-plug-all-msgs-leak
95 + - Merge branch 'ps/no-writable-strings' into jk/imap-send-plug-all-msgs-leak
96 + (this branch uses jc/t1517-more, ps/leakfixes and ps/no-writable-strings.)
97 +
98 + A leak in "git imap-send" that somehow escapes LSan has been
99 + plugged.
100 +
101 + Will merge to 'next'.
102 + source: <20240605083526.GB2345232@coredump.intra.peff.net>
103 +
104 +
105 +* ps/check-docs-fix (2024-06-06) 4 commits
106 + - ci/test-documentation: work around SyntaxWarning in Python 3.12
107 + - gitlab-ci: add job to run `make check-docs`
108 + - Documentation/lint-manpages: bubble up errors
109 + - Makefile: extract script to lint missing/extraneous manpages
110 +
111 + "make check-docs" noticed problems and reported to its output but
112 + failed to signal its findings with its exit status, which has been
113 + corrected.
114 +
115 + Will merge to 'next'.
116 + source: <cover.1717660597.git.ps@pks.im>
117 +
118 +
119 +* rj/format-patch-auto-cover-with-interdiff (2024-06-05) 2 commits
120 + - SQUASH???
121 + - format-patch: assume --cover-letter for diff in multi-patch series
122 +
123 + "git format-patch --interdiff" for multi-patch series learned to
124 + turn on cover letters automatically (unless told never to enable
125 + cover letter with "--no-cover-letter" and such).
126 + source: <cb6b6d54-959f-477d-83e5-027c81ae85de@gmail.com>
127 +
128 +
129 +* rs/diff-exit-code-with-external-diff (2024-06-05) 3 commits
130 + - diff: let external diffs report that changes are uninteresting
131 + - userdiff: add and use struct external_diff
132 + - t4020: test exit code with external diffs
133 +
134 + "git diff --exit-code --ext-diff" learned to take the exit status
135 + of the external diff driver into account when deciding the exit
136 + status of the overall "git diff" invocation when configured to do
137 + so.
138 +
139 + Expecting a bit of documentation updates.
140 + cf. <55389f35-5762-4b86-81bf-b9fe956815d2@web.de>
141 + source: <6fa51a62-5dc1-4865-9f79-eaf7d65189ab@web.de>
142 +
143 +
144 +* jc/add-i-retire-usebuiltin-config (2024-06-05) 1 commit
145 + - add-i: finally retire add.interactive.useBuiltin
146
61 -* th/push-local-ff-check-without-lazy-fetch (2024-05-22) 1 commit
62 - (merged to 'next' on 2024-05-25 at 520b6b2897)
63 - + push: don't fetch commit object when checking existence
147 + For over a year, setting add.interactive.useBuiltin configuration
148 + variable did nothing but giving a "this does not do anything"
149 + warning. Finally remove it.
150
65 - When "git push" notices that the commit at the tip of the ref on
66 - the other side it is about to overwrite does not exist locally, it
67 - used to first try fetching it if the local repository is a partial
68 - clone. The command has been taught not to do so and immediately
69 - fail instead.
70 - source: <20240522201559.1677959-1-tom@compton.nu>
151 + Comments?
152 + source: <xmqqikynqdvq.fsf@gitster.g>
153 +
154 +
155 +* jc/no-default-attr-tree-in-bare (2024-06-05) 1 commit
156 + - attr.tree: HEAD:.gitattributes is no longer the default in a bare repo
157 +
158 + Earlier we stopped using the tree of HEAD as the default source of
159 + attributes in a bare repository, but failed to document it. This
160 + has been corrected.
161 +
162 + Comments?
163 + source: <xmqqa5jzqd5k.fsf_-_@gitster.g>
164
165 --------------------------------------------------
73 -[New Topics]
166 +[Cooking]
167
75 -* jk/sparse-leakfix (2024-05-31) 14 commits
76 - - sparse-checkout: free duplicate hashmap entries
77 - - sparse-checkout: free string list after displaying
78 - - sparse-checkout: free pattern list in sparse_checkout_list()
79 - - sparse-checkout: free sparse_filename after use
80 - - sparse-checkout: refactor temporary sparse_checkout_patterns
81 - - sparse-checkout: always free "line" strbuf after reading input
82 - - sparse-checkout: reuse --stdin buffer when reading patterns
83 - - dir.c: always copy input to add_pattern()
84 - - dir.c: free removed sparse-pattern hashmap entries
85 - - sparse-checkout: clear patterns when init() sees existing sparse file
86 - - dir.c: free strings in sparse cone pattern hashmaps
87 - - sparse-checkout: pass string literals directly to add_pattern()
88 - - sparse-checkout: free string list in write_cone_to_file()
89 - - Merge branch 'jk/leakfixes' into jk/sparse-leakfix
168 +* jk/sparse-leakfix (2024-06-05) 14 commits
169 + (merged to 'next' on 2024-06-06 at c92e02c528)
170 + + sparse-checkout: free duplicate hashmap entries
171 + + sparse-checkout: free string list after displaying
172 + + sparse-checkout: free pattern list in sparse_checkout_list()
173 + + sparse-checkout: free sparse_filename after use
174 + + sparse-checkout: refactor temporary sparse_checkout_patterns
175 + + sparse-checkout: always free "line" strbuf after reading input
176 + + sparse-checkout: reuse --stdin buffer when reading patterns
177 + + dir.c: always copy input to add_pattern()
178 + + dir.c: free removed sparse-pattern hashmap entries
179 + + sparse-checkout: clear patterns when init() sees existing sparse file
180 + + dir.c: free strings in sparse cone pattern hashmaps
181 + + sparse-checkout: pass string literals directly to add_pattern()
182 + + sparse-checkout: free string list in write_cone_to_file()
183 + + Merge branch 'jk/leakfixes' into jk/sparse-leakfix
184 (this branch uses jk/leakfixes and ps/leakfixes.)
185
186 Many memory leaks in the sparse-checkout code paths have been
187 plugged.
188
95 - Will merge to 'next'?
96 - source: <20240531112433.GA428583@coredump.intra.peff.net>
189 + Will merge to 'master'.
190 + source: <20240604100814.GA1304520@coredump.intra.peff.net>
191
192
99 -* jk/cap-exclude-file-size (2024-05-31) 1 commit
100 - - dir.c: skip .gitignore, etc larger than INT_MAX
193 +* jk/cap-exclude-file-size (2024-06-05) 2 commits
194 + (merged to 'next' on 2024-06-05 at 2467011532)
195 + + dir.c: reduce max pattern file size to 100MB
196 + (merged to 'next' on 2024-06-04 at 51c0d632d3)
197 + + dir.c: skip .gitignore, etc larger than INT_MAX
198
199 An overly large ".gitignore" files are now rejected silently.
200
104 - Will merge to 'next'.
105 - source: <20240531120034.GA442032@coredump.intra.peff.net>
201 + Will merge to 'master'.
202 + source: <xmqqikyowqjj.fsf@gitster.g>
203
204
205 * ps/leakfixes-more (2024-06-03) 30 commits
@@ -143,30 +240,30 @@ Release tarballs are available at:
240 Needs review.
241 source: <cover.1717402439.git.ps@pks.im>
242
146 ---------------------------------------------------
147 -[Cooking]
243
244 * gt/decorate-unit-test (2024-05-28) 1 commit
150 - - t/: migrate helper/test-example-decorate to the unit testing framework
245 + (merged to 'next' on 2024-06-06 at dd2eb8cad4)
246 + + t/: migrate helper/test-example-decorate to the unit testing framework
247
248 A test helper that essentially is unit tests on the "decorate"
249 logic has been rewritten using the unit-tests framework.
250
155 - Will merge to 'next'?
251 + Will merge to 'master'.
252 source: <20240528125837.31090-1-shyamthakkar001@gmail.com>
253
254
255 * jc/safe-directory-leading-path (2024-05-29) 1 commit
160 - - safe.directory: allow "lead/ing/path/*" match
256 + (merged to 'next' on 2024-06-04 at 3d8cb9239c)
257 + + safe.directory: allow "lead/ing/path/*" match
258
259 The safe.directory configuration knob has been updated to
260 optionally allow leading path matches.
261
165 - Will merge to 'next'.
262 + Will merge to 'master'.
263 source: <xmqqplt4zjw7.fsf@gitster.g>
264
265
169 -* ps/no-writable-strings (2024-06-03) 28 commits
266 +* ps/no-writable-strings (2024-06-06) 28 commits
267 - config.mak.dev: enable `-Wwrite-strings` warning
268 - builtin/merge: always store allocated strings in `pull_twohead`
269 - builtin/rebase: always store allocated string in `options.strategy`
@@ -195,31 +292,35 @@ Release tarballs are available at:
292 - global: convert intentionally-leaking config strings to consts
293 - global: improve const correctness when assigning string constants
294 - Merge branch 'ps/leakfixes' into ps/no-writable-strings
198 - (this branch uses ps/leakfixes.)
295 + (this branch is used by jk/imap-send-plug-all-msgs-leak; uses ps/leakfixes.)
296
297 Building with "-Werror -Wwrite-strings" is now supported.
298
202 - Needs review.
203 - source: <cover.1717402403.git.ps@pks.im>
299 + Will merge to 'next'?
300 + source: <cover.1717667854.git.ps@pks.im>
301
302
303 * cp/reftable-unit-test (2024-05-30) 5 commits
207 - - t: improve the test-case for parse_names()
208 - - t: add test for put_be16()
209 - - t: move tests from reftable/record_test.c to the new unit test
210 - - t: move tests from reftable/stack_test.c to the new unit test
211 - - t: move reftable/basics_test.c to the unit testing framework
304 + (merged to 'next' on 2024-06-04 at baff123933)
305 + + t: improve the test-case for parse_names()
306 + + t: add test for put_be16()
307 + + t: move tests from reftable/record_test.c to the new unit test
308 + + t: move tests from reftable/stack_test.c to the new unit test
309 + + t: move reftable/basics_test.c to the unit testing framework
310
311 Reimplement basic unit tests for reftable under the unit test
312 framework.
313
216 - Will merge to 'next'.
314 + Will merge to 'master'.
315 source: <20240529171439.18271-1-chandrapratap3519@gmail.com>
316
317
220 -* jc/t1517-more (2024-05-31) 1 commit
318 +* jc/t1517-more (2024-06-04) 2 commits
319 + (merged to 'next' on 2024-06-04 at f5a118872d)
320 + + imap-send: minimum leakfix
321 (merged to 'next' on 2024-06-03 at 10b71e2a60)
322 + t1517: more coverage for commands that work without repository
323 + (this branch is used by jk/imap-send-plug-all-msgs-leak.)
324
325 "smoke tests" to ensure git commands that are designed to run
326 outside repositories do work.
@@ -245,13 +346,14 @@ Release tarballs are available at:
346
347
348 * gt/t-hash-unit-test (2024-05-29) 2 commits
248 - - t/: migrate helper/test-{sha1, sha256} to unit-tests/t-hash
249 - - strbuf: introduce strbuf_addstrings() to repeatedly add a string
349 + (merged to 'next' on 2024-06-04 at 86328a5c8c)
350 + + t/: migrate helper/test-{sha1, sha256} to unit-tests/t-hash
351 + + strbuf: introduce strbuf_addstrings() to repeatedly add a string
352
353 A pair of test helpers that essentially are unit tests on hash
354 algorithms have been rewritten using the unit-tests framework.
355
254 - Will merge to 'next'?
356 + Will merge to 'master'.
357 source: <20240529080030.64410-1-shyamthakkar001@gmail.com>
358
359
@@ -261,7 +363,7 @@ Release tarballs are available at:
363 A unit test for code that parses the hunk offset and length from a
364 patch fragment header as been added.
365
264 - Will merge to 'next'?
366 + Will merge to 'next'.
367 source: <pull.1677.v2.git.git.1716710073910.gitgitgadget@gmail.com>
368
369
@@ -284,7 +386,7 @@ Release tarballs are available at:
386 before the patch text, to be consistent with what is done for a
387 cover letter for a multi-patch series.
388
287 - Will merge to 'next'?
389 + Will merge to 'next'.
390 source: <20240523225007.2871766-1-gitster@pobox.com>
391
392
@@ -318,7 +420,7 @@ Release tarballs are available at:
420 source: <20240525234454.1489598-1-iwienand@redhat.com>
421
422
321 -* ps/document-breaking-changes (2024-06-03) 4 commits
423 +* ps/document-breaking-changes (2024-06-04) 4 commits
424 - BreakingChanges: document that we do not plan to deprecate git-checkout
425 - BreakingChanges: document removal of grafting
426 - BreakingChanges: document upcoming change from "sha1" to "sha256"
@@ -328,8 +430,8 @@ Release tarballs are available at:
430 decisions to deprecate/remove/update various behaviour has been
431 outlined.
432
331 - Under discussion.
332 - source: <cover.1717402497.git.ps@pks.im>
433 + Getting there.
434 + source: <cover.1717504292.git.ps@pks.im>
435
436
437 * ps/leakfixes (2024-05-27) 19 commits
@@ -353,7 +455,7 @@ Release tarballs are available at:
455 + checkout: clarify memory ownership in `unique_tracking_name()`
456 + strbuf: fix leak when `appendwholeline()` fails with EOF
457 + transport-helper: fix leaking helper name
356 - (this branch is used by jk/leakfixes, jk/sparse-leakfix, ps/leakfixes-more and ps/no-writable-strings.)
458 + (this branch is used by jk/imap-send-plug-all-msgs-leak, jk/leakfixes, jk/sparse-leakfix, ps/leakfixes-more and ps/no-writable-strings.)
459
460 Leakfixes.
461
@@ -361,7 +463,7 @@ Release tarballs are available at:
463 source: <cover.1716810168.git.ps@pks.im>
464
465
364 -* ps/ref-storage-migration (2024-06-03) 14 commits
466 +* ps/ref-storage-migration (2024-06-06) 14 commits
467 - builtin/refs: new command to migrate ref storage formats
468 - refs: implement logic to migrate between ref storage formats
469 - refs: implement removal of ref storages
@@ -374,14 +476,14 @@ Release tarballs are available at:
476 - refs: pass storage format to `ref_store_init()` explicitly
477 - refs: convert ref storage format to an enum
478 - setup: unset ref storage when reinitializing repository version
377 - - Merge branch 'ps/pseudo-ref-terminology' into ps/ref-storage-migration
378 - - Merge branch 'ps/refs-without-the-repository-updates' into ps/ref-storage-migration
479 + + Merge branch 'ps/pseudo-ref-terminology' into ps/ref-storage-migration
480 + + Merge branch 'ps/refs-without-the-repository-updates' into ps/ref-storage-migration
481
482 Allow migrating a repository that uses the files backend for its
483 ref storage to use the reftable backend, with limitations.
484
383 - Will merge to 'next'?
384 - source: <cover.1717402363.git.ps@pks.im>
485 + Will merge to 'next'.
486 + source: <cover.1717649802.git.ps@pks.im>
487
488
489 * tb/midx-write-cleanup (2024-05-30) 8 commits
@@ -447,20 +549,22 @@ Release tarballs are available at:
549 source: <20240525100927.2949808-1-tom@compton.nu>
550
551
450 -* kn/update-ref-symref (2024-05-30) 7 commits
552 +* kn/update-ref-symref (2024-06-05) 8 commits
553 - update-ref: add support for 'symref-update' command
554 - reftable: pick either 'oid' or 'target' for new updates
555 - update-ref: add support for 'symref-create' command
556 - update-ref: add support for 'symref-delete' command
557 - update-ref: add support for 'symref-verify' command
558 + - refs: specify error for regular refs with `old_target`
559 - refs: create and use `ref_update_expects_existing_old_ref()`
560 - Merge branch 'kn/ref-transaction-symref' into kn/update-ref-symref
561
562 "git update-ref --stdin" learned to handle transactional updates of
563 symbolic-refs.
564
462 - Expecting a (hopefully minor and final) reroll.
463 - source: <20240514124411.1037019-1-knayak@gitlab.com>
565 + Expecting a reroll.
566 + cf. <CAOLa=ZSDRcsmBxje-EgdKNyXCh1OYc4vtzJZKmoHSs94fMxPtw@mail.gmail.com>
567 + source: <20240530120940.456817-1-knayak@gitlab.com>
568
569
570 * mt/openindiana-scalar (2024-05-17) 1 commit