X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-verify-tag.sh;h=36f171b3028a3460c1c51f9c1f5747a9a0d2d850;hb=ce0bd64299ae148ef61a63edcac635de41254cb5;hp=3c65f4a6b51707601bc8f66657e6e79cc33094fd;hpb=56fc63193975edd4b9f520b6c65c2b97ecd8ee38;p=git.git diff --git a/git-verify-tag.sh b/git-verify-tag.sh index 3c65f4a6..36f171b3 100755 --- a/git-verify-tag.sh +++ b/git-verify-tag.sh @@ -1,12 +1,42 @@ #!/bin/sh + +USAGE='' +SUBDIRECTORY_OK='Yes' . git-sh-setup +verbose= +while case $# in 0) break;; esac +do + case "$1" in + -v|--v|--ve|--ver|--verb|--verbo|--verbos|--verbose) + verbose=t ;; + *) + break ;; + esac + shift +done + +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" > .tmp-vtag || exit 1 -cat .tmp-vtag | sed '/-----BEGIN PGP/Q' | gpg --verify .tmp-vtag - || exit 1 -rm -f .tmp-vtag +case "$verbose" in +t) + git-cat-file -p "$1" | + sed -n -e '/^-----BEGIN PGP SIGNATURE-----/q' -e p + ;; +esac + +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" +