What's cooking (2021/08 #05)

Junio C Hamano committed Aug 12, 2021 at 14:50 UTC de5838d630fe43037d164f12a5b35af9de4a22f6
1 file changed +192 -108
whats-cooking.txt
+192 -108
@@ -1,9 +1,9 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Aug 2021, #04; Tue, 10)
3 -X-master-at: 2d755dfac9aadab25c3e025b849252b8c0a61465
4 -X-next-at: d937d09924f20c2ef76e4ae1cc20f566d2ecf953
2 +Subject: What's cooking in git.git (Aug 2021, #05; Thu, 12)
3 +X-master-at: 5d213e46bb7b880238ff5ea3914e940a50ae9369
4 +X-next-at: ed5fa647cd5d07bf513e4487e6352c72bffe54ea
5
6 -What's cooking in git.git (Aug 2021, #04; Tue, 10)
6 +What's cooking in git.git (Aug 2021, #05; Thu, 12)
7 --------------------------------------------------
8
9 Here are the topics that have been cooking in my tree. Commits
@@ -17,8 +17,11 @@ useful"). Do not read too much into a topic being in (or not in)
17 'seen'. The ones marked with '.' do not appear in any of the
18 integration branches, but I am still holding onto them.
19
20 -Git 2.33-rc2 will be tagged tomorrow, with a few build and
21 -regression fixes (not in 'master' yet as of this writing).
20 +Git 2.33-rc2 has been tagged. The last couple of days, I may have
21 +ignored patches on new topics that are irrelevant to the upcoming
22 +release, and will continue to do so until the current cycle is over.
23 +Please resend them after the final release of Git 2.33 if they are
24 +still relevant.
25
26 Copies of the source code to Git live in many repositories, and the
27 following is a list of the ones I push into or their mirrors. Some
@@ -49,17 +52,11 @@ Release tarballs are available at:
52 https://www.kernel.org/pub/software/scm/git/
53
54 --------------------------------------------------
52 -[New Topics]
53 -
54 -* cb/builtin-merge-format-string-fix (2021-08-09) 1 commit
55 - - builtin/merge: avoid -Wformat-extra-args from ancient Xcode
56 -
57 - Code clean-up.
58 -
59 - Will merge to 'next'.
60 -
55 +[Graduated to 'master']
56
62 -* cb/many-alternate-optim-fixup (2021-08-09) 2 commits
57 +* cb/many-alternate-optim-fixup (2021-08-11) 3 commits
58 + (merged to 'next' on 2021-08-11 at 02b3558652)
59 + + object-file: use unsigned arithmetic with bit mask
60 (merged to 'next' on 2021-08-09 at 3572bef349)
61 + object-store: avoid extra ';' from KHASH_INIT
62 + oidtree: avoid nested struct oidtree_node
@@ -67,123 +64,92 @@ Release tarballs are available at:
64
65 Build fix.
66
70 - Will merge to 'master'.
67
68 +* jn/log-m-does-not-imply-p (2021-08-09) 1 commit
69 + (merged to 'next' on 2021-08-09 at d937d09924)
70 + + Revert 'diff-merges: let "-m" imply "-p"'
71
73 -* ka/want-ref-in-namespace (2021-08-09) 3 commits
74 - - docs: clarify the interaction of transfer.hideRefs and namespaces
75 - - upload-pack.c: treat want-ref relative to namespace
76 - - t5730: introduce fetch command helper
72 + Earlier "git log -m" was changed to always produce patch output,
73 + which would break existing scripts, which has been reverted.
74
78 - "git upload-pack" which runs on the other side of "git fetch"
79 - forgot to take the ref namespaces into account when handling
80 - want-ref requests.
75 +--------------------------------------------------
76 +[New Topics]
77
78 +* th/userdiff-more-java (2021-08-11) 1 commit
79 + - userdiff: improve java hunk header regex
80
83 -* np/blame-ignore-revs-file-may-be-optional (2021-08-09) 1 commit
84 - - blame: add config `blame.ignoreRevsFileIsOptional`
81 + The userdiff pattern for "java" language has been updated.
82
86 - When the file named by blame.ignoreRevsFile configuration variable
87 - does not exist, it causes "git blame" to die. Sometimes, it is
88 - useful if the files named by configuration variables can be made
89 - optional (it would allow ~/.gitconfig to give a filename, and make
90 - it effective only in repositories that have a file with that name).
83 + Will merge to 'next'.
84
92 - This uses an extra variable that marks that the variable is
93 - optional. Yet another alternative is being discussed to define
94 - syntax for "optional" filename values, so that the same mechanism
95 - can be used for not just blame.ignoreRevsFile but other filenames.
85
97 - Queued just as a reminder of the theme.
86 +* zh/cherry-pick-advice (2021-08-11) 1 commit
87 + - cherry-pick: use better advice message
88
89 + The advice message that "git cherry-pick" gives when it asks
90 + conflicted replay of a commit to be resolved by the end user has
91 + been updated.
92
100 -* cb/ci-build-pedantic (2021-08-09) 1 commit
101 - - ci: run a pedantic build as part of the GitHub workflow
102 - (this branch uses cb/many-alternate-optim-fixup.)
93 + cf. <a510722c-d5a2-f00c-dd20-dd7f76da2408@gmail.com>
94
104 - CI update.
95
106 - Will merge to 'next'.
96 +* es/config-based-hooks (2021-08-11) 7 commits
97 + - hook: allow out-of-repo 'git hook' invocations
98 + - hook: include hooks from the config
99 + - hook: allow running non-native hooks
100 + - hook: introduce "git hook list"
101 + - hook: allow parallel hook execution
102 + - hook: run a list of hooks instead
103 + - Merge branch 'ab/config-based-hooks-base' into es/config-based-hooks
104 + (this branch uses ab/config-based-hooks-base.)
105
106 + Revamp the hooks subsystem to allow multiple of them to trigger
107 + upon the same event and control via the configuration variables.
108
109 -* jn/log-m-does-not-imply-p (2021-08-09) 1 commit
110 - (merged to 'next' on 2021-08-09 at d937d09924)
111 - + Revert 'diff-merges: let "-m" imply "-p"'
109
113 - Earlier "git log -m" was changed to always produce patch output,
114 - which would break existing scripts, which has been reverted.
110 +* mk/clone-recurse-submodules (2021-08-11) 1 commit
111 + - clone: set submodule.recurse=true if user enables feature.experimental flag
112
116 - Will merge to 'master'.
113 + It is proposed that in the future "git clone --recurse-submodules"
114 + unconditionally sets "submodule.recurse" configuration variable to
115 + true. Users can opt into the future early to enable this (and
116 + other new features) by setting the "feature.experimental" variable
117 + to true.
118
119
119 -* ds/sparse-index-ignored-files (2021-08-10) 9 commits
120 - - sparse-checkout: clear tracked sparse dirs
121 - - sparse-index: add SPARSE_INDEX_IGNORE_CONFIG flag
122 - - attr: be careful about sparse directories
123 - - sparse-checkout: create helper methods
124 - - unpack-trees: fix nested sparse-dir search
125 - - sparse-index: silently return when cache tree fails
126 - - sparse-index: silently return when not using cone-mode patterns
127 - - t7519: rewrite sparse index test
128 - - Merge branch 'ds/add-with-sparse-index' into ds/sparse-index-ignored-files
129 - (this branch uses ds/add-with-sparse-index.)
120 +* bc/t5607-avoid-broken-test-fail-prereqs (2021-08-11) 1 commit
121 + - t5607: avoid using prerequisites to select algorithm
122
131 - In cone mode, the sparse-index codepath learned to remove ignored
132 - files (like build artifacts) outside the sparse cone, allowing the
133 - entire directory outside the sparse cone to be removed, which is
134 - especially useful when the sparse patterns change.
123 + The current implementation of GIT_TEST_FAIL_PREREQS is broken in
124 + that checking for the lack of a prerequisite would not work. Avoid
125 + the use of "if ! test_have_prereq X" in a test script.
126
127 + Will merge to 'next'.
128
137 -* jc/userdiff-pattern-hint (2021-08-10) 1 commit
138 - - userdiff: comment on the builtin patterns
129
140 - Remind developers that the userdiff patterns should be kept simple
141 - and permissive, assuming that the contents they apply are always
142 - syntactically correct.
130 +* jk/commit-edit-fixup-fix (2021-08-12) 1 commit
131 + - commit: restore --edit when combined with --fixup
132
133 + "git commit --fixup" now works with "--edit" again, after it was
134 + broken in v2.32.
135
145 -* jk/apply-binary-hunk-parsing-fix (2021-08-10) 1 commit
146 - - apply: keep buffer/size pair in sync when parsing binary hunks
136 + Will merge to 'next'?
137
148 - "git apply" miscounted the bytes and failed to read to the end of
149 - binary hunks.
138
151 - Will merge to 'next'.
139 +* tl/traverse-non-commits-rename (2021-08-12) 1 commit
140 + - list-objects.c: rename "traverse_trees_and_blobs" to "traverse_non_commits"
141
153 -
154 -* jk/range-diff-fixes (2021-08-10) 3 commits
155 - - range-diff: use ssize_t for parsed "len" in read_patches()
156 - - range-diff: handle unterminated lines in read_patches()
157 - - range-diff: drop useless "offset" variable from read_patches()
158 -
159 - "git range-diff" code clean-up.
142 + Meh.
143
144 Will merge to 'next'.
145
146
164 -* js/advise-when-skipping-cherry-picked (2021-08-10) 2 commits
165 - - SQUASH???
166 - - sequencer: advise if skipping cherry-picked commit
147 +* cb/ci-freebsd-update (2021-08-12) 1 commit
148 + - ci: update freebsd 12 cirrus job
149
168 - "git rebase" by default skips changes that are equivalent to
169 - commits that are already in the history the branch is rebased onto;
170 - give messages when this happens to let the users be aware of
171 - skipped commits, and also teach them how to tell "rebase" to keep
172 - duplicated changes.
173 -
174 -
175 -* jt/grep-wo-submodule-odb-as-alternate (2021-08-10) 7 commits
176 - - t7814: show lack of alternate ODB-adding
177 - - grep: add repository to OID grep sources
178 - - grep: allocate subrepos on heap
179 - - grep: read submodule entry with explicit repo
180 - - grep: typesafe versions of grep_source_init
181 - - grep: use submodule-ODB-as-alternate lazy-addition
182 - - submodule: lazily add submodule ODBs as alternates
150 + Update FreeBSD CI job
151
184 - The code to make "git grep" recurse into submodules has been
185 - updated to migrate away from the "add submodule's object store as
186 - an alternate object store" mechanism (which is suboptimal).
152 + Will merge to 'next'.
153
154 --------------------------------------------------
155 [Stalled]
@@ -266,6 +232,121 @@ Release tarballs are available at:
232 --------------------------------------------------
233 [Cooking]
234
235 +* cb/builtin-merge-format-string-fix (2021-08-09) 1 commit
236 + - builtin/merge: avoid -Wformat-extra-args from ancient Xcode
237 +
238 + Code clean-up.
239 +
240 + Will merge to 'next'.
241 +
242 +
243 +* ka/want-ref-in-namespace (2021-08-09) 3 commits
244 + - docs: clarify the interaction of transfer.hideRefs and namespaces
245 + - upload-pack.c: treat want-ref relative to namespace
246 + - t5730: introduce fetch command helper
247 +
248 + "git upload-pack" which runs on the other side of "git fetch"
249 + forgot to take the ref namespaces into account when handling
250 + want-ref requests.
251 +
252 +
253 +* np/blame-ignore-revs-file-may-be-optional (2021-08-09) 1 commit
254 + - blame: add config `blame.ignoreRevsFileIsOptional`
255 +
256 + When the file named by blame.ignoreRevsFile configuration variable
257 + does not exist, it causes "git blame" to die. Sometimes, it is
258 + useful if the files named by configuration variables can be made
259 + optional (it would allow ~/.gitconfig to give a filename, and make
260 + it effective only in repositories that have a file with that name).
261 +
262 + This uses an extra variable that marks that the variable is
263 + optional. Yet another alternative is being discussed to define
264 + syntax for "optional" filename values, so that the same mechanism
265 + can be used for not just blame.ignoreRevsFile but other filenames.
266 +
267 + Queued just as a reminder of the theme.
268 +
269 +
270 +* cb/ci-build-pedantic (2021-08-11) 1 commit
271 + - ci: run a pedantic build as part of the GitHub workflow
272 +
273 + CI update.
274 +
275 + Expecting a reroll.
276 +
277 +
278 +* ds/sparse-index-ignored-files (2021-08-10) 9 commits
279 + - sparse-checkout: clear tracked sparse dirs
280 + - sparse-index: add SPARSE_INDEX_IGNORE_CONFIG flag
281 + - attr: be careful about sparse directories
282 + - sparse-checkout: create helper methods
283 + - unpack-trees: fix nested sparse-dir search
284 + - sparse-index: silently return when cache tree fails
285 + - sparse-index: silently return when not using cone-mode patterns
286 + - t7519: rewrite sparse index test
287 + - Merge branch 'ds/add-with-sparse-index' into ds/sparse-index-ignored-files
288 + (this branch uses ds/add-with-sparse-index.)
289 +
290 + In cone mode, the sparse-index codepath learned to remove ignored
291 + files (like build artifacts) outside the sparse cone, allowing the
292 + entire directory outside the sparse cone to be removed, which is
293 + especially useful when the sparse patterns change.
294 +
295 +
296 +* jc/userdiff-pattern-hint (2021-08-11) 1 commit
297 + - userdiff: comment on the builtin patterns
298 +
299 + Remind developers that the userdiff patterns should be kept simple
300 + and permissive, assuming that the contents they apply are always
301 + syntactically correct.
302 +
303 + Will merge to 'next'.
304 +
305 +
306 +* jk/apply-binary-hunk-parsing-fix (2021-08-10) 1 commit
307 + - apply: keep buffer/size pair in sync when parsing binary hunks
308 +
309 + "git apply" miscounted the bytes and failed to read to the end of
310 + binary hunks.
311 +
312 + Will merge to 'next'.
313 +
314 +
315 +* jk/range-diff-fixes (2021-08-10) 3 commits
316 + - range-diff: use ssize_t for parsed "len" in read_patches()
317 + - range-diff: handle unterminated lines in read_patches()
318 + - range-diff: drop useless "offset" variable from read_patches()
319 +
320 + "git range-diff" code clean-up.
321 +
322 + Will merge to 'next'.
323 +
324 +
325 +* js/advise-when-skipping-cherry-picked (2021-08-10) 2 commits
326 + - SQUASH???
327 + - sequencer: advise if skipping cherry-picked commit
328 +
329 + "git rebase" by default skips changes that are equivalent to
330 + commits that are already in the history the branch is rebased onto;
331 + give messages when this happens to let the users be aware of
332 + skipped commits, and also teach them how to tell "rebase" to keep
333 + duplicated changes.
334 +
335 +
336 +* jt/grep-wo-submodule-odb-as-alternate (2021-08-10) 7 commits
337 + - t7814: show lack of alternate ODB-adding
338 + - grep: add repository to OID grep sources
339 + - grep: allocate subrepos on heap
340 + - grep: read submodule entry with explicit repo
341 + - grep: typesafe versions of grep_source_init
342 + - grep: use submodule-ODB-as-alternate lazy-addition
343 + - submodule: lazily add submodule ODBs as alternates
344 +
345 + The code to make "git grep" recurse into submodules has been
346 + updated to migrate away from the "add submodule's object store as
347 + an alternate object store" mechanism (which is suboptimal).
348 +
349 +
350 * ps/fetch-pack-load-refs-optim (2021-08-04) 1 commit
351 (merged to 'next' on 2021-08-09 at 4744a01fd5)
352 + fetch-pack: speed up loading of refs via commit graph
@@ -284,7 +365,7 @@ Release tarballs are available at:
365 - connected: do not sort input revisions
366 - revision: separate walk and unsorted flags
367
287 - The revision traversal API has been optimized by taking advanrage
368 + The revision traversal API has been optimized by taking advantage
369 of the commit-graph, when available, to determine if a commit is
370 reachable from any of the existing refs.
371
@@ -471,6 +552,9 @@ Release tarballs are available at:
552 The code to show progress indicator in a few codepaths did not
553 cover between 0-100%, which has been corrected.
554
555 + The middle one wants to be discarded.
556 + cf. <87v94jzoxj.fsf@evledraar.gmail.com>
557 +
558
559 * ar/submodule-add-config (2021-08-10) 1 commit
560 - submodule--helper: introduce add-config subcommand
@@ -524,8 +608,8 @@ Release tarballs are available at:
608 Will cook in 'next'.
609
610
527 -* dt/submodule-diff-fixes (2021-08-02) 3 commits
528 - - diff --submodule=diff: Don't print failure message twice
611 +* dt/submodule-diff-fixes (2021-08-11) 3 commits
612 + - diff --submodule=diff: don't print failure message twice
613 - diff --submodule=diff: do not fail on ever-initialied deleted submodules
614 - t4060: remove unused variable
615
@@ -533,8 +617,8 @@ Release tarballs are available at:
617 trying to run diff inside a submodule, when the user manually
618 removes the submodule directory.
619
536 - Seems to break CI when merged to 'seen'
537 - cf. https://github.com/git/git/runs/3259477809?check_suite_focus=true#step:4:2618
620 + Will merge to 'next'?
621 + cf. <20210812001332.715876-1-dturner@twosigma.com>
622
623
624 * fs/ssh-signing (2021-08-03) 9 commits
@@ -649,9 +733,8 @@ Release tarballs are available at:
733
734 Usability update for inactive submodules.
735
652 - Comments?
653 - cf. <fc5ec100-1d42-4199-236e-7a99c9218f38@gmail.com>
654 - cf. <bf1893ee-6973-d8b2-659e-bb239a0a9ae2@gmail.com>
736 + Retracted for now.
737 + cf. <YRMpEV/uuHrxcOug@camp.crustytoothpaste.net>
738
739
740 * cf/fetch-set-upstream-while-detached (2021-07-06) 1 commit
@@ -783,6 +866,7 @@ Release tarballs are available at:
866 - Makefile: remove an out-of-date comment
867 - Makefile: stop hardcoding {command,config}-list.h
868 - Makefile: mark "check" target as .PHONY
869 + (this branch is used by es/config-based-hooks.)
870
871 Restructuring of (a subset of) Emily's config-based-hooks series,
872 to demonstrate that a series can be presented as a more logical and