What's cooking (2023/05 #01)

todo
Junio C Hamano 2023-05-02 15:24:03 -07:00
parent c8bd5503ac
commit 860208a52f
3 changed files with 244 additions and 176 deletions

View File

@ -1,6 +1,6 @@
#!/bin/sh

kup=../kup/kup
: ${kup=../kup/kup}

for s in git-*.sig
do

3
round
View File

@ -41,7 +41,8 @@ do
;;
sparse)
Meta/Make -j16 -- NO_REGEX=NoThanks SPARSE_FLAGS=-Wsparse-error "$t" &&
Meta/Make -j16 -- NO_REGEX=NoThanks clean >/dev/null 2>&1
Meta/Make -j16 -- NO_REGEX=NoThanks clean >/dev/null 2>&1 &&
rm -f compat/regex/regex.o
;;
*)
Meta/Make -j16 "$t"

View File

@ -1,10 +1,10 @@
To: git@vger.kernel.org
Subject: What's cooking in git.git (Apr 2023, #09; Fri, 28)
X-master-at: 48d89b51b3bb8a60580c36731b96a7206ce1e5b9
X-next-at: e96c925001b196247b94383a62a3b9781b57df80
Subject: What's cooking in git.git (May 2023, #01; Tue, 2)
X-master-at: 69c786637d7a7fe3b2b8f7d989af095f5f49c3a8
X-next-at: 97c42697076c706727900ce04889b69df0880a16
Bcc: lwn@lwn.net, gitster@pobox.com

What's cooking in git.git (Apr 2023, #09; Fri, 28)
What's cooking in git.git (May 2023, #01; Tue, 2)
--------------------------------------------------

Here are the topics that have been cooking in my tree. Commits
@ -47,77 +47,166 @@ Release tarballs are available at:
--------------------------------------------------
[Graduated to 'master']

* jk/gpg-trust-level-fix (2023-04-19) 1 commit
(merged to 'next' on 2023-04-21 at eb8413dc9d)
+ gpg-interface: set trust level of missing key to "undefined"
* ek/completion-use-read-r-to-read-literally (2023-04-20) 1 commit
(merged to 'next' on 2023-04-24 at 25bf3b808b)
+ completion: suppress unwanted unescaping of `read`

The "%GT" placeholder for the "--format" option of "git log" and
friends caused BUG() to trigger on a commit signed with an unknown
key, which has been corrected.
source: <20230419012957.GA503941@coredump.intra.peff.net>
The completion script used to use bare "read" without the "-r"
option to read the contents of various state files, which risked
getting confused with backslashes in them. This has been
corrected.
source: <20230420223800.1698197-1-myoga.murase@gmail.com>


* tb/enable-cruft-packs-by-default (2023-04-18) 10 commits
(merged to 'next' on 2023-04-21 at 068bf86fc3)
+ repository.h: drop unused `gc_cruft_packs`
+ builtin/gc.c: make `gc.cruftPacks` enabled by default
+ t/t9300-fast-import.sh: prepare for `gc --cruft` by default
+ t/t6500-gc.sh: add additional test cases
+ t/t6500-gc.sh: refactor cruft pack tests
+ t/t6501-freshen-objects.sh: prepare for `gc --cruft` by default
+ t/t5304-prune.sh: prepare for `gc --cruft` by default
+ builtin/gc.c: ignore cruft packs with `--keep-largest-pack`
+ builtin/repack.c: fix incorrect reference to '-C'
+ pack-write.c: plug a leak in stage_tmp_packfiles()
* en/ort-finalize-after-0-merges-fix (2023-04-24) 1 commit
(merged to 'next' on 2023-04-25 at 1bc935225b)
+ merge-ort: fix calling merge_finalize() with no intermediate merge

When "gc" needs to retain unreachable objects, packing them into
cruft packs (instead of exploding them into loose object files) has
been offered as a more efficient option for some time. Now the use
of cruft packs has been made the default and no longer considered
an experimental feature.
source: <cover.1681850424.git.me@ttaylorr.com>
A small API fix to the ort merge strategy backend.
source: <pull.1518.v2.git.1682194930766.gitgitgadget@gmail.com>


