X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=git-tag.sh;h=2435a75f7a9414bdceb1cef308a99918784f5421;hb=53e7181cd9927a8a194f4770c597744d96a113a2;hp=bd9275367405fa0b8c10a2e1394195cdbcfc632c;hpb=a10aad6a9a37fbafcda590a00ddaf7b2bfda940e;p=git.git diff --git a/git-tag.sh b/git-tag.sh index bd927536..2435a75f 100755 --- a/git-tag.sh +++ b/git-tag.sh @@ -1,10 +1,15 @@ #!/bin/sh # Copyright (c) 2005 Linus Torvalds -. git-sh-setup || die "Not a git archive" +GIT_DIR=`git-rev-parse --git-dir` || exit $? usage () { - echo >&2 "Usage: git-tag [-a | -s | -u ] [-f] [-m ] []" + echo >&2 "Usage: git-tag [-a | -s | -u ] [-f | -d] [-m ] []" + exit 1 +} + +die () { + echo >&2 "$*" exit 1 } @@ -37,6 +42,13 @@ do shift username="$1" ;; + -d) + shift + tag_name="$1" + rm "$GIT_DIR/refs/tags/$tag_name" && \ + echo "Deleted tag $tag_name." + exit $? + ;; -*) usage ;; @@ -92,5 +104,6 @@ if [ "$annotate" ]; then object=$(git-mktag < "$GIT_DIR"/TAG_TMP) fi -mkdir -p "$GIT_DIR/refs/tags" +leading=`expr "refs/tags/$name" : '\(.*\)/'` && +mkdir -p "$GIT_DIR/$leading" && echo $object > "$GIT_DIR/refs/tags/$name"