X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-tag-script;h=39c3c53987bf647d2b15127c7fa8cedcc5befd35;hb=e70a165d3db26dbab62e3430553a21d5e97b74ec;hp=4917f99576ef91266a63a12899f16de6589ea226;hpb=638ccfdf0eeabf3d985426308b2a82db6207ae28;p=git.git diff --git a/git-tag-script b/git-tag-script index 4917f995..39c3c539 100755 --- a/git-tag-script +++ b/git-tag-script @@ -4,13 +4,14 @@ . git-sh-setup-script || die "Not a git archive" usage () { - echo >&2 "Usage: git-tag-script [-a | -s] [-f] tagname" + echo >&2 "Usage: git-tag-script [-a | -s] [-f] [-m "tag message"] tagname" exit 1 } annotate= signed= force= +message= while case "$#" in 0) break ;; esac do case "$1" in @@ -24,6 +25,11 @@ do -f) force=1 ;; + -m) + annotate=1 + shift + message="$1" + ;; -*) usage ;; @@ -41,17 +47,21 @@ if [ -e "$GIT_DIR/refs/tags/$name" -a -z "$force" ]; then fi shift -object=$(git-rev-parse --verify --revs-only --default HEAD "$@") || exit 1 +object=$(git-rev-parse --verify --default HEAD "$@") || exit 1 type=$(git-cat-file -t $object) || exit 1 tagger=$(git-var GIT_COMMITTER_IDENT) || exit 1 trap 'rm -f .tmp-tag* .tagmsg .editmsg' 0 if [ "$annotate" ]; then - ( echo "#" - echo "# Write a tag message" - echo "#" ) > .editmsg - ${VISUAL:-${EDITOR:-vi}} .editmsg || exit + if [ -z "$message" ]; then + ( echo "#" + echo "# Write a tag message" + echo "#" ) > .editmsg + ${VISUAL:-${EDITOR:-vi}} .editmsg || exit + else + echo "$message" > .editmsg + fi grep -v '^#' < .editmsg | git-stripspace > .tagmsg