summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 3ba513c)
raw | patch | inline | side by side (parent: 3ba513c)
author | Linus Torvalds <torvalds@g5.osdl.org> | |
Sat, 9 Jul 2005 01:23:06 +0000 (18:23 -0700) | ||
committer | Linus Torvalds <torvalds@g5.osdl.org> | |
Sat, 9 Jul 2005 01:23:06 +0000 (18:23 -0700) |
Instead of having to cut-and-paste the result, write it to the tag
directory directly. Also, start an editor for the tag message, rather
than just reading it from stdin.
directory directly. Also, start an editor for the tag message, rather
than just reading it from stdin.
git-tag-script | patch | blob | history |
diff --git a/git-tag-script b/git-tag-script
index 281d192814ec200199379f44fef10d2b04f762c1..442a243575382a92f97d98efe44db37ab287e50c 100755 (executable)
--- a/git-tag-script
+++ b/git-tag-script
#!/bin/sh
# Copyright (c) 2005 Linus Torvalds
-: ${GIT_DIR=.git}
+. git-sh-setup-script || die "Not a git archive"
+name="$1"
+[ "$name" ] || die "I need a tag-name"
object=${2:-$(cat "$GIT_DIR"/HEAD)}
type=$(git-cat-file -t $object) || exit 1
-( echo -e "object $object\ntype $type\ntag $1\n"; cat ) > .tmp-tag
-rm -f .tmp-tag.asc
+
+( echo "#"
+ echo "# Write a tag message"
+ echo "#" ) > .editmsg
+${VISUAL:-${EDITOR:-vi}} .editmsg || exit
+
+grep -v '^#' < .editmsg | git-stripspace > .tagmsg
+
+[ -s .tagmsg ] || exit
+
+( echo -e "object $object\ntype $type\ntag $name\n"; cat .tagmsg ) > .tmp-tag
+rm -f .tmp-tag.asc .tagmsg
gpg -bsa .tmp-tag && cat .tmp-tag.asc >> .tmp-tag
-git-mktag < .tmp-tag
+git-mktag < .tmp-tag > "$GIT_DIR/refs/tags/$name"
#rm .tmp-tag .tmp-tag.sig