| #!/bin/sh |
| |
| USAGE='<tag>' |
| 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." |
| |
| 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" |
| |