X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-verify-tag.sh;h=36f171b3028a3460c1c51f9c1f5747a9a0d2d850;hb=74237d6236d7e32f69469ff26df3f3bb3875f523;hp=ed4c89396841d8292185b0504ef62ef36007f354;hpb=d5b0c9ea178dab3599674ccff50645c0464b8c31;p=git.git diff --git a/git-verify-tag.sh b/git-verify-tag.sh index ed4c8939..36f171b3 100755 --- a/git-verify-tag.sh +++ b/git-verify-tag.sh @@ -1,5 +1,25 @@ #!/bin/sh -. git-sh-setup || die "Not a git archive" + +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." @@ -7,6 +27,16 @@ type="$(git-cat-file -t "$1" 2>/dev/null)" || 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" +