merge(3p/git): Merge git subtree at v2.29.2
This also bumps the stable nixpkgs to 20.09 as of 2020-11-21, because there is some breakage in the git build related to the netrc credentials helper which someone has taken care of in nixpkgs. The stable channel is not used for anything other than git, so this should be fine. Change-Id: I3575a19dab09e1e9556cf8231d717de9890484fb
This commit is contained in:
parent
082c006c04
commit
f4609b896f
1485 changed files with 241535 additions and 109418 deletions
55
third_party/git/t/t7510-signed-commit.sh
vendored
55
third_party/git/t/t7510-signed-commit.sh
vendored
|
|
@ -6,6 +6,11 @@ GNUPGHOME_NOT_USED=$GNUPGHOME
|
|||
. "$TEST_DIRECTORY/lib-gpg.sh"
|
||||
|
||||
test_expect_success GPG 'create signed commits' '
|
||||
test_oid_cache <<-\EOF &&
|
||||
header sha1:gpgsig
|
||||
header sha256:gpgsig-sha256
|
||||
EOF
|
||||
|
||||
test_when_finished "test_unconfig commit.gpgsign" &&
|
||||
|
||||
echo 1 >file && git add file &&
|
||||
|
|
@ -109,6 +114,21 @@ test_expect_success GPG 'verify-commit exits success on untrusted signature' '
|
|||
grep "not certified" actual
|
||||
'
|
||||
|
||||
test_expect_success GPG 'verify-commit exits success with matching minTrustLevel' '
|
||||
test_config gpg.minTrustLevel ultimate &&
|
||||
git verify-commit sixth-signed
|
||||
'
|
||||
|
||||
test_expect_success GPG 'verify-commit exits success with low minTrustLevel' '
|
||||
test_config gpg.minTrustLevel fully &&
|
||||
git verify-commit sixth-signed
|
||||
'
|
||||
|
||||
test_expect_success GPG 'verify-commit exits failure with high minTrustLevel' '
|
||||
test_config gpg.minTrustLevel ultimate &&
|
||||
test_must_fail git verify-commit eighth-signed-alt
|
||||
'
|
||||
|
||||
test_expect_success GPG 'verify signatures with --raw' '
|
||||
(
|
||||
for commit in initial second merge fourth-signed fifth-signed sixth-signed seventh-signed
|
||||
|
|
@ -140,6 +160,11 @@ test_expect_success GPG 'verify signatures with --raw' '
|
|||
)
|
||||
'
|
||||
|
||||
test_expect_success GPG 'proper header is used for hash algorithm' '
|
||||
git cat-file commit fourth-signed >output &&
|
||||
grep "^$(test_oid header) -----BEGIN PGP SIGNATURE-----" output
|
||||
'
|
||||
|
||||
test_expect_success GPG 'show signed commit with signature' '
|
||||
git show -s initial >commit &&
|
||||
git show -s --show-signature initial >show &&
|
||||
|
|
@ -147,7 +172,7 @@ test_expect_success GPG 'show signed commit with signature' '
|
|||
git cat-file commit initial >cat &&
|
||||
grep -v -e "gpg: " -e "Warning: " show >show.commit &&
|
||||
grep -e "gpg: " -e "Warning: " show >show.gpg &&
|
||||
grep -v "^ " cat | grep -v "^gpgsig " >cat.commit &&
|
||||
grep -v "^ " cat | grep -v "^$(test_oid header) " >cat.commit &&
|
||||
test_cmp show.commit commit &&
|
||||
test_cmp show.gpg verify.2 &&
|
||||
test_cmp cat.commit verify.1
|
||||
|
|
@ -219,6 +244,30 @@ test_expect_success GPG 'show untrusted signature with custom format' '
|
|||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success GPG 'show untrusted signature with undefined trust level' '
|
||||
cat >expect <<-\EOF &&
|
||||
undefined
|
||||
65A0EEA02E30CAD7
|
||||
Eris Discordia <discord@example.net>
|
||||
F8364A59E07FFE9F4D63005A65A0EEA02E30CAD7
|
||||
D4BE22311AD3131E5EDA29A461092E85B7227189
|
||||
EOF
|
||||
git log -1 --format="%GT%n%GK%n%GS%n%GF%n%GP" eighth-signed-alt >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success GPG 'show untrusted signature with ultimate trust level' '
|
||||
cat >expect <<-\EOF &&
|
||||
ultimate
|
||||
13B6F51ECDDE430D
|
||||
C O Mitter <committer@example.com>
|
||||
73D758744BE721698EC54E8713B6F51ECDDE430D
|
||||
73D758744BE721698EC54E8713B6F51ECDDE430D
|
||||
EOF
|
||||
git log -1 --format="%GT%n%GK%n%GS%n%GF%n%GP" sixth-signed >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success GPG 'show unknown signature with custom format' '
|
||||
cat >expect <<-\EOF &&
|
||||
E
|
||||
|
|
@ -260,10 +309,10 @@ test_expect_success GPG 'check config gpg.format values' '
|
|||
test_expect_success GPG 'detect fudged commit with double signature' '
|
||||
sed -e "/gpgsig/,/END PGP/d" forged1 >double-base &&
|
||||
sed -n -e "/gpgsig/,/END PGP/p" forged1 | \
|
||||
sed -e "s/^gpgsig//;s/^ //" | gpg --dearmor >double-sig1.sig &&
|
||||
sed -e "s/^$(test_oid header)//;s/^ //" | gpg --dearmor >double-sig1.sig &&
|
||||
gpg -o double-sig2.sig -u 29472784 --detach-sign double-base &&
|
||||
cat double-sig1.sig double-sig2.sig | gpg --enarmor >double-combined.asc &&
|
||||
sed -e "s/^\(-.*\)ARMORED FILE/\1SIGNATURE/;1s/^/gpgsig /;2,\$s/^/ /" \
|
||||
sed -e "s/^\(-.*\)ARMORED FILE/\1SIGNATURE/;1s/^/$(test_oid header) /;2,\$s/^/ /" \
|
||||
double-combined.asc > double-gpgsig &&
|
||||
sed -e "/committer/r double-gpgsig" double-base >double-commit &&
|
||||
git hash-object -w -t commit double-commit >double-commit.commit &&
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue