summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 8c51242)
raw | patch | inline | side by side (parent: 8c51242)
author | Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> | |
Sun, 9 Oct 2005 23:50:34 +0000 (16:50 -0700) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Sun, 9 Oct 2005 23:50:34 +0000 (16:50 -0700) |
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>
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>
git-verify-tag.sh | patch | blob | history |
diff --git a/git-verify-tag.sh b/git-verify-tag.sh
index 156c75bb3e4fb0c46ed9bff67b3fb48d795b41fb..ed4c89396841d8292185b0504ef62ef36007f354 100755 (executable)
--- a/git-verify-tag.sh
+++ b/git-verify-tag.sh
#!/bin/sh
. 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
rm -f .tmp-vtag