What's cooking (2021/11 #05)

Junio C Hamano committed Nov 19, 2021 at 21:48 UTC 97045d831334061694f4e72d464a5efc270947e3
1 file changed +199 -122
whats-cooking.txt
+199 -122
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Nov 2021, #04; Sun, 14)
3 +Subject: What's cooking in git.git (Nov 2021, #05; Fri, 19)
4 X-master-at: cd3e606211bb1cf8bc57f7d76bab98cc17a150bc
5 -X-next-at: ca35af825273b98fc8dc11527488952f5db8eb80
5 +X-next-at: b44f4d0eb0c6319e109b5f54df97d96d0d6b46fd
6
7 -What's cooking in git.git (Nov 2021, #04; Sun, 14)
7 +What's cooking in git.git (Nov 2021, #05; Fri, 19)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -18,19 +18,13 @@ useful"). Do not read too much into a topic being in (or not in)
18 'seen'. The ones marked with '.' do not appear in any of the
19 integration branches, but I am still holding onto them.
20
21 -Git 2.34 (final) has been tagged with a few more regression fixes.
21 +The tip of the 'master' branch is still at v2.34.0.
22
23 -As we have been fairly aggressive to deliberately merge down many
24 -topics that are under-reviewed, mostly due to reviewer fatigue and
25 -limited reviewer bandwidth, it was expected that we'd see unexpected
26 -breakages after things are in 'master', and it was quite nice to see
27 -people found and squashed these problems fairly quickly.
28 -
29 -Thank you all for finding, reporting and fixing them so quickly.
30 -Before starting to queue new topics for the next cycle or merging
31 -down topics in-flight, we'd wait about a week to see if people
32 -encounter any more issues, and after that we'd restart the usual
33 -cycle.
23 +A few topics for regression fixes have been merged to 'next' and
24 +will be merged to 'master' shortly. There are many topics listed as
25 +"New" that are in 'seen', but I haven't read many of them (and I
26 +shouldn't have anyway, before dealing with regression fixes) and
27 +haven't gave any summary comments in this report, either, yet.
28
29 Copies of the source code to Git live in many repositories, and the
30 following is a list of the ones I push into or their mirrors. Some
@@ -61,134 +55,144 @@ Release tarballs are available at:
55 https://www.kernel.org/pub/software/scm/git/
56
57 --------------------------------------------------
64 -[Graduated to 'master']
58 +[New Topics]
59
66 -* ab/fsck-unexpected-type (2021-11-11) 2 commits
67 - (merged to 'next' on 2021-11-11 at f8c9666880)
68 - + object-file: free(*contents) only in read_loose_object() caller
69 - + object-file: fix SEGV on free() regression in v2.34.0-rc2
60 +* ab/checkout-branch-info-leakfix (2021-11-18) 1 commit
61 + - checkout: fix "branch info" memory leaks
62
71 - Regression fix.
63 + Leakfix.
64
65 + Will merge to 'next'.
66
74 -* ds/no-usable-cron-on-macos (2021-11-10) 1 commit
75 - (merged to 'next' on 2021-11-10 at 18eb9c13bc)
76 - + maintenance: disable cron on macOS
67
78 - "git maintenance run" learned to use system supplied scheduler
79 - backend, but cron on macOS turns out to be unusable for this
80 - purpose.
68 +* ab/make-dependency (2021-11-18) 24 commits
69 + - Makefile: move ".SUFFIXES" rule to shared.mak
70 + - Makefile: define $(LIB_H) in terms of $(FIND_SOURCE_FILES)
71 + - Makefile: disable GNU make built-in wildcard rules
72 + - Makefile: use $(file) I/O instead of "FORCE" when possible
73 + - Makefile: correct the dependency graph of hook-list.h
74 + - Makefiles: add and use wildcard "mkdir -p" template
75 + - Makefile: use $(wspfx) for $(QUIET...) in shared.mak
76 + - Makefile: add "$(QUIET)" boilerplate to shared.mak
77 + - Makefile: add a "TRACK_template" for GIT-*{FLAGS,DEFINES,...}
78 + - Makefile: re-add and use the "shellquote" macros
79 + - Makefile: move $(comma), $(empty) and $(space) to shared.mak
80 + - Makefiles: add "shared.mak", move ".DELETE_ON_ERROR" to it
81 + - Makefile: stop needing @@GIT_VERSION@@ in *.perl scripts
82 + - Makefile: create a GIT-PYTHON-DEFINES, like "PERL"
83 + - Makefile: correct "GIT-PERL-{DEFINES,HEADER}" dependency graph
84 + - Makefile: adjust Perl-related comments & whitespace
85 + - Makefile: change "ifndef NO_PERL" to "ifdef NO_PERL"
86 + - Makefile: guard Perl-only variable assignments
87 + - Makefile: remove "mv $@ $@+" dance redundant to .DELETE_ON_ERROR
88 + - Makefile: clean perl/build/ even with NO_PERL=Y
89 + - Makefile: use "=" not ":=" for po/* and perl/*
90 + - Makefile: don't set up "perl/build" rules under NO_PERL=Y
91 + - Makefile: don't invoke msgfmt with --statistics
92 + - Merge branch 'ab/sh-retire-helper-functions' into ab/make-dependency
93 + (this branch uses ab/sh-retire-helper-functions.)
94 +
95 +
96 +* ah/advice-pull-has-no-preference-between-rebase-and-merge (2021-11-19) 1 commit
97 + - pull: don't say that merge is "the default strategy"
98 +
99 + The advice message given by "git pull" when the user hasn't made a
100 + choice between merge and rebase still said that the merge is the
101 + default, which no longer is the case. This has been corrected.
102
103 + Will merge to 'next'.
104
83 -* jc/fix-pull-ff-only-when-already-up-to-date (2021-10-29) 1 commit
84 - (merged to 'next' on 2021-10-29 at ad4753e668)
85 - + pull: --ff-only should make it a noop when already-up-to-date
105
87 - "git pull --ff-only" and "git pull --rebase --ff-only" should make
88 - it a no-op to attempt pulling from a remote that is behind us, but
89 - instead the command errored out by saying it was impossible to
90 - fast-forward, which may technically be true, but not a useful thing
91 - to diagnose as an error. This has been corrected.
106 +* ds/fetch-pull-with-sparse-index (2021-11-18) 3 commits
107 + - ls-files: add --sparse option
108 + - fetch/pull: use the sparse index
109 + - Merge branch 'ld/sparse-diff-blame' into ds/fetch-pull-with-sparse-index
110 + (this branch uses ld/sparse-diff-blame and vd/sparse-reset.)
111
112
94 -* jk/ssh-signing-fix (2021-11-10) 1 commit
95 - (merged to 'next' on 2021-11-10 at b6195caa04)
96 - + t/lib-gpg: avoid broken versions of ssh-keygen
113 +* ev/pull-already-up-to-date-is-noop (2021-11-18) 1 commit
114 + (merged to 'next' on 2021-11-19 at 2d8f0cd000)
115 + + pull: should be noop when already-up-to-date
116
98 - Reject OpenSSH 8.7 whose "ssh-keygen -Y find-principals" is
99 - unusable from running the ssh signature tests.
117 + "git pull" with any strategy when the other side is behind us
118 + should succeed as it is a no-op, but doesn't.
119
120 + Will merge to 'master'.
121
102 -* js/simple-ipc-cygwin-socket-fix (2021-11-10) 1 commit
103 - (merged to 'next' on 2021-11-10 at 00788f076f)
104 - + simple-ipc: work around issues with Cygwin's Unix socket emulation
122
106 - The way Cygwin emulates a unix-domain socket, on top of which the
107 - simple-ipc mechanism is implemented, can race with the program on
108 - the other side that wants to use the socket, and briefly make it
109 - appear as a regular file before lstat(2) starts reporting it as a
110 - socket. We now have a workaround on the side that connects to a
111 - unix domain socket.
123 +* fs/ssh-signing-other-keytypes (2021-11-19) 2 commits
124 + - ssh signing: make sign/amend test more resilient
125 + - ssh signing: support non ssh-* keytypes
126
127
114 -* js/trace2-raise-format-version (2021-11-11) 1 commit
115 - (merged to 'next' on 2021-11-11 at e7144ad963)
116 - + trace2: increment event format version
128 +* fs/test-prereq (2021-11-18) 2 commits
129 + - test-lib: introduce required prereq for test runs
130 + - test-lib: show missing prereq summary
131
118 - When we added a new event type to trace2 event stream, we forgot to
119 - raise the format version number, which has been corrected.
132
133 +* jk/t5319-midx-corruption-test-deflake (2021-11-18) 1 commit
134 + - t5319: corrupt more bytes of the midx checksum
135
122 -* ps/connectivity-optim (2021-11-11) 1 commit
123 - (merged to 'next' on 2021-11-11 at 8b3dccbd68)
124 - + Revert "connected: do not sort input revisions"
136 + Test fix.
137
126 - Regression fix.
138
128 ---------------------------------------------------
129 -[New Topics]
139 +* js/trace2-avoid-recursive-errors (2021-11-18) 1 commit
140 + - trace2: disable tr2_dst before warning on write errors
141
131 -* rj/receive-pack-avoid-sigpipe-during-status-reporting (2021-11-10) 1 commit
132 - - receive-pack: ignore SIGPIPE while reporting status to client
142 + trace2 error code path fix.
143
134 - When the "git push" command is killed while the receiving end is
135 - trying to report what happened to the ref update proposals, the
136 - latter used to die, due to SIGPIPE. The code now ignores SIGPIPE
137 - to increase our chances to run the post-receive hook after it
138 - happens.
144
145 +* pw/xdiff-classify-record-in-histogram (2021-11-18) 3 commits
146 + - xdiff: simplify comparison
147 + - xdiff: avoid unnecessary memory allocations
148 + - diff histogram: intern strings
149
141 -* ab/parse-options-cleanup (2021-11-10) 1 commit
142 - - parse-options.c: use "enum parse_opt_result" for parse_nodash_opt()
150 + "diff --histogram" optimization.
151
144 - Change the type of an internal function to return an enum (instead
145 - of int) and replace -2 that was used to signal an error with -1.
152
153 +* rs/mergesort (2021-11-18) 1 commit
154 + - mergesort: avoid left shift overflow
155
148 -* cw/protocol-v2-doc-fix (2021-11-11) 1 commit
149 - - protocol-v2.txt: align delim-pkt spec with usage
156 + Bitop fix for 32-bit boxes.
157
151 - Doc update.
158
153 - Will merge to 'next'.
159 +* xw/am-empty (2021-11-19) 3 commits
160 + - SQUASH???
161 + - am: support --empty=<option> to handle empty patches
162 + - doc: git-format-patch: describe the option --always
163
164
156 -* jt/pack-header-lshift-overflow (2021-11-11) 1 commit
157 - - packfile: avoid overflowing shift during decode
165 +* hk/ci-checkwhitespace-commentfix (2021-11-19) 1 commit
166 + - ci(check-whitespace): update stale file top comments
167
159 - The code to decode the length of packed object size has been
160 - corrected.
168 + Comment fix.
169
162 - Will merge to 'next'.
170
171 +* hm/paint-hits-in-log-grep (2021-11-19) 1 commit
172 + (merged to 'next' on 2021-11-19 at e146d25c7c)
173 + + Revert "grep/pcre2: fix an edge case concerning ascii patterns and UTF-8 data"
174
165 -* ab/update-submitting-patches (2021-11-13) 1 commit
166 - - SubmittingPatches: fix Asciidoc syntax in "GitHub CI" section
175 + "git grep" looking in a blob that has non-UTF8 payload was
176 + completely broken when linked with certain versions of PCREv2
177 + library in the latest release.
178
168 - Doc fix.
179 + Will merge to 'master'.
180
170 - Will merge to 'next'.
181
182 +* jk/fetch-pack-avoid-sigpipe-to-index-pack (2021-11-19) 1 commit
183 + - fetch-pack: ignore SIGPIPE when writing to index-pack
184
173 -* bc/require-c99 (2021-11-14) 1 commit
174 - - git-compat-util: add a test balloon for C99 support
175 -
176 - Weather balloon to break people with compilers that do not support
177 - C99.
178 -
179 -
180 -* jc/c99-var-decl-in-for-loop (2021-11-14) 1 commit
181 - - revision: use C99 declaration of variable in for() loop
182 -
183 - Weather balloon to break comiplers that do not grok variable
184 - declaration in the for() loop.
185 + "git fetch", when received a bad packfile, can fail with SIGPIPE.
186 + This wasn't wrong per-se, but we now detect the situation and fail
187 + in a more predictable way.
188
189 + Will merge to 'next'.
190
191
188 -* tl/midx-docfix (2021-11-14) 1 commit
189 - - midx: fix a formatting issue in "multi-pack-index.txt"
192 +* jk/refs-g11-workaround (2021-11-19) 1 commit
193 + - refs: work around gcc-11 warning with REF_HAVE_NEW
194
191 - Doc mark-up fix.
195 + Workaround for a false-alarm by gcc-11
196
197 Will merge to 'next'.
198
@@ -212,7 +216,18 @@ Release tarballs are available at:
216 which is among the topics this topic stomps on.
217
218
215 -* mp/absorb-submodule-git-dir-upon-deinit (2021-10-07) 1 commit
219 +* cf/fetch-set-upstream-while-detached (2021-07-06) 1 commit
220 + - fetch: fix segfault on --set-upstream while on a detached HEAD
221 +
222 + "git fetch --set-upstream" while on detached HEAD segfaulted
223 + instead of noticing that such an operation did not make sense.
224 +
225 + Getting tired of waiting for a reroll; will discard.
226 +
227 +--------------------------------------------------
228 +[Cooking]
229 +
230 +* mp/absorb-submodule-git-dir-upon-deinit (2021-11-19) 1 commit
231 - submodule: absorb git dir instead of dying on deinit
232
233 "git submodule deinit" for a submodule whose .git metadata
@@ -223,26 +238,83 @@ Release tarballs are available at:
238 command is taught to convert such submodules to the absorbed form
239 as needed.
240
226 - Getting tired of waiting for a reroll; will discard.
227 - cf. <xmqqwnmopqqk.fsf@gitster.g>
241 + Will merge to 'next'?
242
243
230 -* cf/fetch-set-upstream-while-detached (2021-07-06) 1 commit
231 - - fetch: fix segfault on --set-upstream while on a detached HEAD
244 +* rj/receive-pack-avoid-sigpipe-during-status-reporting (2021-11-10) 1 commit
245 + - receive-pack: ignore SIGPIPE while reporting status to client
246
233 - "git fetch --set-upstream" while on detached HEAD segfaulted
234 - instead of noticing that such an operation did not make sense.
247 + When the "git push" command is killed while the receiving end is
248 + trying to report what happened to the ref update proposals, the
249 + latter used to die, due to SIGPIPE. The code now ignores SIGPIPE
250 + to increase our chances to run the post-receive hook after it
251 + happens.
252
236 - Getting tired of waiting for a reroll; will discard.
253
238 ---------------------------------------------------
239 -[Cooking]
254 +* ab/parse-options-cleanup (2021-11-10) 1 commit
255 + - parse-options.c: use "enum parse_opt_result" for parse_nodash_opt()
256 +
257 + Change the type of an internal function to return an enum (instead
258 + of int) and replace -2 that was used to signal an error with -1.
259 +
260 +
261 +* cw/protocol-v2-doc-fix (2021-11-11) 1 commit
262 + - protocol-v2.txt: align delim-pkt spec with usage
263 +
264 + Doc update.
265 +
266 + Will merge to 'next'.
267 +
268 +
269 +* jt/pack-header-lshift-overflow (2021-11-11) 1 commit
270 + - packfile: avoid overflowing shift during decode
271 +
272 + The code to decode the length of packed object size has been
273 + corrected.
274 +
275 + Will merge to 'next'.
276 +
277 +
278 +* ab/update-submitting-patches (2021-11-13) 1 commit
279 + (merged to 'next' on 2021-11-19 at b44f4d0eb0)
280 + + SubmittingPatches: fix Asciidoc syntax in "GitHub CI" section
281 +
282 + Doc fix.
283 +
284 + Will merge to 'master'.
285 +
286 +
287 +* bc/require-c99 (2021-11-18) 1 commit
288 + - git-compat-util: add a test balloon for C99 support
289 +
290 + Weather balloon to break people with compilers that do not support
291 + C99.
292 +
293 +
294 +* jc/c99-var-decl-in-for-loop (2021-11-16) 1 commit
295 + - revision: use C99 declaration of variable in for() loop
296 +
297 + Weather balloon to break comiplers that do not grok variable
298 + declaration in the for() loop.
299
241 -* ak/fetch-not-overwrite-any-current-branch (2021-11-09) 4 commits
300 +
301 +* tl/midx-docfix (2021-11-18) 1 commit
302 + - midx: fix a formatting issue in "multi-pack-index.txt"
303 +
304 + Doc mark-up fix.
305 +
306 + Will merge to 'next'.
307 +
308 +
309 +* ak/protect-any-current-branch (2021-11-15) 8 commits
310 - branch: protect branches checked out in all worktrees
311 - receive-pack: protect current branch for bare repository worktree
312 - receive-pack: clean dead code from update_worktree()
313 - fetch: protect branches checked out in all worktrees
314 + - worktree: simplify find_shared_symref() memory ownership model
315 + - branch: lowercase error messages
316 + - receive-pack: lowercase error messages
317 + - fetch: lowercase error messages
318
319 "git fetch" without the "--update-head-ok" option ought to protect
320 a checked out branch from getting updated, to prevent the working
@@ -250,6 +322,9 @@ Release tarballs are available at:
322 before the use of "git worktree" got widespread, and only checked
323 the branch that was checked out in the current worktree, which has
324 been updated.
325 + (originally called ak/fetch-not-overwrite-any-current-branch)
326 +
327 + Will merge to 'next'?
328
329
330 * jk/test-bitmap-fix (2021-11-05) 1 commit
@@ -441,6 +516,7 @@ Release tarballs are available at:
516 + Makefile: remove $(NO_CURL) from $(SCRIPT_DEFINES)
517 + Makefile: remove $(GIT_VERSION) from $(SCRIPT_DEFINES)
518 + Makefile: move git-SCRIPT-DEFINES adjacent to $(SCRIPT_DEFINES)
519 + (this branch is used by ab/make-dependency.)
520
521 Make a few helper functions unused and then lose them.
522
@@ -487,13 +563,15 @@ Release tarballs are available at:
563 Will merge to 'next'?
564
565
490 -* fs/ssh-signing-key-lifetime (2021-10-27) 8 commits
566 +* fs/ssh-signing-key-lifetime (2021-11-18) 10 commits
567 + - ssh signing: verify ssh-keygen in test prereq
568 - ssh signing: make fmt-merge-msg consider key lifetime
569 - ssh signing: make verify-tag consider key lifetime
570 - ssh signing: make git log verify key lifetime
571 - ssh signing: make verify-commit consider key lifetime
572 - ssh signing: add key lifetime test prereqs
573 - ssh signing: use sigc struct to pass payload
574 + - Merge branch 'ad/ssh-signing-testfix' into fs/ssh-signing-key-lifetime
575 - Merge branch 'fs/ssh-signing-fix' into fs/ssh-signing-key-lifetime
576 - Merge branch 'fs/ssh-signing' into fs/ssh-signing-key-lifetime
577
@@ -511,8 +589,7 @@ Release tarballs are available at:
589 on, and hint/nudge contributors to read others' changes.
590
591
514 -* gc/remote-with-fewer-static-global-variables (2021-10-28) 6 commits
515 - - remote: add struct repository parameter to external functions
592 +* gc/remote-with-fewer-static-global-variables (2021-11-18) 5 commits
593 - remote: die if branch is not found in repository
594 - remote: remove the_repository->remote_state from static methods
595 - remote: use remote_state parameter internally
@@ -605,16 +682,13 @@ Release tarballs are available at:
682 Will cook in 'next'.
683
684
608 -* js/branch-track-inherit (2021-10-18) 1 commit
685 +* js/branch-track-inherit (2021-11-18) 1 commit
686 - branch: add flags and config to inherit tracking
687
688 "git -c branch.autosetupmerge=inherit branch new old" makes "new"
689 to have the same upstream as the "old" branch, instead of marking
690 "old" itself as its upstream.
691
615 - Under discussion.
616 - cf. <87a6j6tbsv.fsf@gmgdl.gmail.com>
617 -
692
693 * jh/builtin-fsmonitor-part2 (2021-10-21) 29 commits
694 - t7527: test status with untracked-cache and fsmonitor--daemon
@@ -654,7 +728,7 @@ Release tarballs are available at:
728 - blame: enable and test the sparse index
729 - diff: enable and test the sparse index
730 - Merge branch 'vd/sparse-reset' into ld/sparse-diff-blame
657 - (this branch uses vd/sparse-reset.)
731 + (this branch is used by ds/fetch-pull-with-sparse-index; uses vd/sparse-reset.)
732
733 Teach diff and blame to work well with sparse index.
734
@@ -709,7 +783,7 @@ Release tarballs are available at:
783 - sparse-index: update command for expand/collapse test
784 - reset: preserve skip-worktree bit in mixed reset
785 - reset: rename is_missing to !is_in_reset_tree
712 - (this branch is used by ld/sparse-diff-blame.)
786 + (this branch is used by ds/fetch-pull-with-sparse-index and ld/sparse-diff-blame.)
787
788 Various operating modes of "git reset" have been made to work
789 better with the sparse index.
@@ -739,7 +813,8 @@ Release tarballs are available at:
813 protect the fixes.
814
815
742 -* es/superproject-aware-submodules (2021-11-04) 4 commits
816 +* es/superproject-aware-submodules (2021-11-18) 5 commits
817 + - submodule: use config to find superproject worktree
818 - submodule: record superproject gitdir during 'update'
819 - submodule: record superproject gitdir during absorbgitdirs
820 - introduce submodule.superprojectGitDir record
@@ -790,8 +865,7 @@ Release tarballs are available at:
865 What's the status of this thing?
866
867
793 -* js/scalar (2021-10-27) 15 commits
794 - - scalar: accept -C and -c options before the subcommand
868 +* js/scalar (2021-11-19) 17 commits
869 - scalar: implement the `version` command
870 - scalar: implement the `delete` command
871 - scalar: teach 'reconfigure' to optionally handle all registered enlistments
@@ -803,9 +877,12 @@ Release tarballs are available at:
877 - scalar: let 'unregister' handle a deleted enlistment directory gracefully
878 - scalar: 'unregister' stops background maintenance
879 - scalar: 'register' sets recommended config and starts maintenance
880 + - ci: also run the `scalar` tests
881 + - cmake: optionally build `scalar`, too
882 - scalar: create test infrastructure
883 - scalar: start documenting the command
884 - scalar: create a rudimentary executable
885 + - scalar: add a README with a roadmap
886
887 Add pieces from "scalar" to contrib/.
888