[PATCH 1/2] Fix git-verify-tag for local tags
From: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
It currently exits printing "git-cat-file SHA1: bad file", while instead we must just abort the verification for local tags (i.e. referring to commit objects).
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> ---
git-verify-tag.sh | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)
Show changes to git-verify-tag.sh +4 −0
diff --git a/git-verify-tag.sh b/git-verify-tag.sh --- a/git-verify-tag.sh +++ b/git-verify-tag.sh @@ -3,6 +3,10 @@ tag=$(git-rev-parse $1) || exit 1 +type=$(git-cat-file -t $tag) || exit 1 +[ "$type" = "commit" ] && die "Light tag - verification impossible" +[ "$type" = "tag" ] || die "Bad tag - SHA1 doesn't refer to a tag object nor to a commit one." + git-cat-file tag $tag > .tmp-vtag || exit 1 cat .tmp-vtag | sed '/-----BEGIN PGP/Q' | gpg --verify .tmp-vtag - || exit 1 rm -f .tmp-vtag