* jk/blame-fake-commit-label (2023-04-24) 1 commit
(merged to 'next' on 2023-04-26 at 85226d9501)
+ blame: use different author name for fake commit generated by --contents

The output given by "git blame" that attributes a line to contents
taken from the file specified by the "--contents" option shows it
differently from a line attributed to the working tree file.
source: <20230424193508.2245566-1-jacob.e.keller@intel.com>


* jk/misc-null-check-fixes (2023-04-24) 2 commits
(merged to 'next' on 2023-04-26 at 9500384e9d)
+ fetch_bundle_uri(): drop pointless NULL check
+ notes: clean up confusing NULL checks in init_notes()

Code clean-up.
source: <20230422135455.GA3942740@coredump.intra.peff.net>


* tb/ban-strtok (2023-04-27) 6 commits
(merged to 'next' on 2023-04-27 at cbbfa4a609)
+ banned.h: mark `strtok()` and `strtok_r()` as banned
+ t/helper/test-json-writer.c: avoid using `strtok()`
+ t/helper/test-oidmap.c: avoid using `strtok()`
+ t/helper/test-hashmap.c: avoid using `strtok()`
+ string-list: introduce `string_list_setlen()`
+ string-list: multi-delimiter `string_list_split_in_place()`

Mark strtok() and strtok_r() to be banned.
source: <cover.1682374789.git.me@ttaylorr.com>

--------------------------------------------------
[New Topics]

* ah/doc-attributes-text (2023-04-28) 1 commit
- docs: rewrite the documentation of the text and eol attributes
* jc/attr-source-tree (2023-05-01) 1 commit
- attr: teach "--attr-source=<tree>" global option to "git"

Doc update to clarify how text and eol attributes interact to
specify the end-of-line conversion.
"git --attr-source=<tree> cmd $args" is a new way to have any
command to read attributes not from the working tree but from the
given tree object.

Needs review.
source: <20230428042221.871095-1-alexhenrie24@gmail.com>
Will merge to 'next'?
source: <pull.1470.v4.git.git.1682822352360.gitgitgadget@gmail.com>


* jw/send-email-update-gmail-insn (2023-04-28) 1 commit
- send-email docs: Remove mention of discontinued gmail feature
* mc/send-email-header-cmd (2023-05-01) 3 commits
- send-email: detect empty blank lines in command output
- send-email: add --header-cmd, --no-header-cmd options
- send-email: extract execute_cmd from recipients_cmd

Doc update to drop use of deprecated app-specific password against
gmail.
"git send-email" learned "--header-cmd=<cmd>" that can inject
arbitrary e-mail header lines to the outgoing messages.

Will merge to 'next'.
source: <20221001104609.18453-1-j.witteveen@gmail.com>
Will merge to 'next'?
source: <20230501143848.19674-1-maxim.cournoyer@gmail.com>


* ob/messages-capitalize-exception (2023-04-28) 1 commit
- messages: capitalization and punctuation exceptions
(this branch uses ob/sequencer-i18n-fix.)
* ob/t3501-retitle (2023-05-01) 1 commit
(merged to 'next' on 2023-05-01 at 52730fcaaa)
+ t/t3501-revert-cherry-pick.sh: clarify scope of the file

Message update.
Retitle a test script with an overly narrow name.

Will merge to 'next'.
source: <20230428125649.1719796-1-oswald.buddenhagen@gmx.de>
Will merge to 'master'.
source: <20230430100034.1889796-1-oswald.buddenhagen@gmx.de>


* ob/sequencer-i18n-fix (2023-04-28) 1 commit
- sequencer: actually translate report in do_exec()
(this branch is used by ob/messages-capitalize-exception.)
* rs/test-ctype-eof (2023-05-02) 1 commit
(merged to 'next' on 2023-05-02 at a19201a6a9)
+ test-ctype: check EOF

Message update.
ctype tests have been taught to test EOF, too.

Will merge to 'next'.
source: <20230428125649.1719796-2-oswald.buddenhagen@gmx.de>
Will merge to 'master'.
source: <1dbbd7ce-2b3f-6f88-f902-1d4ffe62e259@web.de>


