Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
git-tag: Fix "can't shift that many".
author
Alexandre Vassalotti
<alexandre@peadrop.com>
Thu, 28 Jun 2007 16:56:57 +0000
(12:56 -0400)
committer
Junio C Hamano
<gitster@pobox.com>
Sat, 30 Jun 2007 17:49:14 +0000
(10:49 -0700)
This stop git-tag from emitting a "shift: can't shift that many"
error, when listing tags.
[jc: with further fixups from Sam Vilain merged in; it passes
the tests under dash now]
Signed-off-by: Alexandre Vassalotti <alexandre@peadrop.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-tag.sh
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
bfc04bb
)
diff --git
a/git-tag.sh
b/git-tag.sh
index 3917cd829842462ca4e3d196246c637d8c3a58dc..1ff5b41e7f8671ccf7e2c6b25cedcfd1fbc2ea55 100755
(executable)
--- a/
git-tag.sh
+++ b/
git-tag.sh
@@
-19,28
+19,40
@@
do
case "$1" in
-a)
annotate=1
case "$1" in
-a)
annotate=1
+ shift
;;
-s)
annotate=1
signed=1
;;
-s)
annotate=1
signed=1
+ shift
;;
-f)
force=1
;;
-f)
force=1
+ shift
;;
-n)
;;
-n)
- case $2 in
- -*) LINES=1 # no argument
+ case "$#,$2" in
+ 1,* | *,-*)
+ LINES=1 # no argument
;;
*) shift
LINES=$(expr "$1" : '\([0-9]*\)')
[ -z "$LINES" ] && LINES=1 # 1 line is default when -n is used
;;
esac
;;
*) shift
LINES=$(expr "$1" : '\([0-9]*\)')
[ -z "$LINES" ] && LINES=1 # 1 line is default when -n is used
;;
esac
+ shift
;;
-l)
list=1
shift
;;
-l)
list=1
shift
- PATTERN="$1" # select tags by shell pattern, not re
+ case $# in
+ 0) PATTERN=
+ ;;
+ *)
+ PATTERN="$1" # select tags by shell pattern, not re
+ shift
+ ;;
+ esac
git rev-parse --symbolic --tags | sort |
while read TAG
do
git rev-parse --symbolic --tags | sort |
while read TAG
do
@@
-74,7
+86,9
@@
do
if test "$#" = "0"; then
die "error: option -m needs an argument"
else
if test "$#" = "0"; then
die "error: option -m needs an argument"
else
+ message="$1"
message_given=1
message_given=1
+ shift
fi
;;
-F)
fi
;;
-F)
@@
-85,13
+99,19
@@
do
else
message="$(cat "$1")"
message_given=1
else
message="$(cat "$1")"
message_given=1
+ shift
fi
;;
-u)
annotate=1
signed=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
;;
-d)
shift
@@
-126,7
+146,6
@@
do
break
;;
esac
break
;;
esac
- shift
done
[ -n "$list" ] && exit 0
done
[ -n "$list" ] && exit 0