What's cooking (2021/03 #05)
Junio C Hamano committed
Mar 17, 2021 at 15:12 UTC
dfe9970c3ecba4619efeac0f2cb837c6f4530a01
1 file changed
+222
-96
whats-cooking.txt
+222
-96
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Mar 2021, #04; Sun, 14)
4
-X-master-at: 8775279891fd186ce847b7ddb7f0ac2339504300
5
-X-next-at: c8bc67eb22fa994c4b7386cb001aaa95940877c6
3
+Subject: What's cooking in git.git (Mar 2021, #05; Wed, 17)
4
+X-master-at: a5828ae6b52137b913b978e16cd2334482eb4c1f
5
+X-next-at: 576ba9dcdaf1007243f5a5cb4bf1a1e7b8fcf850
6
7
-What's cooking in git.git (Mar 2021, #04; Sun, 14)
7
+What's cooking in git.git (Mar 2021, #05; Wed, 17)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with '-' are
@@ -12,7 +12,17 @@ only in 'seen' (formerly 'pu'---proposed updates) while commits prefixed
12
with '+' are in 'next'. The ones marked with '.' do not appear in any of
13
the integration branches, but I am still holding onto them.
14
15
-Git 2.31 final is expected to be tagged on Mar 15, 2021 (monday).
15
+Git 2.31 has been tagged. We will hopefully either (1) not see
16
+brown-paper-bag breakages at all, or (2) will see some but can
17
+immediately deal with them, in coming couple of days. After that,
18
+the 2.32 cycle will gain steam, starting next week. Let's see.
19
+
20
+Many topics marked as "Will cook in 'next'" should be marked for
21
+merging to 'master' now, but that hasn't happened yet. Please
22
+nominate those that should be kicked back from 'next' to 'seen', if
23
+there are any. Please also nominate those that should be among the
24
+first batch of topics to be in 'master' (after a handful of 2.31
25
+regression fixes go through 'next' down to 'master', that is).
26
27
Copies of the source code to Git live in many repositories, and the
28
following is a list of the ones I push into or their mirrors. Some
@@ -43,59 +53,102 @@ Release tarballs are available at:
53
https://www.kernel.org/pub/software/scm/git/
54
55
--------------------------------------------------
46
-[Graduated to 'master']
56
+[New Topics]
57
48
-* jn/mergetool-hideresolved-is-optional (2021-03-13) 2 commits
49
- (merged to 'next' on 2021-03-13 at 23f5a25716)
50
- + doc: describe mergetool configuration in git-mergetool(1)
51
- + mergetool: do not enable hideResolved by default
58
+* jc/calloc-fix (2021-03-15) 1 commit
59
+ - xcalloc: use CALLOC_ARRAY() when applicable
60
53
- Disable the recent mergetool's hideresolved feature by default for
54
- backward compatibility and safety.
61
+ Code clean-up.
62
63
+ Will merge to 'next'.
64
57
-* tb/pack-revindex-on-disk (2021-02-26) 1 commit
58
- (merged to 'next' on 2021-03-12 at 7aa348d3b3)
59
- + pack-revindex.c: don't close unopened file descriptors
65
61
- Fix for a topic in 'master'.
66
+* ab/tree-walk-with-object-type (2021-03-17) 32 commits
67
+ - tree-walk.h API: add a tree_entry_extract_type() function
68
+ - blame: emit a better error on 'git blame directory'
69
+ - tree-walk.h API: add a get_tree_entry_path() function
70
+ - tree-walk.h API: add get_tree_entry_all()
71
+ - tree-walk.h API: add a tree_entry_extract_all() function
72
+ - tree-entry.h API: rename tree_entry_extract() to tree_entry_extract_mode()
73
+ - tree-walk.h API: document and format tree_entry_extract()
74
+ - tree-walk.h API: add get_tree_entry_type()
75
+ - match-trees: use "tmp" for mode in shift_tree_by()
76
+ - tree-walk.h API: rename get_tree_entry() to get_tree_entry_mode()
77
+ - tree-walk.h API: formatting changes for subsequent commit
78
+ - tree-walk.h users: use temporary variable(s) for "mode"
79
+ - fsck.c: switch on "object_type" in fsck_walk_tree()
80
+ - merge-ort: correct reference to test in 62fdec17a11
81
+ - merge-tree tests: test for the mode comparison in same_entry()
82
+ - tree-walk.h users: migrate miscellaneous "mode" to "object_type"
83
+ - tree-walk.h users: refactor chained "mode" if/else into switch
84
+ - tree-walk.h users: migrate "p->mode &&" pattern
85
+ - tree.h API: make read_tree_fn_t take an "enum object_type"
86
+ - archive: get rid of 'stage' parameter
87
+ - tree.h users: format argument lists in archive.c
88
+ - tree.h: format argument lists of read_tree_recursive() users
89
+ - tree-walk.h users: switch object_type(...) to new .object_type
90
+ - cache.h: have base_name_compare() take "is tree?", not "mode"
91
+ - diff tests: test that "mode" is passed when sorting
92
+ - mktree tests: test that "mode" is passed when sorting
93
+ - fast-import tests: test for sorting dir/file foo v.s. foo.txt
94
+ - tree-walk.c: migrate to using new "object_type" field when possible
95
+ - tree-walk.h: add object_type member to name_entry
96
+ - cache.h: add a comment to object_type()
97
+ - notes & match-trees: use name_entry's "pathlen" member
98
+ - diff.c: remove redundant canon_mode() call
99
+ (this branch uses ab/read-tree.)
100
63
---------------------------------------------------
64
-[New Topics]
101
+ Code clean-up.
102
66
-* en/ort-perf-batch-9 (2021-03-10) 8 commits
67
- - diffcore-rename: avoid doing basename comparisons for irrelevant sources
68
- - merge-ort: skip rename detection entirely if possible
69
- - merge-ort: use relevant_sources to filter possible rename sources
70
- - merge-ort: precompute whether directory rename detection is needed
71
- - merge-ort: introduce wrappers for alternate tree traversal
72
- - merge-ort: add data structures for an alternate tree traversal
73
- - merge-ort: precompute subset of sources for which we need rename detection
74
- - diffcore-rename: enable filtering possible rename sources
75
- (this branch uses en/ort-perf-batch-8.)
103
+ I am not exactly sure where this series wants to go, other than
104
+ unnecessarily churning the code. Seems to break "diff --no-index"
105
+ rather badly, too (e.g. t4050, t4002, among others).
106
107
78
-* js/http-pki-credential-store (2021-03-11) 2 commits
79
- - http: drop the check for an empty proxy password before approving
80
- - http: store credential when PKI auth is used
108
+* jh/fsmonitor-prework (2021-03-17) 1 commit
109
+ - fsmonitor: avoid global-buffer-overflow READ when checking trivial response
110
82
- The http codepath learned to let the credential layer to cache the
83
- password used to unlock a certificate that has successfully been
84
- used.
111
+ The fsmonitor interface read from its input without making sure
112
+ there is something to read from. This bug is new in 2.31
113
+ timeframe.
114
115
+ Will merge to 'next'.
116
87
-* rs/avoid-null-statement-after-macro-call (2021-03-13) 2 commits
88
- - mem-pool: drop trailing semicolon from macro definition
89
- - block-sha1: drop trailing semicolon from macro definition
117
118
+* jk/bisect-peel-tag-fix (2021-03-17) 1 commit
119
+ - bisect: peel annotated tags to commits
120
92
-* rs/calloc-array (2021-03-13) 2 commits
93
- - use CALLOC_ARRAY
94
- - git-compat-util.h: drop trailing semicolon from macro definition
121
+ "git bisect" reimplemented more in C during 2.30 timeframe did not
122
+ take an annotated tag as a good/bad endpoint well. This regression
123
+ has been corrected.
124
125
+ Will merge to 'next'.
126
97
-* jk/slimmed-down (2021-03-14) 1 commit
98
- - vcs-svn: remove header files as well
127
+
128
+* js/fsmonitor-unpack-fix (2021-03-17) 2 commits
129
+ - fsmonitor: do not forget to release the token in `discard_index()`
130
+ - fsmonitor: fix memory corruption in some corner cases
131
+
132
+ The data structure used by fsmonitor interface was not properly
133
+ duplicated during an in-core merge, leading to use-after-free etc.
134
+
135
+ Will merge to 'next'.
136
+
137
+
138
+* jt/clone-unborn-head (2021-03-17) 1 commit
139
+ - t5606: run clone branch name test with protocol v2
140
+
141
+ Test fix.
142
+
143
+ Will merge to 'next'.
144
+
145
+
146
+* km/config-doc-typofix (2021-03-17) 1 commit
147
+ - config.txt: add missing period
148
+
149
+ Docfix.
150
+
151
+ Will merge to 'next'.
152
153
--------------------------------------------------
154
[Stalled]
@@ -116,47 +169,8 @@ Release tarballs are available at:
169
Looking good.
170
171
119
-* ab/fsck-api-cleanup (2021-02-18) 10 commits
120
- - fsck.h: update FSCK_OPTIONS_* for object_name
121
- - fsck.c: give "FOREACH_MSG_ID" a more specific name
122
- - fsck.c: undefine temporary STR macro after use
123
- - fsck.c: call parse_msg_type() early in fsck_set_msg_type()
124
- - fsck.h: move FSCK_{FATAL,INFO,ERROR,WARN,IGNORE} into an enum
125
- - fsck.c: rename remaining fsck_msg_id "id" to "msg_id"
126
- - fsck.c: move definition of msg_id into append_msg_id()
127
- - fsck.c: rename variables in fsck_set_msg_type() for less confusion
128
- - fsck.h: use "enum object_type" instead of "int"
129
- - fsck.h: indent arguments to of fsck_set_msg_type
130
-
131
- Preliminary fsck API clean-up.
132
-
133
- Expecting a reroll.
134
- cf. <xmqqczwxc8bw.fsf@gitster.g>
135
-
136
-
137
-* jk/symlinked-dotgitx-files (2020-10-23) 9 commits
138
- - docs: document symlink restrictions for .git* files
139
- - fsck: complain when .gitattributes or .gitignore is a symlink
140
- - verify_path(): disallow symlinks in .gitattributes and .gitignore
141
- - t0060: test obscured .gitattributes and .gitignore matching
142
- - t7450: test .gitmodules symlink matching against obscured names
143
- - t7450: test verify_path() handling of gitmodules
144
- - t7415: rename to expand scope
145
- - fsck_tree(): wrap some long lines
146
- - fsck_tree(): fix shadowed variable
147
-
148
- "git fsck" and the corresponding check done during the transport
149
- learned to ensure that in-tree files like `.gitignore` and
150
- `.gitattributes` are not symbolic links.
151
-
152
- It seems that there are real projects with .gitignore recorded as
153
- symlinks, which may need to loosen the fsck setting. Do we need to
154
- introduce a class that is separate from symlinked .gitmodules that
155
- has potential consequences that is more/less grave, so that these
156
- projects can opt out of the new checks?
157
-
158
-
159
-* ag/merge-strategies-in-c (2020-11-24) 13 commits
172
+* ag/merge-strategies-in-c (2021-03-15) 14 commits
173
+ - SQUASH??? CALLOC_ARRAY()
174
- sequencer: use the "octopus" merge strategy without forking
175
- sequencer: use the "resolve" strategy without forking
176
- merge: use the "octopus" strategy without forking
@@ -179,6 +193,85 @@ Release tarballs are available at:
193
--------------------------------------------------
194
[Cooking]
195
196
+* ab/fsck-api-cleanup (2021-03-17) 19 commits
197
+ - fetch-pack: use new fsck API to printing dangling submodules
198
+ - fetch-pack: use file-scope static struct for fsck_options
199
+ - fetch-pack: don't needlessly copy fsck_options
200
+ - fsck.c: move gitmodules_{found,done} into fsck_options
201
+ - fsck.c: add an fsck_set_msg_type() API that takes enums
202
+ - fsck.c: pass along the fsck_msg_id in the fsck_error callback
203
+ - fsck.[ch]: move FOREACH_FSCK_MSG_ID & fsck_msg_id from *.c to *.h
204
+ - fsck.c: give "FOREACH_MSG_ID" a more specific name
205
+ - fsck.c: undefine temporary STR macro after use
206
+ - fsck.c: call parse_msg_type() early in fsck_set_msg_type()
207
+ - fsck.h: re-order and re-assign "enum fsck_msg_type"
208
+ - fsck.h: move FSCK_{FATAL,INFO,ERROR,WARN,IGNORE} into an enum
209
+ - fsck.c: refactor fsck_msg_type() to limit scope of "int msg_type"
210
+ - fsck.c: rename remaining fsck_msg_id "id" to "msg_id"
211
+ - fsck.c: move definition of msg_id into append_msg_id()
212
+ - fsck.c: rename variables in fsck_set_msg_type() for less confusion
213
+ - fsck.h: use "enum object_type" instead of "int"
214
+ - fsck.h: use designed initializers for FSCK_OPTIONS_{DEFAULT,STRICT}
215
+ - fsck.c: refactor and rename common config callback
216
+
217
+ Fsck API clean-up.
218
+ cf. <20210317182054.5986-1-avarab@gmail.com>
219
+
220
+
221
+* en/ort-perf-batch-9 (2021-03-10) 8 commits
222
+ - diffcore-rename: avoid doing basename comparisons for irrelevant sources
223
+ - merge-ort: skip rename detection entirely if possible
224
+ - merge-ort: use relevant_sources to filter possible rename sources
225
+ - merge-ort: precompute whether directory rename detection is needed
226
+ - merge-ort: introduce wrappers for alternate tree traversal
227
+ - merge-ort: add data structures for an alternate tree traversal
228
+ - merge-ort: precompute subset of sources for which we need rename detection
229
+ - diffcore-rename: enable filtering possible rename sources
230
+ (this branch uses en/ort-perf-batch-8.)
231
+
232
+ More ort.
233
+
234
+ Ready?
235
+
236
+
237
+* js/http-pki-credential-store (2021-03-11) 2 commits
238
+ - http: drop the check for an empty proxy password before approving
239
+ - http: store credential when PKI auth is used
240
+
241
+ The http codepath learned to let the credential layer to cache the
242
+ password used to unlock a certificate that has successfully been
243
+ used.
244
+
245
+ Will merge to 'next'.
246
+
247
+
248
+* rs/avoid-null-statement-after-macro-call (2021-03-17) 2 commits
249
+ - mem-pool: drop trailing semicolon from macro definition
250
+ - block-sha1: drop trailing semicolon from macro definition
251
+
252
+ Fix macros that can silently inject unintended null-statements.
253
+
254
+ Will merge to 'next'.
255
+
256
+
257
+* rs/calloc-array (2021-03-15) 3 commits
258
+ - cocci: allow xcalloc(1, size)
259
+ - use CALLOC_ARRAY
260
+ - git-compat-util.h: drop trailing semicolon from macro definition
261
+
262
+ CALLOC_ARRAY() macro replaces many uses of xcalloc().
263
+
264
+ Will merge to 'next'.
265
+
266
+
267
+* jk/slimmed-down (2021-03-14) 1 commit
268
+ - vcs-svn: remove header files as well
269
+
270
+ Unused code removal.
271
+
272
+ Will merge to 'next'.
273
+
274
+
275
* dl/stash-show-untracked (2021-03-05) 2 commits
276
(merged to 'next' on 2021-03-08 at 510d4cfa5f)
277
+ stash show: learn stash.showIncludeUntracked
@@ -247,6 +340,7 @@ Release tarballs are available at:
340
341
Coccicheck update.
342
343
+ Expecting a reroll.
344
IIUC, the "speed up" claimed in the intermediate steps are all gone
345
when correctness is brought back in with the last step. The series
346
needs a restructuring to avoid confuing readers with "it produces
@@ -255,17 +349,23 @@ Release tarballs are available at:
349
that fast" progression.
350
351
258
-* ab/read-tree (2021-03-11) 6 commits
259
- . tree.h API: remove "stage" parameter from read_tree_recursive()
260
- . tree.h API: remove support for starting at prefix != ""
261
- . ls-files: refactor away read_tree()
262
- . ls-files: don't needlessly pass around stage variable
263
- . tree.c API: move read_tree() into builtin/ls-files.c
264
- . ls-files tests: add meaningful --with-tree tests
352
+* ab/read-tree (2021-03-17) 9 commits
353
+ - tree.h API: expose read_tree_1() as read_tree_at()
354
+ - show tests: add test for "git show <tree>"
355
+ - tree.h API: rename read_tree_recursive() to read_tree()
356
+ - tree.h API: remove "stage" parameter from read_tree_recursive()
357
+ - tree.h API: remove support for starting at prefix != ""
358
+ - ls-files: refactor away read_tree()
359
+ - ls-files: don't needlessly pass around stage variable
360
+ - tree.c API: move read_tree() into builtin/ls-files.c
361
+ - ls-files tests: add meaningful --with-tree tests
362
+ (this branch is used by ab/tree-walk-with-object-type.)
363
364
Code simplification by removing support for a caller that is long gone.
365
268
- It turns out that a new caller is just about to happen.
366
+ Expecting a reroll.
367
+ Mostly good, but the progression shows "oops we screwed up" earlier
368
+ in the series that is then fixed later.
369
370
371
* ab/unexpected-object-type (2021-03-08) 7 commits
@@ -279,6 +379,7 @@ Release tarballs are available at:
379
380
Error reporting upon object type mismatch has been improved
381
382
+ Expecting a reroll.
383
Looked good except for some rewrites.
384
385
@@ -305,6 +406,8 @@ Release tarballs are available at:
406
Plug or annotate remaining leaks that trigger while running the
407
very basic set of tests.
408
409
+ Ready?
410
+
411
412
* bc/clone-bare-with-conflicting-config (2021-03-10) 1 commit
413
(merged to 'next' on 2021-03-14 at 963a86199c)
@@ -557,7 +660,7 @@ Release tarballs are available at:
660
available.
661
662
560
-* cm/rebase-i-fixup-amend-reword (2021-03-13) 6 commits
663
+* cm/rebase-i-fixup-amend-reword (2021-03-15) 6 commits
664
- doc/git-commit: add documentation for fixup=[amend|reword] options
665
- t3437: use --fixup with options to create amend! commit
666
- t7500: add tests for --fixup=[amend|reword] options
@@ -572,9 +675,6 @@ Release tarballs are available at:
675
tweak both the message and the contents, and only the message,
676
respectively.
677
575
- Expecting a reroll.
576
- cf. <CAPSFM5c7ULGxThtFjPam33wMzK3kprds97zwJ63stc_Ct24nmQ@mail.gmail.com>
577
-
678
679
* jk/open-dotgitx-with-nofollow (2021-02-16) 6 commits
680
(merged to 'next' on 2021-02-25 at a784bf7be6)
@@ -630,7 +730,8 @@ Release tarballs are available at:
730
Will cook in 'next', together with "cm/rebase-i".
731
732
633
-* jh/simple-ipc (2021-03-09) 12 commits
733
+* jh/simple-ipc (2021-03-15) 13 commits
734
+ - SQUASH??? CALLOC_ARRAY()
735
- t0052: add simple-ipc tests and t/helper/test-simple-ipc tool
736
- simple-ipc: add Unix domain socket implementation
737
- unix-stream-server: create unix domain socket under lock
@@ -785,3 +886,28 @@ Release tarballs are available at:
886
. doc: propose hooks managed by the config
887
888
Now replaced by es/config-hooks topic.
889
+
890
+
891
+
892
+* jk/symlinked-dotgitx-files (2020-10-23) 9 commits
893
+ . docs: document symlink restrictions for .git* files
894
+ . fsck: complain when .gitattributes or .gitignore is a symlink
895
+ . verify_path(): disallow symlinks in .gitattributes and .gitignore
896
+ . t0060: test obscured .gitattributes and .gitignore matching
897
+ . t7450: test .gitmodules symlink matching against obscured names
898
+ . t7450: test verify_path() handling of gitmodules
899
+ . t7415: rename to expand scope
900
+ . fsck_tree(): wrap some long lines
901
+ . fsck_tree(): fix shadowed variable
902
+
903
+ "git fsck" and the corresponding check done during the transport
904
+ learned to ensure that in-tree files like `.gitignore` and
905
+ `.gitattributes` are not symbolic links.
906
+
907
+ It seems that there are real projects with .gitignore recorded as
908
+ symlinks, which may need to loosen the fsck setting. Do we need to
909
+ introduce a class that is separate from symlinked .gitmodules that
910
+ has potential consequences that is more/less grave, so that these
911
+ projects can opt out of the new checks?
912
+
913
+