What's cooking (2024/09 #06)

Junio C Hamano committed Sep 16, 2024 at 14:58 UTC 7eb60dfe730b0e11c8c35fdfef69a43d3eaf0a1d
1 file changed +186 -155
whats-cooking.txt
+186 -155
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Sep 2024, #05; Fri, 13)
3 -X-master-at: ed155187b429a2a6b6475efe1767053df37ccfe1
4 -X-next-at: 578e378164b3590ff9a370eb478d1fbaa7be2050
2 +Subject: What's cooking in git.git (Sep 2024, #06; Mon, 16)
3 +X-master-at: 3969d78396e707c5a900dd5e15c365c54bef0283
4 +X-next-at: 625da3ddd7012469a8c79a2a1d31aeffc5154afe
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Sep 2024, #05; Fri, 13)
7 +What's cooking in git.git (Sep 2024, #06; Mon, 16)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -17,11 +17,6 @@ topic without enough support may be discarded after a long period of
17 no activity (of course they can be resubmit when new interests
18 arise).
19
20 -As we have been accumulating many small fixes on the 'master' front,
21 -I merged them to 'maint' and tagged the result as Git 2.46.1. I
22 -expect Git 2.46.2, primarily with CI fixes and not much more, to
23 -follow shortly.
24 -
20 Copies of the source code to Git live in many repositories, and the
21 following is a list of the ones I push into or their mirrors. Some
22 repositories have only a subset of branches.
@@ -53,80 +48,170 @@ Release tarballs are available at:
48 --------------------------------------------------
49 [Graduated to 'master']
50
56 -* bl/trailers-and-incomplete-last-line-fix (2024-09-06) 1 commit
57 - (merged to 'next' on 2024-09-09 at a09f0889bb)
58 - + interpret-trailers: handle message without trailing newline
59 -
60 - The interpret-trailers command failed to recognise the end of the
61 - message when the commit log ends in an incomplete line.
62 -
63 - source: <20240906145743.2059405-1-brianmlyles@gmail.com>
64 -
65 -
66 -* ds/doc-wholesale-disabling-advice-messages (2024-09-06) 1 commit
67 - (merged to 'next' on 2024-09-07 at a52a31f161)
68 - + advice: recommend GIT_ADVICE=0 for tools
51 +* ah/apply-3way-ours (2024-09-09) 1 commit
52 + (merged to 'next' on 2024-09-10 at 989ba9708b)
53 + + apply: support --ours, --theirs, and --union for three-way merges
54
70 - The environment GIT_ADVICE has been intentionally kept undocumented
71 - to discourage its use by interactive users. Add documentation to
72 - help tool writers.
55 + "git apply --3way" learned to take "--ours" and other options.
56
74 - source: <pull.1781.v2.git.1725654155162.gitgitgadget@gmail.com>
57 + source: <20240909141109.3102-2-alexhenrie24@gmail.com>
58
59
77 -* ds/scalar-no-tags (2024-09-06) 1 commit
78 - (merged to 'next' on 2024-09-07 at fc06d19cfb)
79 - + scalar: add --no-tags option to 'scalar clone'
60 +* cp/unit-test-reftable-stack (2024-09-09) 6 commits
61 + (merged to 'next' on 2024-09-09 at 0dddbbb60d)
62 + + t-reftable-stack: add test for stack iterators
63 + + t-reftable-stack: add test for non-default compaction factor
64 + + t-reftable-stack: use reftable_ref_record_equal() to compare ref records
65 + + t-reftable-stack: use Git's tempfile API instead of mkstemp()
66 + + t: harmonize t-reftable-stack.c with coding guidelines
67 + + t: move reftable/stack_test.c to the unit testing framework
68 + (this branch is used by ps/reftable-alloc-failures and ps/reftable-exclude.)
69
81 - The "scalar clone" command learned the "--no-tags" option.
70 + Another reftable test migrated to the unit-test framework.
71
83 - source: <pull.1780.v2.git.1725654102035.gitgitgadget@gmail.com>
72 + source: <20240908041632.4948-1-chandrapratap3519@gmail.com>
73
74
86 -* jc/doc-skip-fetch-all-and-prefetch (2024-09-09) 1 commit
87 - (merged to 'next' on 2024-09-09 at a2bf302636)
88 - + doc: remote.*.skip{DefaultUpdate,FetchAll} stops prefetch
75 +* jc/range-diff-lazy-setup (2024-08-09) 2 commits
76 + (merged to 'next' on 2024-09-10 at 2e04a06b22)
77 + + remerge-diff: clean up temporary objdir at a central place
78 + + remerge-diff: lazily prepare temporary objdir on demand
79
90 - Doc updates.
80 + Code clean-up.
81
92 - source: <xmqqseu8u8m0.fsf@gitster.g>
82 + source: <xmqqr0ax9vlk.fsf@gitster.g>
83
84
95 -* jk/sparse-fdleak-fix (2024-09-06) 3 commits
96 - (merged to 'next' on 2024-09-07 at 2551aeee9e)
97 - + sparse-checkout: use fdopen_lock_file() instead of xfdopen()
98 - + sparse-checkout: check commit_lock_file when writing patterns
99 - + sparse-checkout: consolidate cleanup when writing patterns
85 +* jk/ref-filter-trailer-fixes (2024-09-10) 10 commits
86 + (merged to 'next' on 2024-09-10 at ce7299fe2e)
87 + + ref-filter: fix leak with unterminated %(if) atoms
88 + + ref-filter: add ref_format_clear() function
89 + + ref-filter: fix leak when formatting %(push:remoteref)
90 + + ref-filter: fix leak with %(describe) arguments
91 + + ref-filter: fix leak of %(trailers) "argbuf"
92 + + ref-filter: store ref_trailer_buf data per-atom
93 + + ref-filter: drop useless cast in trailers_atom_parser()
94 + + ref-filter: strip signature when parsing tag trailers
95 + + ref-filter: avoid extra copies of payload/signature
96 + + t6300: drop newline from wrapped test title
97
101 - A file descriptor left open is now properly closed when "git
102 - sparse-checkout" updates the sparse patterns.
98 + Bugfixes and leak plugging in "git for-each-ref --format=..." code
99 + paths.
100
104 - source: <20240906034557.GA3693911@coredump.intra.peff.net>
105 -
106 -
107 -* rj/cygwin-has-dev-tty (2024-09-08) 1 commit
108 - (merged to 'next' on 2024-09-09 at 5c5726050f)
109 - + config.mak.uname: add HAVE_DEV_TTY to cygwin config section
101 + source: <20240909230758.GA921697@coredump.intra.peff.net>
102
111 - Cygwin does have /dev/tty support that is needed by things like
112 - single-key input mode.
113 -
114 - source: <e3339b4d-dab1-4247-b70e-d3224bab1b6b@ramsayjones.plus.com>
103 +--------------------------------------------------
104 +[New Topics]
105
106 +* jk/diag-unexpected-remote-helper-death (2024-09-14) 1 commit
107 + (merged to 'next' on 2024-09-16 at f2aa29beac)
108 + + print an error when remote helpers die during capabilities
109
117 -* rs/diff-exit-code-fix (2024-09-08) 2 commits
118 - (merged to 'next' on 2024-09-09 at f52bb4afb2)
119 - + diff: report dirty submodules as changes in builtin_diff()
120 - + diff: report copies and renames as changes in run_diff_cmd()
110 + When a remote-helper dies before Git writes to it, SIGPIPE killed
111 + Git silently. We now explain the situation a bit better to the end
112 + user in our error message.
113
122 - In a few corner cases "git diff --exit-code" failed to report
123 - "changes" (e.g., renamed without any content change), which has
124 - been corrected.
125 -
126 - source: <0864c86a-5562-4780-92c5-59d6c1a35aad@web.de>
114 + Will merge to 'master'.
115 + source: <20240914064130.GA1284567@coredump.intra.peff.net>
116 +
117 +
118 +* ak/typofixes (2024-09-16) 3 commits
119 + - cbtree: fix a typo
120 + - bloom: fix a typo
121 + - attr: fix a typo
122 +
123 + source: <20240915230522.129253-1-algonell@gmail.com>
124 +
125 +
126 +* jk/jump-quickfix-fixes (2024-09-16) 2 commits
127 + - git-jump: ignore deleted files in diff mode
128 + - git-jump: always specify column 1 for diff entries
129 +
130 + source: <20240915111119.GA2017770@coredump.intra.peff.net>
131 +
132 +
133 +* jk/t9001-deflake (2024-09-16) 1 commit
134 + - t9001: use a more distinct fake BugID
135 +
136 + source: <20240915113115.GA2019070@coredump.intra.peff.net>
137 +
138 +
139 +* ps/apply-leakfix (2024-09-16) 6 commits
140 + - apply: refactor `struct image` to use a `struct strbuf`
141 + - apply: rename members that track line count and allocation length
142 + - apply: refactor code to drop `line_allocated`
143 + - apply: introduce macro and function to init images
144 + - apply: rename functions operating on `struct image`
145 + - apply: reorder functions to move image-related things together
146 +
147 + source: <cover.1726470385.git.ps@pks.im>
148 +
149 +
150 +* ps/leakfixes-part-7 (2024-09-16) 24 commits
151 + - diffcore-break: fix leaking filespecs when merging broken pairs
152 + - revision: fix leaking parents when simplifying commits
153 + - builtin/maintenance: fix leak in `get_schedule_cmd()`
154 + - builtin/maintenance: fix leaking config string
155 + - promisor-remote: fix leaking partial clone filter
156 + - grep: fix leaking grep pattern
157 + - submodule: fix leaking submodule ODB paths
158 + - trace2: destroy context stored in thread-local storage
159 + - builtin/difftool: plug several trivial memory leaks
160 + - builtin/repack: fix leaking configuration
161 + - diffcore-order: fix leaking buffer when parsing orderfiles
162 + - parse-options: free previous value of `OPTION_FILENAME`
163 + - diff: fix leaking orderfile option
164 + - builtin/pull: fix leaking "ff" option
165 + - dir: fix off by one errors for ignored and untracked entries
166 + - builtin/submodule--helper: fix leaking remote ref on errors
167 + - t/helper: fix leaking subrepo in nested submodule config helper
168 + - builtin/submodule--helper: fix leaking error buffer
169 + - builtin/submodule--helper: clear child process when not running it
170 + - submodule: fix leaking update strategy
171 + - git: fix leaking argv when handling builtins
172 + - builtin/help: fix leaking `html_path` when reading config multiple times
173 + - builtin/help: fix dangling reference to `html_path`
174 + - Merge branch 'ps/leakfixes-part-6' into ps/leakfixes-part-7
175 + (this branch uses ps/leakfixes-part-6.)
176 +
177 + source: <cover.1726484308.git.ps@pks.im>
178 +
179 +
180 +* ps/reftable-alloc-failures (2024-09-16) 24 commits
181 + - reftable: handle trivial allocation failures
182 + - reftable/tree: handle allocation failures
183 + - reftable/pq: handle allocation failures when adding entries
184 + - reftable/block: handle allocation failures
185 + - reftable/blocksource: handle allocation failures
186 + - reftable/iter: handle allocation failures when creating indexed table iter
187 + - reftable/stack: handle allocation failures in auto compaction
188 + - reftable/stack: handle allocation failures in `stack_compact_range()`
189 + - reftable/stack: handle allocation failures in `reftable_new_stack()`
190 + - reftable/stack: handle allocation failures on reload
191 + - reftable/reader: handle allocation failures in `reader_init_iter()`
192 + - reftable/reader: handle allocation failures for unindexed reader
193 + - reftable/merged: handle allocation failures in `merged_table_init_iter()`
194 + - reftable/writer: handle allocation failures in `reftable_new_writer()`
195 + - reftable/writer: handle allocation failures in `writer_index_hash()`
196 + - reftable/record: handle allocation failures when decoding records
197 + - reftable/record: handle allocation failures on copy
198 + - reftable/basics: handle allocation failures in `parse_names()`
199 + - reftable/basics: handle allocation failures in `reftable_calloc()`
200 + - reftable: introduce `reftable_strdup()`
201 + - reftable/basics: merge "publicbasics" into "basics"
202 + - reftable/error: introduce out-of-memory error code
203 + - Merge branch 'ps/reftable-exclude' into ps/reftable-alloc-failures
204 + - Merge branch 'cp/unit-test-reftable-stack' into ps/reftable-alloc-failures
205 + (this branch uses ps/reftable-exclude.)
206 +
207 + The reftable library is now prepared to expect that the memory
208 + allocation function given to it may fail to allocate and to deal
209 + with such an error.
210 +
211 + source: <cover.1726489647.git.ps@pks.im>
212
213 --------------------------------------------------
129 -[New Topics]
214 +[Cooking]
215
216 * bb/unicode-width-table-16 (2024-09-12) 1 commit
217 (merged to 'next' on 2024-09-13 at 87dc391469)
@@ -163,15 +248,14 @@ Release tarballs are available at:
248
249
250 * jc/t5512-sigpipe-fix (2024-09-13) 1 commit
166 - - t5512.40 sometimes dies by SIGPIPE
251 + (merged to 'next' on 2024-09-16 at 96075b5dd1)
252 + + t5512.40 sometimes dies by SIGPIPE
253
254 Test fix.
255
170 - Will merge to 'next'.
256 + Will merge to 'master'.
257 source: <xmqqmskbwe1a.fsf@gitster.g>
258
173 ---------------------------------------------------
174 -[Cooking]
259
260 * jc/ci-upload-artifact-and-linux32 (2024-09-09) 1 commit
261 (merged to 'next' on 2024-09-11 at 62991bef5b)
@@ -187,26 +271,6 @@ Release tarballs are available at:
271 source: <xmqqy140o2kb.fsf@gitster.g>
272
273
190 -* jk/ref-filter-trailer-fixes (2024-09-10) 10 commits
191 - (merged to 'next' on 2024-09-10 at ce7299fe2e)
192 - + ref-filter: fix leak with unterminated %(if) atoms
193 - + ref-filter: add ref_format_clear() function
194 - + ref-filter: fix leak when formatting %(push:remoteref)
195 - + ref-filter: fix leak with %(describe) arguments
196 - + ref-filter: fix leak of %(trailers) "argbuf"
197 - + ref-filter: store ref_trailer_buf data per-atom
198 - + ref-filter: drop useless cast in trailers_atom_parser()
199 - + ref-filter: strip signature when parsing tag trailers
200 - + ref-filter: avoid extra copies of payload/signature
201 - + t6300: drop newline from wrapped test title
202 -
203 - Bugfixes and leak plugging in "git for-each-ref --format=..." code
204 - paths.
205 -
206 - Will merge to 'master'.
207 - source: <20240909230758.GA921697@coredump.intra.peff.net>
208 -
209 -
274 * jk/ci-linux32-update (2024-09-13) 5 commits
275 (merged to 'next' on 2024-09-13 at e937339388)
276 + ci: add Ubuntu 16.04 job to GitLab CI
@@ -270,16 +334,6 @@ Release tarballs are available at:
334 source: <20240910163000.1985723-1-christian.couder@gmail.com>
335
336
273 -* ah/apply-3way-ours (2024-09-09) 1 commit
274 - (merged to 'next' on 2024-09-10 at 989ba9708b)
275 - + apply: support --ours, --theirs, and --union for three-way merges
276 -
277 - "git apply --3way" learned to take "--ours" and other options.
278 -
279 - Will merge to 'master'.
280 - source: <20240909141109.3102-2-alexhenrie24@gmail.com>
281 -
282 -
337 * ds/pack-name-hash-tweak (2024-09-09) 4 commits
338 - p5313: add size comparison test
339 - p5314: add a size test for name-hash collisions
@@ -297,7 +351,7 @@ Release tarballs are available at:
351 source: <pull.1785.git.1725890210.gitgitgadget@gmail.com>
352
353
300 -* ps/reftable-exclude (2024-09-09) 7 commits
354 +* ps/reftable-exclude (2024-09-16) 7 commits
355 - refs/reftable: wire up support for exclude patterns
356 - reftable/reader: make table iterator reseekable
357 - t/unit-tests: introduce reftable library
@@ -305,13 +359,13 @@ Release tarballs are available at:
359 - builtin/receive-pack: fix exclude patterns when announcing refs
360 - refs: properly apply exclude patterns to namespaced refs
361 - Merge branch 'cp/unit-test-reftable-stack' into ps/reftable-exclude
308 - (this branch uses cp/unit-test-reftable-stack.)
362 + (this branch is used by ps/reftable-alloc-failures.)
363
364 The reftable backend learned to more efficiently handle exclude
365 patterns while enumerating the refs.
366
313 - Needs review.
314 - source: <cover.1725881266.git.ps@pks.im>
367 + Will merge to 'next'?
368 + source: <cover.1726476401.git.ps@pks.im>
369
370
371 * pw/rebase-autostash-fix (2024-09-03) 1 commit
@@ -326,22 +380,6 @@ Release tarballs are available at:
380 source: <pull.1772.v2.git.1725289979450.gitgitgadget@gmail.com>
381
382
329 -* cp/unit-test-reftable-stack (2024-09-09) 6 commits
330 - (merged to 'next' on 2024-09-09 at 0dddbbb60d)
331 - + t-reftable-stack: add test for stack iterators
332 - + t-reftable-stack: add test for non-default compaction factor
333 - + t-reftable-stack: use reftable_ref_record_equal() to compare ref records
334 - + t-reftable-stack: use Git's tempfile API instead of mkstemp()
335 - + t: harmonize t-reftable-stack.c with coding guidelines
336 - + t: move reftable/stack_test.c to the unit testing framework
337 - (this branch is used by ps/reftable-exclude.)
338 -
339 - Another reftable test migrated to the unit-test framework.
340 -
341 - Will merge to 'master'.
342 - source: <20240908041632.4948-1-chandrapratap3519@gmail.com>
343 -
344 -
383 * jc/pass-repo-to-builtins (2024-09-13) 4 commits
384 - add: pass in repo variable instead of global the_repository
385 - builtin: remove USE_THE_REPOSITORY for those without the_repository
@@ -370,7 +408,8 @@ Release tarballs are available at:
408 The checksum at the tail of files are now computed without
409 collision detection protection.
410
373 - Will merge to 'next'?
411 + Expecting a reroll.
412 + cf. <ZugMUv1xbnjYH-el@pks.im>
413 source: <cover.1725651952.git.me@ttaylorr.com>
414
415
@@ -387,31 +426,32 @@ Release tarballs are available at:
426
427
428 * ps/environ-wo-the-repository (2024-09-12) 21 commits
390 - - environment: stop storing "core.notesRef" globally
391 - - environment: stop storing "core.warnAmbiguousRefs" globally
392 - - environment: stop storing "core.preferSymlinkRefs" globally
393 - - environment: stop storing "core.logAllRefUpdates" globally
394 - - refs: stop modifying global `log_all_ref_updates` variable
395 - - branch: stop modifying `log_all_ref_updates` variable
396 - - repo-settings: track defaults close to `struct repo_settings`
397 - - repo-settings: split out declarations into a standalone header
398 - - environment: guard state depending on a repository
399 - - environment: reorder header to split out `the_repository`-free section
400 - - environment: move `set_git_dir()` and related into setup layer
401 - - environment: make `get_git_namespace()` self-contained
402 - - environment: move object database functions into object layer
403 - - config: make dependency on repo in `read_early_config()` explicit
404 - - config: document `read_early_config()` and `read_very_early_config()`
405 - - environment: make `get_git_work_tree()` accept a repository
406 - - environment: make `get_graft_file()` accept a repository
407 - - environment: make `get_index_file()` accept a repository
408 - - environment: make `get_object_directory()` accept a repository
409 - - environment: make `get_git_common_dir()` accept a repository
410 - - environment: make `get_git_dir()` accept a repository
429 + (merged to 'next' on 2024-09-16 at c08e3eb6b8)
430 + + environment: stop storing "core.notesRef" globally
431 + + environment: stop storing "core.warnAmbiguousRefs" globally
432 + + environment: stop storing "core.preferSymlinkRefs" globally
433 + + environment: stop storing "core.logAllRefUpdates" globally
434 + + refs: stop modifying global `log_all_ref_updates` variable
435 + + branch: stop modifying `log_all_ref_updates` variable
436 + + repo-settings: track defaults close to `struct repo_settings`
437 + + repo-settings: split out declarations into a standalone header
438 + + environment: guard state depending on a repository
439 + + environment: reorder header to split out `the_repository`-free section
440 + + environment: move `set_git_dir()` and related into setup layer
441 + + environment: make `get_git_namespace()` self-contained
442 + + environment: move object database functions into object layer
443 + + config: make dependency on repo in `read_early_config()` explicit
444 + + config: document `read_early_config()` and `read_very_early_config()`
445 + + environment: make `get_git_work_tree()` accept a repository
446 + + environment: make `get_graft_file()` accept a repository
447 + + environment: make `get_index_file()` accept a repository
448 + + environment: make `get_object_directory()` accept a repository
449 + + environment: make `get_git_common_dir()` accept a repository
450 + + environment: make `get_git_dir()` accept a repository
451
452 Code clean-up.
453
414 - Will merge to 'next'.
454 + Will merge to 'master'.
455 source: <cover.1726139990.git.ps@pks.im>
456
457
@@ -448,6 +488,7 @@ Release tarballs are available at:
488 + send-pack: fix leaking common object IDs
489 + fetch-pack: fix memory leaks on fetch negotiation
490 + t/test-lib: allow skipping leak checks for passing tests
491 + (this branch is used by ps/leakfixes-part-7.)
492
493 More leakfixes.
494
@@ -536,17 +577,6 @@ Release tarballs are available at:
577 source: <20240906221853.257984-1-calvinwan@google.com>
578
579
539 -* jc/range-diff-lazy-setup (2024-08-09) 2 commits
540 - (merged to 'next' on 2024-09-10 at 2e04a06b22)
541 - + remerge-diff: clean up temporary objdir at a central place
542 - + remerge-diff: lazily prepare temporary objdir on demand
543 -
544 - Code clean-up.
545 -
546 - Will merge to 'master'.
547 - source: <xmqqr0ax9vlk.fsf@gitster.g>
548 -
549 -
580 * jc/too-many-arguments (2024-08-06) 4 commits
581 - miscellaneous: avoid "too many arguments"
582 - notes: avoid "too many arguments"
@@ -560,15 +590,16 @@ Release tarballs are available at:
590
591
592 * ja/doc-synopsis-markup (2024-09-05) 3 commits
563 - - doc: apply synopsis simplification on git-clone and git-init
564 - - doc: update the guidelines to reflect the current formatting rules
565 - - doc: introduce a synopsis typesetting
593 + (merged to 'next' on 2024-09-16 at d471154a0b)
594 + + doc: apply synopsis simplification on git-clone and git-init
595 + + doc: update the guidelines to reflect the current formatting rules
596 + + doc: introduce a synopsis typesetting
597
598 The way AsciiDoc is used for SYNOPSIS part of the manual pages has
599 been revamped. The sources, at least for the simple cases, got
600 vastly pleasant to work with.
601
571 - Will merge to 'next'.
602 + Will merge to 'master'.
603 source: <pull.1766.v4.git.1725573126.gitgitgadget@gmail.com>
604
605