45 lines
741 B
45 lines
741 B
#!/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 |
|
|
|
trap 'rm -f "$GIT_DIR/.tmp-vtag"' 0 |
|
|
|
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" |
|
|
|
|