| #!/bin/sh |
| |
| USAGE='<tag>' |
| SUBDIRECTORY_OK='Yes' |
| . git-sh-setup |
| |
| verbose= |
| while test $# != 0 |
| 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." |
| |
| case "$verbose" in |
| t) |
| git cat-file -p "$1" | |
| sed -n -e '/^-----BEGIN PGP SIGNATURE-----/q' -e p |
| ;; |
| esac |
| |
| trap 'rm -f "$GIT_DIR/.tmp-vtag"' 0 |
| |
| git cat-file tag "$1" >"$GIT_DIR/.tmp-vtag" || exit 1 |
| sed -n -e ' |
| /^-----BEGIN PGP SIGNATURE-----$/q |
| p |
| ' <"$GIT_DIR/.tmp-vtag" | |
| gpg --verify "$GIT_DIR/.tmp-vtag" - || exit 1 |
| rm -f "$GIT_DIR/.tmp-vtag" |