What's cooking (2022/01 #05)
Junio C Hamano committed
Jan 19, 2022 at 14:19 UTC
089b1a8229d0a934b3bdb088d7128dd7c605b0b5
1 file changed
+185
-91
whats-cooking.txt
+185
-91
@@ -1,15 +1,15 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Jan 2022, #04; Fri, 14)
4
-X-master-at: df3c41adeb212432c53d93ce6ace5d5374dc6e11
5
-X-next-at: 5990c1f58f12b2d9f2b7f4f857bac2a6b2a461e0
3
+Subject: What's cooking in git.git (Jan 2022, #05; Wed, 19)
4
+X-master-at: 50b2d72e110cad39ecaf2322bfdf1b60cd13dd96
5
+X-next-at: 594b6da22c98ab74f60dd322406863ad10d5d798
6
7
-What's cooking in git.git (Jan 2022, #04; Fri, 14)
7
+What's cooking in git.git (Jan 2022, #05; Wed, 19)
8
--------------------------------------------------
9
10
-I just tagged Git 2.35-rc1 with a few last-minute fixes. Let's make
11
-sure we can find and fix any remaining regressions introduced during
12
-this cycle before the final.
10
+We are at -rc2 now. A few more topics are now in 'next' but it is
11
+not a big deal anyway, as they are not about any regression fixes
12
+and will not go anywhere during the prerelease freeze.
13
14
Here are the topics that have been cooking in my tree. Commits
15
prefixed with '+' are in 'next' (being in 'next' is a sign that a
@@ -53,30 +53,109 @@ Release tarballs are available at:
53
--------------------------------------------------
54
[Graduated to 'master']
55
56
-* ab/refs-errno-cleanup (2022-01-13) 1 commit
57
- (merged to 'next' on 2022-01-14 at 00bb61876a)
58
- + refs API: use "failure_errno", not "errno"
56
+* da/rhel7-lacks-uncompress2-and-c99 (2022-01-16) 1 commit
57
+ (merged to 'next' on 2022-01-16 at 1aeeab2aa6)
58
+ + build: centos/RHEL 7 ships with an older gcc and zlib
59
60
- A brown-paper-bag fix on top of a topic that was merged during this
61
- cycle.
62
- source: <patch-v3-1.3-a45268ac24b-20220112T123117Z-avarab@gmail.com>
60
+ Adjust build on RHEL 7 to explicitly ask C99 support and use
61
+ the fallback implementation of uncompress2 we ship.
62
+ source: <20220116020520.26895-1-davvid@gmail.com>
63
64
65
-* ab/reftable-build-fixes (2022-01-13) 2 commits
66
- (merged to 'next' on 2022-01-14 at ebd978ea66)
67
- + reftable tests: avoid "int" overflow, use "uint64_t"
68
- + reftable: avoid initializing structs from structs
65
+* jc/freebsd-without-c99-only-build (2022-01-18) 1 commit
66
+ (merged to 'next' on 2022-01-18 at 6ab02e9ee4)
67
+ + Makefile: FreeBSD cannot do C99-or-below build
68
70
- A few portability tweaks.
71
- source: <cover-0.3-00000000000-20220111T163908Z-avarab@gmail.com>
69
+ FreeBSD 13.0 headers have unconditional dependency on C11 language
70
+ features, and adding -std=gnu99 to DEVELOPER_CFLAGS would just
71
+ break the developer build.
72
+ source: <xmqq1r15szpg.fsf_-_@gitster.g>
73
74
74
-* js/t1450-making-it-writable-does-not-need-full-posixperm (2022-01-13) 1 commit
75
- (merged to 'next' on 2022-01-14 at fd4f2f4bb4)
76
- + t1450-fsck: exec-bit is not needed to make loose object writable
75
+* js/branch-track-inherit (2022-01-18) 1 commit
76
+ (merged to 'next' on 2022-01-18 at 6a6a1b2bbf)
77
+ + branch,checkout: fix --track usage strings
78
78
- Test fix.
79
- source: <529d99f3-13c8-ffc1-dd4c-3fc70330262a@kdbg.org>
79
+ "git branch -h" incorrectly said "--track[=direct|inherit]",
80
+ implying that "--trackinherit" is a valid option, which has been
81
+ corrected.
82
+ source: <3de40324bea6a1dd9bca2654721471e3809e87d8.1642538935.git.steadmon@google.com>
83
+
84
+--------------------------------------------------
85
+[New Topics]
86
+
87
+* en/merge-ort-restart-optim-fix (2022-01-17) 1 commit
88
+ (merged to 'next' on 2022-01-19 at 84da10b057)
89
+ + merge-ort: avoid assuming all renames detected
90
+
91
+ The merge-ort misbehaved when merge.renameLimit configuration is
92
+ set too low and failed to find all renames.
93
+
94
+ Will cook in 'next'.
95
+ source: <pull.1194.v2.git.git.1642443955836.gitgitgadget@gmail.com>
96
+
97
+
98
+* jh/p4-various-fixups (2022-01-16) 23 commits
99
+ . git-p4: seperate multiple statements onto seperate lines
100
+ . git-p4: move inline comments to line above
101
+ . git-p4: only seperate code blocks by a single empty line
102
+ . git-p4: compare to singletons with "is" and "is not"
103
+ . git-p4: normalize indentation of lines in conditionals
104
+ . git-p4: ensure there is a single space around all operators
105
+ . git-p4: ensure every comment has a single #
106
+ . git-p4: remove spaces between dictionary keys and colons
107
+ . git-p4: remove redundant backslash-continuations inside brackets
108
+ . git-p4: remove extraneous spaces before function arguments
109
+ . git-p4: place a single space after every comma
110
+ . git-p4: removed brackets when assigning multiple return values
111
+ . git-p4: remove spaces around default arguments
112
+ . git-p4: remove padding from lists, tuples and function arguments
113
+ . git-p4: sort and de-duplcate pylint disable list
114
+ . git-p4: remove commented code
115
+ . git-p4: convert descriptive class and function comments into docstrings
116
+ . git-p4: improve consistency of docstring formatting
117
+ . git-p4: indent with 4-spaces
118
+ . git-p4: remove unneeded semicolons from statements
119
+ . git-p4: add blank lines between functions and class definitions
120
+ . Merge branch 'jh/p4-spawning-external-commands-cleanup' into jh/p4-various-fixups
121
+ . Merge branch 'jh/p4-fix-use-of-process-error-exception' into jh/p4-various-fixups
122
+ (this branch uses jh/p4-fix-use-of-process-error-exception and jh/p4-spawning-external-commands-cleanup.)
123
+
124
+ Various cleanups to "git p4".
125
+
126
+ Breaks its own test suite.
127
+ source: <20220116160550.514637-1-jholdsworth@nvidia.com>
128
+
129
+
130
+* po/readme-mention-contributor-hints (2022-01-17) 1 commit
131
+ (merged to 'next' on 2022-01-19 at 7e14690eb9)
132
+ + README.md: add CodingGuidelines and a link for Translators
133
+
134
+ Doc update.
135
+
136
+ Will cook in 'next'.
137
+ source: <pull.1115.v3.git.1642443491609.gitgitgadget@gmail.com>
138
+
139
+
140
+* tl/doc-cli-options-first (2022-01-17) 1 commit
141
+ (merged to 'next' on 2022-01-19 at 9ec14cfe73)
142
+ + git-cli.txt: clarify "options first and then args"
143
+
144
+ We explain that revs come first before the pathspec among command
145
+ line arguments, but did not spell out that dashed options come
146
+ before other args, which has been corrected.
147
+
148
+ Will cook in 'next'.
149
+ source: <fe748304d94e0ae25fd3549aadc49cf951ff2d64.1642405806.git.dyroneteng@gmail.com>
150
+
151
+
152
+* rs/bisect-executable-not-found (2022-01-19) 4 commits
153
+ - bisect--helper: double-check run command on exit code 126 and 127
154
+ - bisect: document run behavior with exit codes 126 and 127
155
+ - bisect--helper: release strbuf and strvec on run error
156
+ - bisect--helper: report actual bisect_state() argument on error
157
+
158
+ source: <fead25d6-6f5f-487a-ad4c-0657fe9785fd@www.fastmail.com>
159
160
--------------------------------------------------
161
[Stalled]
@@ -132,51 +211,56 @@ Release tarballs are available at:
211
[Cooking]
212
213
* ds/sparse-checkout-requires-per-worktree-config (2022-01-14) 6 commits
135
- - worktree: copy sparse-checkout patterns and config on add
136
- - sparse-checkout: use repo_config_set_worktree_gently()
137
- - config: add repo_config_set_worktree_gently()
138
- - worktree: add 'init-worktree-config' subcommand
139
- - config: make some helpers repo-aware
140
- - setup: use a repository when upgrading format
214
+ . worktree: copy sparse-checkout patterns and config on add
215
+ . sparse-checkout: use repo_config_set_worktree_gently()
216
+ . config: add repo_config_set_worktree_gently()
217
+ . worktree: add 'init-worktree-config' subcommand
218
+ . config: make some helpers repo-aware
219
+ . setup: use a repository when upgrading format
220
221
"git sparse-checkout" wants to work with per-worktree configration,
222
but did not work well in a worktree attached to a bare repository.
223
224
Expecting an update.
225
cf. <1db0f601-4769-15c0-cd58-ecddfa1fc9d5@gmail.com>
226
+ Introduces new leaks.
227
+ cf. https://github.com/git/git/runs/4823667255?check_suite_focus=true
228
source: <pull.1101.v3.git.1640727143.gitgitgadget@gmail.com>
229
230
231
* pw/add-p-hunk-split-fix (2022-01-12) 2 commits
151
- - builtin add -p: fix hunk splitting
152
- - t3701: clean up hunk splitting tests
232
+ (merged to 'next' on 2022-01-19 at ea57b2c9a6)
233
+ + builtin add -p: fix hunk splitting
234
+ + t3701: clean up hunk splitting tests
235
236
"git add -p" rewritten in C regressed hunk splitting in some cases,
237
which has been corrected.
238
157
- Will merge to 'next'?
239
+ Will cook in 'next'.
240
source: <pull.1100.v2.git.1641899530.gitgitgadget@gmail.com>
241
242
161
-* gc/fetch-negotiate-only-early-return (2022-01-12) 3 commits
162
- - fetch --negotiate-only: do not update submodules
163
- - fetch: skip tasks related to fetching objects
164
- - fetch: use goto cleanup in cmd_fetch()
243
+* gc/fetch-negotiate-only-early-return (2022-01-18) 3 commits
244
+ (merged to 'next' on 2022-01-19 at 0f15147cfa)
245
+ + fetch --negotiate-only: do not update submodules
246
+ + fetch: skip tasks related to fetching objects
247
+ + fetch: use goto cleanup in cmd_fetch()
248
166
- "git fetch --nogotiate-only" is an internal command used by "git
249
+ "git fetch --negotiate-only" is an internal command used by "git
250
push" to figure out which part of our history is missing from the
251
other side. It should never recurse into submodules even when
252
fetch.recursesubmodules configuration variable is set, nor it
253
should trigger "gc". The code has been tightened up to ensure it
254
only does common ancestry discovery and nothing else.
255
173
- Almost there.
174
- source: <20220113004501.78822-1-chooglen@google.com>
256
+ Will cook in 'next'.
257
+ source: <20220119000056.58503-1-chooglen@google.com>
258
259
260
* jh/p4-fix-use-of-process-error-exception (2022-01-06) 1 commit
261
(merged to 'next' on 2022-01-10 at 49d529bfd7)
262
+ git-p4: fix instantiation of CalledProcessError
263
+ (this branch is used by jh/p4-various-fixups.)
264
265
Will cook in 'next'.
266
source: <20220106214156.90967-1-jholdsworth@nvidia.com>
@@ -187,6 +271,7 @@ Release tarballs are available at:
271
+ git-p4: don't print shell commands as python lists
272
+ git-p4: pass command arguments as lists instead of using shell
273
+ git-p4: don't select shell mode using the type of the command argument
274
+ (this branch is used by jh/p4-various-fixups.)
275
276
Will cook in 'next'.
277
source: <20220106214035.90725-1-jholdsworth@nvidia.com>
@@ -218,13 +303,14 @@ Release tarballs are available at:
303
304
305
* fs/ssh-signing-crlf (2022-01-07) 1 commit
221
- - gpg-interface: trim CR from ssh-keygen
306
+ (merged to 'next' on 2022-01-19 at 76b86faafb)
307
+ + gpg-interface: trim CR from ssh-keygen
308
309
The code path that verifies signatures made with ssh were made to
310
work better on a system with CRLF line endings.
311
226
- Will merge to 'next'?
227
- source: <20220103095337.600536-1-fs@gigacodes.de>
312
+ Will cook in 'next'.
313
+ source: <20220107090735.580225-1-fs@gigacodes.de>
314
315
316
* jc/qsort-s-alignment-fix (2022-01-07) 2 commits
@@ -241,14 +327,13 @@ Release tarballs are available at:
327
source: <xmqqzgo76xpj.fsf@gitster.g>
328
329
244
-* ps/avoid-unnecessary-hook-invocation-with-packed-refs (2022-01-12) 7 commits
245
- . fixup! refs: open-code deletion of packed refs
246
- . refs: skip hooks when deleting uncovered packed refs
247
- . refs: do not execute reference-transaction hook on packing refs
248
- . refs: demonstrate excessive execution of the reference-transaction hook
249
- . refs: allow skipping the reference-transaction hook
250
- . refs: allow passing flags when beginning transactions
251
- . refs: open-code deletion of packed refs
330
+* ps/avoid-unnecessary-hook-invocation-with-packed-refs (2022-01-17) 6 commits
331
+ - refs: skip hooks when deleting uncovered packed refs
332
+ - refs: do not execute reference-transaction hook on packing refs
333
+ - refs: demonstrate excessive execution of the reference-transaction hook
334
+ - refs: allow skipping the reference-transaction hook
335
+ - refs: allow passing flags when beginning transactions
336
+ - refs: extract packed_refs_delete_refs() to allow control of transaction
337
338
Because a deletion of ref would need to remove it from both the
339
loose ref store and the packed ref store, a delete-ref operation
@@ -256,7 +341,7 @@ Release tarballs are available at:
341
hook twice, which has been corrected.
342
343
Introduces new leaks when merged to 'seen'.
259
- source: <cover.1641556319.git.ps@pks.im>
344
+ source: <cover.1642406989.git.ps@pks.im>
345
346
347
* rs/apply-symlinks-use-strset (2022-01-07) 1 commit
@@ -308,22 +393,23 @@ Release tarballs are available at:
393
- Merge branch 'vd/sparse-clean-etc' into en/present-despite-skipped
394
(this branch uses vd/sparse-clean-etc.)
395
311
- (NEEDSWORK: BY DOING WHAT), cope better with files on the working
312
- tree that should not exist according to the sparse checkout
313
- settings.
396
+ In sparse-checkouts, files mis-marked as missing from the working tree
397
+ could lead to later problems. Such files were hard to discover, and
398
+ harder to correct. Automatically detecting and correcting the marking
399
+ of such files has been added to avoid these problems.
400
source: <pull.1114.v2.git.1642175983.gitgitgadget@gmail.com>
401
402
317
-* bc/csprng-mktemps (2022-01-04) 2 commits
403
+* bc/csprng-mktemps (2022-01-17) 2 commits
404
- wrapper: use a CSPRNG to generate random file names
405
- wrapper: add a helper to generate numbers from a CSPRNG
406
407
Pick a better random number generator and use it when we prepare
408
temporary filenames.
409
324
- Expecting a reroll.
325
- cf. <YdTQodIhZ9273nJE@camp.crustytoothpaste.net>
326
- source: <20220104015555.3387101-1-sandals@crustytoothpaste.net>
410
+ Are we solving the right problem?
411
+ cf. <220118.86zgntpegy.gmgdl@evledraar.gmail.com>
412
+ source: <20220117215617.843190-1-sandals@crustytoothpaste.net>
413
414
415
* jc/reflog-parse-options (2022-01-10) 2 commits
@@ -379,13 +465,14 @@ Release tarballs are available at:
465
466
467
* jc/name-rev-stdin (2022-01-10) 2 commits
382
- - name-rev.c: use strbuf_getline instead of limited size buffer
383
- - name-rev: deprecate --stdin in favor of --annotate-stdin
468
+ (merged to 'next' on 2022-01-19 at a58e05fabe)
469
+ + name-rev.c: use strbuf_getline instead of limited size buffer
470
+ + name-rev: deprecate --stdin in favor of --annotate-stdin
471
472
"git name-rev --stdin" does not behave like usual "--stdin" at
473
all. Start the process of renaming it to "--annotate-stdin".
474
388
- Will merge to 'next'?
475
+ Will cook in 'next'.
476
source: <pull.1171.v7.git.git.1641425372.gitgitgadget@gmail.com>
477
478
@@ -404,7 +491,8 @@ Release tarballs are available at:
491
"git log --remerge-diff" shows the difference from mechanical merge
492
result and the merge result that is actually recorded.
493
407
- Will merge to 'next'?
494
+ Plug new leaks?
495
+ cf. <220119.86pmonn2mb.gmgdl@evledraar.gmail.com>
496
source: <pull.1103.v3.git.1640907369.gitgitgadget@gmail.com>
497
498
@@ -428,7 +516,8 @@ Release tarballs are available at:
516
517
"git branch" learned the "--recurse-submodules" option.
518
431
- Will merge to 'next'?
519
+ Expecting a reroll.
520
+ cf. <kl6l7db6kvp2.fsf@chooglen-macbookpro.roam.corp.google.com>
521
source: <20211220233459.45739-1-chooglen@google.com>
522
523
@@ -529,19 +618,22 @@ Release tarballs are available at:
618
source: <cover-0.2-00000000000-20220110T220553Z-avarab@gmail.com>
619
620
532
-* ab/grep-patterntype (2021-12-27) 7 commits
621
+* ab/grep-patterntype (2022-01-18) 10 commits
622
+ - grep.[ch]: remove GREP_PATTERN_TYPE_UNSPECIFIED
623
+ - grep: simplify config parsing and option parsing
624
+ - grep.c: do "if (bool && memchr())" not "if (memchr() && bool)"
625
+ - grep.h: make "grep_opt.pattern_type_option" use its enum
626
- grep API: call grep_config() after grep_init()
627
- grep.c: don't pass along NULL callback value
628
- built-ins: trust the "prefix" from run_builtin()
536
- - fixup! grep tests: add missing "grep.patternType" config tests
629
- grep tests: add missing "grep.patternType" config tests
630
- log tests: check if grep_config() is called by "log"-like cmds
631
- grep.h: remove unused "regex_t regexp" from grep_opt
632
633
Some code clean-up in the "git grep" machinery.
634
543
- Reroll exists.
544
- source: <cover-v6-0.7-00000000000-20211226T223035Z-avarab@gmail.com>
635
+ Looking good, except for the last two steps.
636
+ source: <cover-v8-00.10-00000000000-20220118T155211Z-avarab@gmail.com>
637
638
639
* js/use-builtin-add-i (2021-12-01) 2 commits
@@ -558,16 +650,17 @@ Release tarballs are available at:
650
source: <pull.1087.git.1638281655.gitgitgadget@gmail.com>
651
652
561
-* jt/conditional-config-on-remote-url (2021-12-15) 2 commits
562
- - config: include file if remote URL matches a glob
563
- - config: make git_config_include() static
653
+* jt/conditional-config-on-remote-url (2022-01-18) 2 commits
654
+ (merged to 'next' on 2022-01-19 at 3c2df266eb)
655
+ + config: include file if remote URL matches a glob
656
+ + config: make git_config_include() static
657
658
The conditional inclusion mechanism of configuration files using
659
"[includeIf <condition>]" learns to base its decision on the
660
URL of the remote repository the repository interacts with.
661
569
- How does this one look these days?
570
- source: <cover.1639509048.git.jonathantanmy@google.com>
662
+ Will cook in 'next'.
663
+ source: <cover.1642527965.git.jonathantanmy@google.com>
664
665
666
* ab/ambiguous-object-name (2022-01-13) 6 commits
@@ -600,27 +693,28 @@ Release tarballs are available at:
693
694
695
* ab/config-based-hooks-2 (2022-01-07) 17 commits
603
- - run-command: remove old run_hook_{le,ve}() hook API
604
- - receive-pack: convert push-to-checkout hook to hook.h
605
- - read-cache: convert post-index-change to use hook.h
606
- - commit: convert {pre-commit,prepare-commit-msg} hook to hook.h
607
- - git-p4: use 'git hook' to run hooks
608
- - send-email: use 'git hook run' for 'sendemail-validate'
609
- - git hook run: add an --ignore-missing flag
610
- - hooks: convert worktree 'post-checkout' hook to hook library
611
- - hooks: convert non-worktree 'post-checkout' hook to hook library
612
- - merge: convert post-merge to use hook.h
613
- - am: convert applypatch-msg to use hook.h
614
- - rebase: convert pre-rebase to use hook.h
615
- - hook API: add a run_hooks_l() wrapper
616
- - am: convert {pre,post}-applypatch to use hook.h
617
- - gc: use hook library for pre-auto-gc hook
618
- - hook API: add a run_hooks() wrapper
619
- - hook: add 'run' subcommand
696
+ (merged to 'next' on 2022-01-19 at 594b6da22c)
697
+ + run-command: remove old run_hook_{le,ve}() hook API
698
+ + receive-pack: convert push-to-checkout hook to hook.h
699
+ + read-cache: convert post-index-change to use hook.h
700
+ + commit: convert {pre-commit,prepare-commit-msg} hook to hook.h
701
+ + git-p4: use 'git hook' to run hooks
702
+ + send-email: use 'git hook run' for 'sendemail-validate'
703
+ + git hook run: add an --ignore-missing flag
704
+ + hooks: convert worktree 'post-checkout' hook to hook library
705
+ + hooks: convert non-worktree 'post-checkout' hook to hook library
706
+ + merge: convert post-merge to use hook.h
707
+ + am: convert applypatch-msg to use hook.h
708
+ + rebase: convert pre-rebase to use hook.h
709
+ + hook API: add a run_hooks_l() wrapper
710
+ + am: convert {pre,post}-applypatch to use hook.h
711
+ + gc: use hook library for pre-auto-gc hook
712
+ + hook API: add a run_hooks() wrapper
713
+ + hook: add 'run' subcommand
714
715
More "config-based hooks".
716
623
- Will merge to 'next', with minor nits?
717
+ Will cook in 'next'.
718
source: <cover-v6-00.17-00000000000-20211222T035755Z-avarab@gmail.com>
719
720