Subject: Re: [PATCH] git-tag: Fix the main while loop exit condition.

From: Sam Vilain <[email-masked]>
Date: Sat, 30 Jun 2007 18:04:37 +1200

Junio C Hamano wrote:
> Thanks.
> 
> I think you would need something like this on top if you want to
> really fix it, though.
> 
> I also suspect that we should error out on:
> 
> 	$ git tag -l foo bar
> 
> but that will be left as an exercise to the readers ;-)

More is required...

diff --git a/git-tag.sh b/git-tag.sh
index 48b54a1..480d16d 100755
--- a/git-tag.sh
+++ b/git-tag.sh
@@ -82,7 +82,9 @@ do
 	if test "$#" = "0"; then
 	    die "error: option -m needs an argument"
 	else
+	    message="$1"
 	    message_given=1
+	    shift
 	fi
 	;;
     -F)
@@ -93,13 +95,19 @@ do
 	else
 	    message="$(cat "$1")"
 	    message_given=1
+	    shift
 	fi
 	;;
     -u)
 	annotate=1
 	signed=1
 	shift
-	username="$1"
+	if test "$#" = "0"; then
+	    die "error: option -u needs an argument"
+	else
+	    username="$1"
+	    shift
+	fi
 	;;
     -d)
 	shift