X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-verify-tag.sh;h=726b1e706ba247ee5b17e1312d7195119a690da2;hb=ee34518d629331dadd58b1a75294369d679eda8b;hp=156c75bb3e4fb0c46ed9bff67b3fb48d795b41fb;hpb=c1067050ce58b5b39f528fe634732da858664603;p=git.git diff --git a/git-verify-tag.sh b/git-verify-tag.sh index 156c75bb..726b1e70 100755 --- a/git-verify-tag.sh +++ b/git-verify-tag.sh @@ -1,8 +1,23 @@ #!/bin/sh -. git-sh-setup || die "Not a git archive" -tag=$(git-rev-parse $1) || exit 1 +USAGE='' +SUBDIRECTORY_OK='Yes' +. git-sh-setup + +if [ "$#" != "1" ] +then + usage +fi + +type="$(git-cat-file -t "$1" 2>/dev/null)" || + die "$1: no such object." + +test "$type" = tag || + die "$1: cannot verify a non-tag object of type $type." + +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" -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