Subject: [PATCH take 2] git-tag: add flag to verify a tag

From: Santi Béjar <[email-masked]>
Date: Thu, 04 Jan 2007 00:17:49 +0100

This way "git tag -v $tag" is the UI for git-verify-tag.

Signed-off-by: Santi Béjar <[email-masked]>
---
 Hi *,

 But maybe the -v flag should give a similar output as:

 $ git branch -v

 Then this flag could be -c for check?

 This version has a syntax fix (sorry) and a typo fix.

 Documentation/git-tag.txt |    7 ++++++-
 generate-cmdlist.sh       |    1 -
 git-tag.sh                |   11 ++++++++++-
 3 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt
index 48b82b8..5cf114d 100644
--- a/Documentation/git-tag.txt
+++ b/Documentation/git-tag.txt
@@ -9,7 +9,7 @@ git-tag - Create a tag object signed with GPG
 SYNOPSIS
 --------
 [verse]
-'git-tag' [-a | -s | -u <key-id>] [-f | -d] [-m <msg> | -F <file>]
+'git-tag' [-a | -s | -u <key-id>] [-f | -d | -v] [-m <msg> | -F <file>]
 	 <name> [<head>]
 'git-tag' -l [<pattern>]
 
@@ -35,6 +35,8 @@ GnuPG key for signing.
 
 `-d <tag>` deletes the tag.
 
+`-v <tag>` verifies the gpg signature of the tag.
+
 `-l <pattern>` lists tags that match the given pattern (or all
 if no pattern is given).
 
@@ -55,6 +57,9 @@ OPTIONS
 -d::
 	Delete an existing tag with the given name
 
+-v::
+	Verify the gpg signature of the given tag
+
 -l <pattern>::
 	List tags that match the given pattern (or all if no pattern is given).
 
diff --git a/generate-cmdlist.sh b/generate-cmdlist.sh
index 06c42b0..1de14ea 100755
--- a/generate-cmdlist.sh
+++ b/generate-cmdlist.sh
@@ -37,7 +37,6 @@ show
 show-branch
 status
 tag
-verify-tag
 EOF
 while read cmd
 do
diff --git a/git-tag.sh b/git-tag.sh
index e1bfa82..c3e4e15 100755
--- a/git-tag.sh
+++ b/git-tag.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Copyright (c) 2005 Linus Torvalds
 
-USAGE='-l [<pattern>] | [-a | -s | -u <key-id>] [-f | -d] [-m <msg>] <tagname> [<head>]'
+USAGE='-l [<pattern>] | [-a | -s | -u <key-id>] [-f | -d | -v] [-m <msg>] <tagname> [<head>]'
 SUBDIRECTORY_OK='Yes'
 . git-sh-setup
 
@@ -69,6 +69,14 @@ do
 		echo "Deleted tag $tag_name."
 	exit $?
 	;;
+    -v)
+	shift
+	tag_name="$1"
+	tag=$(git-show-ref --verify --hash -- "refs/tags/$tag_name") ||
+		die "Seriously, what tag are you talking about?"
+	git-verify-tag -v "$tag"
+	exit $?
+	;;
     -*)
         usage
 	;;
-- 
1.5.0.rc0.g1eb3