aboutsummaryrefslogtreecommitdiff
path: root/git-tag.sh
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2007-01-20 10:47:41 -0800
committerJunio C Hamano <junkio@cox.net>2007-01-20 19:19:12 -0800
commit453c1e857534f90b88367f96fc8ca1e7841f9400 (patch)
treec81fdca0fffefd54c3d4e7e577c3012647c649e6 /git-tag.sh
parent68025633e352264898de44ec4856552d9a3abece (diff)
downloadgit-453c1e857534f90b88367f96fc8ca1e7841f9400.tar.gz
git-453c1e857534f90b88367f96fc8ca1e7841f9400.tar.xz
git-tag -d: allow deleting multiple tags at once.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'git-tag.sh')
-rwxr-xr-xgit-tag.sh21
1 files changed, 15 insertions, 6 deletions
diff --git a/git-tag.sh b/git-tag.sh
index ecb9100e4..94499c9b3 100755
--- a/git-tag.sh
+++ b/git-tag.sh
@@ -63,12 +63,21 @@ do
;;
-d)
shift
- tag_name="$1"
- tag=$(git-show-ref --verify --hash -- "refs/tags/$tag_name") ||
- die "Seriously, what tag are you talking about?"
- git-update-ref -m 'tag: delete' -d "refs/tags/$tag_name" "$tag" &&
- echo "Deleted tag $tag_name."
- exit $?
+ had_error=0
+ for tag
+ do
+ cur=$(git-show-ref --verify --hash -- "refs/tags/$tag") || {
+ echo >&2 "Seriously, what tag are you talking about?"
+ had_error=1
+ continue
+ }
+ git-update-ref -m 'tag: delete' -d "refs/tags/$tag" "$cur" || {
+ had_error=1
+ continue
+ }
+ echo "Deleted tag $tag."
+ done
+ exit $had_error
;;
-v)
shift