* tb/credential-long-lines (2023-05-01) 7 commits
(merged to 'next' on 2023-05-02 at f027002b92)
+ contrib/credential: embiggen fixed-size buffer in wincred
+ contrib/credential: avoid fixed-size buffer in libsecret
+ contrib/credential: .gitignore libsecret build artifacts
+ contrib/credential: remove 'gnome-keyring' credential helper
+ contrib/credential: avoid fixed-size buffer in osxkeychain
+ t/lib-credential.sh: ensure credential helpers handle long headers
+ credential.c: store "wwwauth[]" values in `credential_read()`

The implementation of credential helpers used fgets() over fixed
size buffers to read protocol messages, causing the remainder of
the folded long line to trigger unexpected behaviour, which has
been corrected.

Will merge to 'master'.
source: <cover.1682956419.git.me@ttaylorr.com>


* bc/clone-empty-repo-via-protocol-v0 (2023-05-01) 1 commit
- upload-pack: advertise capabilities when cloning empty repos

Expecting a minor and hopefully final update.
cf. <20230501224038.GA1174291@coredump.intra.peff.net>
source: <20230501170018.1410567-2-sandals@crustytoothpaste.net>


* ds/fsck-bitmap (2023-05-02) 2 commits
- fsck: use local repository
- fsck: verify checksums of all .bitmap files

"git fsck" learned to detect bit-flip breakages in the reachability
bitmap files.

Will merge to 'master'.
source: <pull.1526.v2.git.1683034042.gitgitgadget@gmail.com>


* gc/trace-bare-repo-setup (2023-05-01) 1 commit
- setup: trace bare repository setups

The tracing mechanism learned to notice and report when
auto-discovered bare repositories are being used, as allowing so
without explicitly stating the user intends to do so (with setting
GIT_DIR for example) can be used with social engineering as an
attack vector.

Will merge to 'next'?
source: <e98be8e7f703fc741e06d9208545abc8c24d1a4a.1682962110.git.steadmon@google.com>


* cw/strbuf-cleanup (2023-05-02) 6 commits
- strbuf: remove environment variables
- strbuf: clarify dependency
- path: move related function to path
- object-name: move related functions to object-name
- credential-store: move related functions to credential-store file
- abspath: move related functions to abspath

Move functions that are not about pure string manipulation out of
strbuf.[ch]

Comments?
source: <20230502211454.1673000-1-calvinwan@google.com>

--------------------------------------------------
[Stalled]
@ -142,9 +231,9 @@ Release tarballs are available at:

Code clean-up.

May want to discard.
Area maintainer is fairly negative.
Will merge to 'next'?
cf. <8511e030-8167-715c-5ed4-1646e6e9ef85@gmx.de>
cf. <CAGJzqsm4LmpYE46v2=y4=A+Och44zaQyzTXQRteX-KNSzA_18g@mail.gmail.com>
source: <pull.1496.git.1679707396407.gitgitgadget@gmail.com>


@ -160,14 +249,15 @@ Release tarballs are available at:
source: <20230120113553.24655-1-carenas@gmail.com>


* ob/revert-of-revert (2023-03-28) 1 commit
- sequencer: call a revert of a revert "reapply"
* ob/revert-of-revert (2023-05-01) 1 commit
- sequencer: beautify subject of reverts of reverts

Instead of "Revert "Revert "original"", give "Replay "original""
as the title for a revert of a revert.

Needs more polishing: docs, tests, transitions.
source: <20230323162234.995465-1-oswald.buddenhagen@gmx.de>
Expecting a hopefully final reroll.
Looking much better, except for minor cosmetic issues.
source: <20230428083528.1699221-1-oswald.buddenhagen@gmx.de>


* tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
@ -275,15 +365,60 @@ Release tarballs are available at:
--------------------------------------------------
[Cooking]

* ah/doc-attributes-text (2023-05-01) 1 commit
- docs: rewrite the documentation of the text and eol attributes

Doc update to clarify how text and eol attributes interact to
specify the end-of-line conversion.

Will merge to 'next'?
source: <20230501023533.35370-2-alexhenrie24@gmail.com>


* jw/send-email-update-gmail-insn (2023-04-28) 1 commit
(merged to 'next' on 2023-05-01 at cb5d83ee92)
+ send-email docs: Remove mention of discontinued gmail feature

