Fix git-verify-tag for light-weight tags
It currently exits printing "git-cat-file SHA1: bad file", while instead we must just abort the verification for light-weight tags (e.g. referring to commit objects). [jc: tag objects can tag anything not just commits, so I fixed up the original patch slightly. you should be able to validate a signed tag that points at a blob object. ] Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
8c51242873
commit
5a6850e8aa
@ -1,8 +1,12 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
. git-sh-setup || die "Not a git archive"
|
. git-sh-setup || die "Not a git archive"
|
||||||
|
|
||||||
tag=$(git-rev-parse $1) || exit 1
|
type="$(git-cat-file -t "$1" 2>/dev/null)" ||
|
||||||
|
die "$1: no such object."
|
||||||
|
|
||||||
git-cat-file tag $tag > .tmp-vtag || exit 1
|
test "$type" = tag ||
|
||||||
|
die "$1: cannot verify a non-tag object of type $type."
|
||||||
|
|
||||||
|
git-cat-file tag "$1" > .tmp-vtag || exit 1
|
||||||
cat .tmp-vtag | sed '/-----BEGIN PGP/Q' | gpg --verify .tmp-vtag - || exit 1
|
cat .tmp-vtag | sed '/-----BEGIN PGP/Q' | gpg --verify .tmp-vtag - || exit 1
|
||||||
rm -f .tmp-vtag
|
rm -f .tmp-vtag
|
||||||
|
Loading…
Reference in New Issue
Block a user