summaryrefslogtreecommitdiff
path: root/scripts/bump-tag
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/bump-tag')
-rwxr-xr-xscripts/bump-tag43
1 files changed, 43 insertions, 0 deletions
diff --git a/scripts/bump-tag b/scripts/bump-tag
new file mode 100755
index 00000000..7cb85076
--- /dev/null
+++ b/scripts/bump-tag
@@ -0,0 +1,43 @@
+#!/bin/sh
+
+set -e
+
+git pull
+
+tagpfx=${tag:="md"}
+
+last_tag=`git tag -l "${tagpfx}-*"|sort|tail -1`
+
+echo "Verifying last tag $last_tag:"
+(git tag -v $last_tag | grep ^gpg:) || true
+# again to not mask exit status of git with grep
+git tag -v $last_tag > /dev/null 2>&1
+echo ""
+
+echo "Differences between tag $last_tag and what you are about to sign:"
+PAGER=cat git diff $last_tag..master
+
+iter=1
+ok=
+while test -z "$ok"; do
+ this_tag=$(date +${tagpfx}-%Y-%m-%d-v`printf "%02d" $iter`)
+ iter=`expr $iter + 1`
+ case `(echo $this_tag; echo $last_tag) | sort | tail -1` in
+ $last_tag)
+ ;;
+ $this_tag)
+ ok=yes
+ ;;
+ esac
+done
+
+echo ""
+echo "Using new tag $this_tag"
+echo ONLY SIGN IF YOU APPROVE OF VERIFICATION AND DIFF ABOVE
+
+# GITTAGEXTRA is for putting things like "-u 2117364A"
+
+git tag $GITTAGEXTRA -m bump. -s $this_tag
+
+git push
+git push --tags