Doc update to drop use of deprecated app-specific password against
gmail.

Will merge to 'master'.
source: <20221001104609.18453-1-j.witteveen@gmail.com>


* ob/messages-capitalize-exception (2023-04-28) 1 commit
(merged to 'next' on 2023-05-01 at db0ef42b3a)
+ messages: capitalization and punctuation exceptions
(this branch uses ob/sequencer-i18n-fix.)

Message update.

Will merge to 'master'.
source: <20230428125649.1719796-1-oswald.buddenhagen@gmx.de>


* ob/sequencer-i18n-fix (2023-04-28) 1 commit
(merged to 'next' on 2023-05-01 at 242ca8ce15)
+ sequencer: actually translate report in do_exec()
(this branch is used by ob/messages-capitalize-exception.)

Message update.

Will merge to 'master'.
source: <20230428125649.1719796-2-oswald.buddenhagen@gmx.de>


* hx/negotiator-non-recursive (2023-04-26) 2 commits
- negotiator/skipping: fix some problems in mark_common()
- negotiator/default: avoid stack overflow
(merged to 'next' on 2023-05-02 at 64f97cc72d)
+ negotiator/skipping: fix some problems in mark_common()
+ negotiator/default: avoid stack overflow

The implementation of the default "negotiator", used to find common
ancestor over the network for object tranfer, used to be recursive;
it was updated to be iterative to conserve stackspace usage.

Comments?
Will merge to 'master'.
cf. <9ad5f246-e21f-0a13-1a53-1ae3307c3f0e@github.com>
source: <cover.1682513384.git.hanxin.hx@bytedance.com>


@ -328,19 +463,6 @@ Release tarballs are available at:
source: <cover.1682671758.git.dyroneteng@gmail.com>


* ek/completion-use-read-r-to-read-literally (2023-04-20) 1 commit
(merged to 'next' on 2023-04-24 at 25bf3b808b)
+ completion: suppress unwanted unescaping of `read`

The completion script used to use bare "read" without the "-r"
option to read the contents of various state files, which risked
getting confused with backslashes in them. This has been
corrected.

Will merge to 'master'.
source: <20230420223800.1698197-1-myoga.murase@gmail.com>


* pw/rebase-i-after-failure (2023-04-21) 6 commits
- rebase -i: fix adding failed command to the todo list
- rebase: fix rewritten list for failed pick
@ -356,29 +478,6 @@ Release tarballs are available at:
source: <pull.1492.v2.git.1682089074.gitgitgadget@gmail.com>


* jk/blame-fake-commit-label (2023-04-24) 1 commit
(merged to 'next' on 2023-04-26 at 85226d9501)
+ blame: use different author name for fake commit generated by --contents

The output given by "git blame" that attributes a line to contents
taken from the file specified by the "--contents" option shows it
differently from a line attributed to the working tree file.

Will merge to 'master'.
source: <20230424193508.2245566-1-jacob.e.keller@intel.com>


* jk/misc-null-check-fixes (2023-04-24) 2 commits
(merged to 'next' on 2023-04-26 at 9500384e9d)
+ fetch_bundle_uri(): drop pointless NULL check
+ notes: clean up confusing NULL checks in init_notes()

Code clean-up.

Will merge to 'master'.
source: <20230422135455.GA3942740@coredump.intra.peff.net>


* jk/parse-commit-with-malformed-ident (2023-04-27) 4 commits
(merged to 'next' on 2023-04-28 at cb6ea0412a)
+ parse_commit(): describe more date-parsing failure modes
@ -425,30 +524,33 @@ Release tarballs are available at:


