diff options
Diffstat (limited to 'git-verify-tag.sh')
-rwxr-xr-x | git-verify-tag.sh | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/git-verify-tag.sh b/git-verify-tag.sh index 3c65f4a..1f44da5 100755 --- a/git-verify-tag.sh +++ b/git-verify-tag.sh @@ -1,5 +1,11 @@ #!/bin/sh -. git-sh-setup + +GIT_DIR=`git-rev-parse --git-dir` || exit $? + +die () { + echo >&2 "$*" + exit 1 +} type="$(git-cat-file -t "$1" 2>/dev/null)" || die "$1: no such object." @@ -7,6 +13,9 @@ type="$(git-cat-file -t "$1" 2>/dev/null)" || 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 +git-cat-file tag "$1" >"$GIT_DIR/.tmp-vtag" || exit 1 +cat "$GIT_DIR/.tmp-vtag" | +sed '/-----BEGIN PGP/Q' | +gpg --verify "$GIT_DIR/.tmp-vtag" - || exit 1 +rm -f "$GIT_DIR/.tmp-vtag" + |