What's cooking (2023/10 #05)

Junio C Hamano committed Oct 12, 2023 at 14:07 UTC c08bc20a6bc06bb1cd029c2cc9db736d0c45131c
1 file changed +178 -170
whats-cooking.txt
+178 -170
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Oct 2023, #04; Tue, 10)
3 -X-master-at: aab89be2eb6ca51eefeb8c8066f673f447058856
4 -X-next-at: 989b7e0362472e4b4bd6a089ca4d4971fbf74bb7
2 +Subject: What's cooking in git.git (Oct 2023, #05; Thu, 12)
3 +X-master-at: 59167d7d09fd7a1d64aa1d5be73bc484f6621894
4 +X-next-at: aed0368e0ec22719bf8aa6dece549de780395f82
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Oct 2023, #04; Tue, 10)
7 +What's cooking in git.git (Oct 2023, #05; Thu, 12)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -17,6 +17,9 @@ 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 +There are too many topics marked with "Needs review" label. I can
21 +help reviewing some of them myself, but obviously it will not scale.
22 +
23 Copies of the source code to Git live in many repositories, and the
24 following is a list of the ones I push into or their mirrors. Some
25 repositories have only a subset of branches.
@@ -48,64 +51,170 @@ Release tarballs are available at:
51 --------------------------------------------------
52 [Graduated to 'master']
53
51 -* cc/repack-sift-filtered-objects-to-separate-pack (2023-10-02) 9 commits
52 - (merged to 'next' on 2023-10-03 at e5a4824609)
53 - + gc: add `gc.repackFilterTo` config option
54 - + repack: implement `--filter-to` for storing filtered out objects
55 - + gc: add `gc.repackFilter` config option
56 - + repack: add `--filter=<filter-spec>` option
57 - + pack-bitmap-write: rebuild using new bitmap when remapping
58 - + repack: refactor finding pack prefix
59 - + repack: refactor finishing pack-objects command
60 - + t/helper: add 'find-pack' test-tool
61 - + pack-objects: allow `--filter` without `--stdout`
54 +* jm/git-status-submodule-states-docfix (2023-10-04) 1 commit
55 + (merged to 'next' on 2023-10-04 at 520b7711a4)
56 + + git-status.txt: fix minor asciidoc format issue
57
63 - "git repack" machinery learns to pay attention to the "--filter="
64 - option.
65 - cf. <ZRsknb4NxNHTR21E@nand.local>
66 - source: <20231002165504.1325153-1-christian.couder@gmail.com>
58 + Docfix.
59 + source: <pull.1591.v3.git.1696386165616.gitgitgadget@gmail.com>
60
61
69 -* cw/prelim-cleanup (2023-09-29) 4 commits
70 - (merged to 'next' on 2023-10-03 at 5985929612)
71 - + parse: separate out parsing functions from config.h
72 - + config: correct bad boolean env value error message
73 - + wrapper: reduce scope of remove_or_warn()
74 - + hex-ll: separate out non-hash-algo functions
62 +* js/ci-coverity (2023-10-05) 6 commits
63 + (merged to 'next' on 2023-10-05 at 253788f0d1)
64 + + coverity: detect and report when the token or project is incorrect
65 + + coverity: allow running on macOS
66 + + coverity: support building on Windows
67 + + coverity: allow overriding the Coverity project
68 + + coverity: cache the Coverity Build Tool
69 + + ci: add a GitHub workflow to submit Coverity scans
70
76 - Shuffle some bits across headers and sources to prepare for
77 - libification effort.
78 - source: <cover.1696021277.git.jonathantanmy@google.com>
71 + GitHub CI workflow has learned to trigger Coverity check.
72 + source: <pull.1588.v2.git.1695642662.gitgitgadget@gmail.com>
73
74
81 -* ds/init-diffstat-width (2023-09-29) 1 commit
82 - (merged to 'next' on 2023-10-03 at 18383ac895)
83 - + diff --stat: set the width defaults in a helper function
75 +* rs/parse-opt-ctx-cleanup (2023-10-03) 1 commit
76 + (merged to 'next' on 2023-10-04 at d5d0a2ce3b)
77 + + parse-options: drop unused parse_opt_ctx_t member
78
79 Code clean-up.
86 - source: <d45d1dac1a20699e370905b88b6fd0ec296751e7.1695441501.git.dsimic@manjaro.org>
80 + source: <ebcaa9e1-d306-4c93-adec-3f35d7040531@web.de>
81 +
82 +--------------------------------------------------
83 +[New Topics]
84 +
85 +* jc/fail-stash-to-store-non-stash (2023-10-11) 1 commit
86 + - stash: be careful what we store
87 +
88 + Feeding "git stash store" with a random commit that was not created
89 + by "git stash create" now errors out.
90 +
91 + Will merge to 'next'?
92 + source: <xmqqbkd4lwj0.fsf_-_@gitster.g>
93
94
89 -* eb/limit-bulk-checkin-to-blobs (2023-09-26) 1 commit
90 - (merged to 'next' on 2023-10-02 at 89c9c95966)
91 - + bulk-checkin: only support blobs in index_bulk_checkin
95 +* jc/doc-unit-tests-fixup (2023-10-11) 1 commit
96 + - SQUASH???
97 + (this branch uses js/doc-unit-tests and js/doc-unit-tests-with-cmake.)
98
93 - The "streaming" interface used for bulk-checkin codepath has been
94 - narrowed to take only blob objects for now, with no real loss of
95 - functionality.
96 - source: <87msx99b9o.fsf_-_@gmail.froward.int.ebiederm.org>
99 + Quick fix for jc/doc-unit-tests topic to unbreak CI running on 'seen'.
100 + source: <xmqqwmvskf8t.fsf@gitster.g>
101 +
102 +
103 +* bc/racy-4gb-files (2023-10-12) 2 commits
104 + - Prevent git from rehashing 4GiB files
105 + - t: add a test helper to truncate files
106 +
107 + The index file has room only for lower 32-bit of the file size in
108 + the cached stat information, which means cached stat information
109 + will have 0 in its sd_size member for a file whose size is multiple
110 + of 4GiB. This is mistaken for a racily clean path. Avoid it by
111 + storing a bogus sd_size value instead for such files.
112 +
113 + Waiting for review response.
114 + source: <20231012160930.330618-1-sandals@crustytoothpaste.net>
115 +
116 +
117 +* ds/mailmap-entry-update (2023-10-12) 1 commit
118 + (merged to 'next' on 2023-10-12 at 3de300ac62)
119 + + mailmap: change primary address for Derrick Stolee
120 +
121 + Update mailmap entry for Derrick.
122 +
123 + Will merge to 'master' immediately.
124 + source: <pull.1592.git.1697131834003.gitgitgadget@gmail.com>
125 +
126 +
127 +* jc/grep-f-relative-to-cwd (2023-10-12) 1 commit
128 + - grep: -f <path> is relative to $cwd
129 +
130 + "cd sub && git grep -f patterns" tried to read "patterns" file at
131 + the top level of the working tree; it has been corrected to read
132 + "sub/patterns" instead.
133 +
134 + Needs review.
135 + source: <xmqqedhzg37z.fsf@gitster.g>
136
137 --------------------------------------------------
99 -[New Topics]
138 +[Stalled]
139 +
140 +* pw/rebase-sigint (2023-09-07) 1 commit
141 + - rebase -i: ignore signals when forking subprocesses
142 +
143 + If the commit log editor or other external programs (spawned via
144 + "exec" insn in the todo list) receive internactive signal during
145 + "git rebase -i", it caused not just the spawned program but the
146 + "Git" process that spawned them, which is often not what the end
147 + user intended. "git" learned to ignore SIGINT and SIGQUIT while
148 + waiting for these subprocesses.
149 +
150 + Expecting a reroll.
151 + cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
152 + source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>
153 +
154 +
155 +* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
156 + - cherry-pick: refuse cherry-pick sequence if index is dirty
157 +
158 + "git cherry-pick A" that replays a single commit stopped before
159 + clobbering local modification, but "git cherry-pick A..B" did not,
160 + which has been corrected.
161 +
162 + Expecting a reroll.
163 + cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
164 + source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>
165 +
166 +
167 +* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
168 + - diff-lib: fix check_removed() when fsmonitor is active
169 + - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
170 + - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
171 + (this branch uses jc/fake-lstat.)
172 +
173 + The optimization based on fsmonitor in the "diff --cached"
174 + codepath is resurrected with the "fake-lstat" introduced earlier.
175 +
176 + It is unknown if the optimization is worth resurrecting, but in case...
177 + source: <xmqqr0n0h0tw.fsf@gitster.g>
178 +
179 +--------------------------------------------------
180 +[Cooking]
181 +
182 +* tb/path-filter-fix (2023-10-10) 17 commits
183 + - bloom: introduce `deinit_bloom_filters()`
184 + - commit-graph: reuse existing Bloom filters where possible
185 + - object.h: fix mis-aligned flag bits table
186 + - commit-graph: drop unnecessary `graph_read_bloom_data_context`
187 + - commit-graph.c: unconditionally load Bloom filters
188 + - bloom: prepare to discard incompatible Bloom filters
189 + - bloom: annotate filters with hash version
190 + - commit-graph: new filter ver. that fixes murmur3
191 + - repo-settings: introduce commitgraph.changedPathsVersion
192 + - t4216: test changed path filters with high bit paths
193 + - t/helper/test-read-graph: implement `bloom-filters` mode
194 + - bloom.h: make `load_bloom_filter_from_graph()` public
195 + - t/helper/test-read-graph.c: extract `dump_graph_info()`
196 + - gitformat-commit-graph: describe version 2 of BDAT
197 + - commit-graph: ensure Bloom filters are read with consistent settings
198 + - revision.c: consult Bloom filters for root commits
199 + - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`
200 +
201 + The Bloom filter used for path limited history traversal was broken
202 + on systems whose "char" is unsigned; update the implementation and
203 + bump the format version to 2.
204 +
205 + Needs (hopefully final and quick) review.
206 + source: <cover.1696969994.git.me@ttaylorr.com>
207 +
208
209 * ak/pretty-decorate-more-fix (2023-10-09) 1 commit
102 - - pretty: fix ref filtering for %(decorate) formats
210 + (merged to 'next' on 2023-10-12 at 3cbb4c2268)
211 + + pretty: fix ref filtering for %(decorate) formats
212
213 Unlike "git log --pretty=%D", "git log --pretty="%(decorate)" did
214 not auto-initialize the decoration subsystem, which has been
215 corrected.
216
108 - Will merge to 'next'?
217 + Will merge to 'master'.
218 source: <20231008202307.1568477-1-andy.koppe@gmail.com>
219
220
@@ -143,14 +252,16 @@ Release tarballs are available at:
252
253
254 * kn/rev-list-missing-fix (2023-10-09) 3 commits
146 - - rev-list: add commit object support in `--missing` option
147 - - rev-list: move `show_commit()` to the bottom
148 - - revision: rename bit to `do_not_die_on_missing_objects`
255 + . rev-list: add commit object support in `--missing` option
256 + . rev-list: move `show_commit()` to the bottom
257 + . revision: rename bit to `do_not_die_on_missing_objects`
258
259 "git rev-list --missing" did not work for missing commit objects,
260 which has been corrected.
261
262 Needs review.
263 + Seems to break CI job with extra environment settings.
264 + cf. <xmqqil7etndo.fsf@gitster.g>
265 source: <20231009105528.17777-1-karthik.188@gmail.com>
266
267
@@ -205,86 +316,14 @@ Release tarballs are available at:
316
317
318 * ps/rewritten-is-per-worktree-doc (2023-10-10) 1 commit
208 - - doc/git-worktree: mention "refs/rewritten" as per-worktree refs
319 + (merged to 'next' on 2023-10-12 at 501b960e8c)
320 + + doc/git-worktree: mention "refs/rewritten" as per-worktree refs
321
322 Doc update.
323
212 - Will merge to 'next'.
324 + Will merge to 'master'.
325 source: <985ac850eb6e60ae76601acc8bfbcd56f99348b4.1696935657.git.ps@pks.im>
326
215 ---------------------------------------------------
216 -[Stalled]
217 -
218 -* tb/path-filter-fix (2023-08-30) 15 commits
219 - - bloom: introduce `deinit_bloom_filters()`
220 - - commit-graph: reuse existing Bloom filters where possible
221 - - object.h: fix mis-aligned flag bits table
222 - - commit-graph: drop unnecessary `graph_read_bloom_data_context`
223 - - commit-graph.c: unconditionally load Bloom filters
224 - - t/t4216-log-bloom.sh: harden `test_bloom_filters_not_used()`
225 - - bloom: prepare to discard incompatible Bloom filters
226 - - bloom: annotate filters with hash version
227 - - commit-graph: new filter ver. that fixes murmur3
228 - - repo-settings: introduce commitgraph.changedPathsVersion
229 - - t4216: test changed path filters with high bit paths
230 - - t/helper/test-read-graph: implement `bloom-filters` mode
231 - - bloom.h: make `load_bloom_filter_from_graph()` public
232 - - t/helper/test-read-graph.c: extract `dump_graph_info()`
233 - - gitformat-commit-graph: describe version 2 of BDAT
234 -
235 - The Bloom filter used for path limited history traversal was broken
236 - on systems whose "char" is unsigned; update the implementation and
237 - bump the format version to 2.
238 -
239 - Reroll exists, not picked up yet.
240 - cf. <20230830200218.GA5147@szeder.dev>
241 - cf. <20230901205616.3572722-1-jonathantanmy@google.com>
242 - cf. <20230924195900.GA1156862@szeder.dev>
243 - cf. <20231008143523.GA18858@szeder.dev>
244 - source: <cover.1693413637.git.jonathantanmy@google.com>
245 -
246 -
247 -* pw/rebase-sigint (2023-09-07) 1 commit
248 - - rebase -i: ignore signals when forking subprocesses
249 -
250 - If the commit log editor or other external programs (spawned via
251 - "exec" insn in the todo list) receive internactive signal during
252 - "git rebase -i", it caused not just the spawned program but the
253 - "Git" process that spawned them, which is often not what the end
254 - user intended. "git" learned to ignore SIGINT and SIGQUIT while
255 - waiting for these subprocesses.
256 -
257 - Expecting a reroll.
258 - cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
259 - source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>
260 -
261 -
262 -* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
263 - - cherry-pick: refuse cherry-pick sequence if index is dirty
264 -
265 - "git cherry-pick A" that replays a single commit stopped before
266 - clobbering local modification, but "git cherry-pick A..B" did not,
267 - which has been corrected.
268 -
269 - Expecting a reroll.
270 - cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
271 - source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>
272 -
273 -
274 -* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
275 - - diff-lib: fix check_removed() when fsmonitor is active
276 - - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
277 - - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
278 - (this branch uses jc/fake-lstat.)
279 -
280 - The optimization based on fsmonitor in the "diff --cached"
281 - codepath is resurrected with the "fake-lstat" introduced earlier.
282 -
283 - It is unknown if the optimization is worth resurrecting, but in case...
284 - source: <xmqqr0n0h0tw.fsf@gitster.g>
285 -
286 ---------------------------------------------------
287 -[Cooking]
327
328 * jc/merge-ort-attr-index-fix (2023-10-09) 1 commit
329 (merged to 'next' on 2023-10-10 at b139b87502)
@@ -336,15 +375,16 @@ Release tarballs are available at:
375
376
377 * vd/loose-ref-iteration-optimization (2023-10-09) 4 commits
339 - - files-backend.c: avoid stat in 'loose_fill_ref_dir'
340 - - dir.[ch]: add 'follow_symlink' arg to 'get_dtype'
341 - - dir.[ch]: expose 'get_dtype'
342 - - ref-cache.c: fix prefix matching in ref iteration
378 + (merged to 'next' on 2023-10-12 at 99e2f83855)
379 + + files-backend.c: avoid stat in 'loose_fill_ref_dir'
380 + + dir.[ch]: add 'follow_symlink' arg to 'get_dtype'
381 + + dir.[ch]: expose 'get_dtype'
382 + + ref-cache.c: fix prefix matching in ref iteration
383
384 The code to iterate over loose references have been optimized to
385 reduce the number of lstat() system calls.
386
347 - Will merge to 'next'?
387 + Will merge to 'master'.
388 source: <pull.1594.v2.git.1696888736.gitgitgadget@gmail.com>
389
390
@@ -375,6 +415,8 @@ Release tarballs are available at:
415
416 Introduce "git replay", a tool meant on the server side without
417 working tree to recreate a history.
418 +
419 + Needs (hopefully final and quick) review.
420 source: <20231010123847.2777056-1-christian.couder@gmail.com>
421
422
@@ -397,26 +439,6 @@ Release tarballs are available at:
439 source: <20231003202504.GA7697@coredump.intra.peff.net>
440
441
400 -* jm/git-status-submodule-states-docfix (2023-10-04) 1 commit
401 - (merged to 'next' on 2023-10-04 at 520b7711a4)
402 - + git-status.txt: fix minor asciidoc format issue
403 -
404 - Docfix.
405 -
406 - Will merge to 'master'.
407 - source: <pull.1591.v3.git.1696386165616.gitgitgadget@gmail.com>
408 -
409 -
410 -* rs/parse-opt-ctx-cleanup (2023-10-03) 1 commit
411 - (merged to 'next' on 2023-10-04 at d5d0a2ce3b)
412 - + parse-options: drop unused parse_opt_ctx_t member
413 -
414 - Code clean-up.
415 -
416 - Will merge to 'master'.
417 - source: <ebcaa9e1-d306-4c93-adec-3f35d7040531@web.de>
418 -
419 -
442 * tb/repack-max-cruft-size (2023-10-09) 5 commits
443 (merged to 'next' on 2023-10-09 at 38f039e880)
444 + repack: free existing_cruft array after use
@@ -444,15 +466,15 @@ Release tarballs are available at:
466 source: <20231003205442.22963-1-andy.koppe@gmail.com>
467
468
447 -* jc/attr-tree-config (2023-10-04) 2 commits
448 - - attr: add attr.allowInvalidSource config to allow invalid revision
469 +* jc/attr-tree-config (2023-10-11) 2 commits
470 - attr: add attr.tree for setting the treeish to read attributes from
471 + - attr: read attributes from HEAD when bare repo
472
473 The attribute subsystem learned to honor `attr.tree` configuration
474 that specifies which tree to read the .gitattributes files from.
475
454 - Reroll exists, but not picked up (a review sent).
455 - source: <pull.1577.v2.git.git.1696443502.gitgitgadget@gmail.com>
476 + Will merge to 'next'?
477 + source: <pull.1577.v4.git.git.1697044422.gitgitgadget@gmail.com>
478
479
480 * js/submodule-fix-misuse-of-path-and-name (2023-10-03) 6 commits
@@ -577,31 +599,17 @@ Release tarballs are available at:
599 source: <cover.1696425168.git.zhiyou.jx@alibaba-inc.com>
600
601
580 -* ty/merge-tree-strategy-options (2023-09-25) 1 commit
602 +* ty/merge-tree-strategy-options (2023-10-11) 2 commits
603 + (merged to 'next' on 2023-10-12 at 9b873601df)
604 + + merge: introduce {copy|clear}_merge_options()
605 (merged to 'next' on 2023-09-29 at aa65b54416)
606 + merge-tree: add -X strategy option
607
608 "git merge-tree" learned to take strategy backend specific options
609 via the "-X" option, like "git merge" does.
610
587 - Hold. There is an unwanted structure copying going on.
588 - cf. <a482d047-dd40-436d-8daa-0c74780af11f@gmail.com>
589 - source: <pull.1565.v6.git.1695522222723.gitgitgadget@gmail.com>
590 -
591 -
592 -* js/ci-coverity (2023-10-05) 6 commits
593 - (merged to 'next' on 2023-10-05 at 253788f0d1)
594 - + coverity: detect and report when the token or project is incorrect
595 - + coverity: allow running on macOS
596 - + coverity: support building on Windows
597 - + coverity: allow overriding the Coverity project
598 - + coverity: cache the Coverity Build Tool
599 - + ci: add a GitHub workflow to submit Coverity scans
600 -
601 - GitHub CI workflow has learned to trigger Coverity check.
602 -
611 Will merge to 'master'.
604 - source: <pull.1588.v2.git.1695642662.gitgitgadget@gmail.com>
612 + source: <pull.1565.v6.git.1695522222723.gitgitgadget@gmail.com>
613
614
615 * js/config-parse (2023-09-21) 5 commits
@@ -667,11 +675,11 @@ Release tarballs are available at:
675 - ci: run unit tests in CI
676 - unit tests: add TAP unit test framework
677 - unit tests: add a project plan document
670 - (this branch is used by js/doc-unit-tests-with-cmake.)
678 + (this branch is used by jc/doc-unit-tests-fixup and js/doc-unit-tests-with-cmake.)
679
680 Process to add some form of low-level unit tests has started.
681
674 - Will merge to 'next'?
682 + Expecting a reroll to address CI breakage.
683 source: <cover.1696889529.git.steadmon@google.com>
684
685
@@ -683,7 +691,7 @@ Release tarballs are available at:
691 - unit-tests: do show relative file paths
692 - unit-tests: do not mistake `.pdb` files for being executable
693 - cmake: also build unit tests
686 - (this branch uses js/doc-unit-tests.)
694 + (this branch is used by jc/doc-unit-tests-fixup; uses js/doc-unit-tests.)
695
696 Update the base topic to work with CMake builds.
697