* en/header-split-cache-h-part-2 (2023-04-24) 22 commits
- reftable: ensure git-compat-util.h is the first (indirect) include
- diff.h: reduce unnecessary includes
- object-store.h: reduce unnecessary includes
- commit.h: reduce unnecessary includes
- fsmonitor: reduce includes of cache.h
- cache.h: remove unnecessary headers
- treewide: remove cache.h inclusion due to previous changes
- cache,tree: move basic name compare functions from read-cache to tree
- cache,tree: move cmp_cache_name_compare from tree.[ch] to read-cache.c
- hash-ll.h: split out of hash.h to remove dependency on repository.h
- tree-diff.c: move S_DIFFTREE_IFXMIN_NEQ define from cache.h
- dir.h: move DTYPE defines from cache.h
- versioncmp.h: move declarations for versioncmp.c functions from cache.h
- ws.h: move declarations for ws.c functions from cache.h
- match-trees.h: move declarations for match-trees.c functions from cache.h
- pkt-line.h: move declarations for pkt-line.c functions from cache.h
- base85.h: move declarations for base85.c functions from cache.h
- copy.h: move declarations for copy.c functions from cache.h
- server-info.h: move declarations for server-info.c functions from cache.h
- packfile.h: move pack_window and pack_entry from cache.h
- symlinks.h: move declarations for symlinks.c functions from cache.h
- treewide: be explicit about dependence on strbuf.h
(merged to 'next' on 2023-05-01 at 722c412915)
+ reftable: ensure git-compat-util.h is the first (indirect) include
+ diff.h: reduce unnecessary includes
+ object-store.h: reduce unnecessary includes
+ commit.h: reduce unnecessary includes
+ fsmonitor: reduce includes of cache.h
+ cache.h: remove unnecessary headers
+ treewide: remove cache.h inclusion due to previous changes
+ cache,tree: move basic name compare functions from read-cache to tree
+ cache,tree: move cmp_cache_name_compare from tree.[ch] to read-cache.c
+ hash-ll.h: split out of hash.h to remove dependency on repository.h
+ tree-diff.c: move S_DIFFTREE_IFXMIN_NEQ define from cache.h
+ dir.h: move DTYPE defines from cache.h
+ versioncmp.h: move declarations for versioncmp.c functions from cache.h
+ ws.h: move declarations for ws.c functions from cache.h
+ match-trees.h: move declarations for match-trees.c functions from cache.h
+ pkt-line.h: move declarations for pkt-line.c functions from cache.h
+ base85.h: move declarations for base85.c functions from cache.h
+ copy.h: move declarations for copy.c functions from cache.h
+ server-info.h: move declarations for server-info.c functions from cache.h
+ packfile.h: move pack_window and pack_entry from cache.h
+ symlinks.h: move declarations for symlinks.c functions from cache.h
+ treewide: be explicit about dependence on strbuf.h

More header clean-up.

Will merge to 'master'.
source: <pull.1517.v2.git.1682194649.gitgitgadget@gmail.com>


@ -464,23 +566,19 @@ Release tarballs are available at:

"git fetch" learned the "--output-format" option that emits what it
did in a machine-parseable format.

Expecting a review response.
source: <cover.1682593865.git.ps@pks.im>


* en/ort-finalize-after-0-merges-fix (2023-04-24) 1 commit
(merged to 'next' on 2023-04-25 at 1bc935225b)
+ merge-ort: fix calling merge_finalize() with no intermediate merge
* ma/gittutorial-fixes (2023-04-20) 2 commits
(merged to 'next' on 2023-05-02 at bf96011972)
+ gittutorial: wrap literal examples in backticks
+ gittutorial: drop early mention of origin

A small API fix to the ort merge strategy backend.
Doc fixes.

Will merge to 'master'.
source: <pull.1518.v2.git.1682194930766.gitgitgadget@gmail.com>


* ma/gittutorial-fixes (2023-04-20) 2 commits
- gittutorial: wrap literal examples in backticks
- gittutorial: drop early mention of origin

source: <cover.1681579244.git.martin.agren@gmail.com>


@ -496,6 +594,8 @@ Release tarballs are available at:

"git send-email" learned to give the e-mail headers to the validate
hook by passing an extra argument from the command line.

Will merge to 'next'.
source: <20230419202703.2911836-1-michael.strawbridge@amd.com>


@ -512,7 +612,8 @@ Release tarballs are available at:
'git worktree add' learned how to create a worktree based on an
orphaned branch with `--orphan`.

Comments?
Expecting a reroll.
cf. <m7crhly2j3k76whydbtdwhvzghvoql436g3lqtst4v3ahv75aa@wq5zjepgrxz5>
source: <20230417093255.31079-1-jacobabel@nullpo.dev>


