diff options
Diffstat (limited to 'git-tag.sh')
-rwxr-xr-x | git-tag.sh | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/git-tag.sh b/git-tag.sh index ac269e327..d53f94cd9 100755 --- a/git-tag.sh +++ b/git-tag.sh @@ -5,6 +5,7 @@ USAGE='-l [<pattern>] | [-a | -s | -u <key-id>] [-f | -d] [-m <msg>] <tagname> [ SUBDIRECTORY_OK='Yes' . git-sh-setup +message_given= annotate= signed= force= @@ -37,6 +38,12 @@ do annotate=1 shift message="$1" + if test "$#" = "0"; then + die "error: option -m needs an argument" + exit 2 + else + message_given=1 + fi ;; -u) annotate=1 @@ -83,7 +90,7 @@ tagger=$(git-var GIT_COMMITTER_IDENT) || exit 1 trap 'rm -f "$GIT_DIR"/TAG_TMP* "$GIT_DIR"/TAG_FINALMSG "$GIT_DIR"/TAG_EDITMSG' 0 if [ "$annotate" ]; then - if [ -z "$message" ]; then + if [ -z "$message_given" ]; then ( echo "#" echo "# Write a tag message" echo "#" ) > "$GIT_DIR"/TAG_EDITMSG @@ -95,7 +102,7 @@ if [ "$annotate" ]; then grep -v '^#' <"$GIT_DIR"/TAG_EDITMSG | git-stripspace >"$GIT_DIR"/TAG_FINALMSG - [ -s "$GIT_DIR"/TAG_FINALMSG ] || { + [ -s "$GIT_DIR"/TAG_FINALMSG -o -n "$message_given" ] || { echo >&2 "No tag message?" exit 1 } |