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