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