@ -524,7 +625,7 @@ Release tarballs are available at:
source: <pull.1495.v2.git.git.1682634143.gitgitgadget@gmail.com>


* kh/doc-interpret-trailers-updates (2023-04-12) 4 commits
* kh/doc-interpret-trailers-updates (2023-05-01) 4 commits
- doc: interpret-trailers: fix example
- doc: interpret-trailers: dont use deprecated config
- doc: interpret-trailers: use input redirection
@ -532,9 +633,8 @@ Release tarballs are available at:

Doc update.

Expecting a reroll.
cf. <xmqqcz487qds.fsf@gitster.g>, <xmqqjzyg7qdw.fsf@gitster.g>
source: <cover.1681326818.git.code@khaugsbakk.name>
Will merge to 'next'?
source: <cover.1682970213.git.code@khaugsbakk.name>


* pb/complete-and-document-auto-merge-and-friends (2023-04-14) 5 commits
@ -553,21 +653,6 @@ Release tarballs are available at:
source: <pull.1515.git.1681495119.gitgitgadget@gmail.com>


* tb/ban-strtok (2023-04-27) 6 commits
(merged to 'next' on 2023-04-27 at cbbfa4a609)
+ banned.h: mark `strtok()` and `strtok_r()` as banned
+ t/helper/test-json-writer.c: avoid using `strtok()`
+ t/helper/test-oidmap.c: avoid using `strtok()`
+ t/helper/test-hashmap.c: avoid using `strtok()`
+ string-list: introduce `string_list_setlen()`
+ string-list: multi-delimiter `string_list_split_in_place()`

Mark strtok() and strtok_r() to be banned.

Will merge to 'master'.
source: <cover.1682374789.git.me@ttaylorr.com>


* rn/sparse-diff-index (2023-04-10) 1 commit
- diff-index: enable sparse index

@ -624,6 +709,7 @@ Release tarballs are available at:
wincred credential helper.

Will merge to 'next'?
cf. <CAGJzqsm4LmpYE46v2=y4=A+Och44zaQyzTXQRteX-KNSzA_18g@mail.gmail.com>
source: <pull.1477.v3.git.git.1680508028077.gitgitgadget@gmail.com>


@ -657,12 +743,14 @@ Release tarballs are available at:
source: <pull.1469.v2.git.git.1679729764851.gitgitgadget@gmail.com>


* sl/diff-files-sparse (2023-04-24) 2 commits
* sl/diff-files-sparse (2023-05-02) 2 commits
- diff-files: integrate with sparse index
- t1092: add tests for `git diff-files`

Teach "diff-files" not to expand sparse-index unless needed.
source: <20230423010721.1402736-1-cheskaqiqi@gmail.com>

Will merge to 'next'?
source: <20230502172335.478312-1-cheskaqiqi@gmail.com>


* rj/branch-unborn-in-other-worktrees (2023-03-27) 5 commits
@ -681,16 +769,6 @@ Release tarballs are available at:
--------------------------------------------------
[Discarded]

* pw/sequencer-rescheduled-ones-are-not-done-yet (2023-03-20) 1 commit
. rebase -i: do not update "done" when rescheduling command

"rebase -i" moved a "rescheduled" insn in the todo file to the
"done" list before it completed, which has been corrected.

Replaced with a much more enhanced pw/rebase-i-after-failure topic.
source: <pull.1492.git.1679237337683.gitgitgadget@gmail.com>


* ed/fsmonitor-inotify (2022-12-13) 6 commits
. fsmonitor: update doc for Linux
. fsmonitor: test updates
@ -706,17 +784,6 @@ Release tarballs are available at:
source: <pull.1352.v5.git.git.1670882286.gitgitgadget@gmail.com>


* rj/sendemail-validate-series-hook (2023-04-05) 1 commit
. hooks: add sendemail-validate-series

"git send-email" learns a new hook that takes the entire set of
patch files from its standard input to validate them in one go,
instead of getting called once per each file.

Superseded by the rj/send-email-validate-hook-count-messages topic.
source: <20230405231305.96996-1-robin@jarry.cc>


* my/wildmatch-cleanups (2023-02-27) 5 commits
. wildmatch: more cleanups after killing uchar
. wildmatch: use char instead of uchar