A script to remove "unofficial" tags from a remote, such as github.

Officialness is determined by a regular expression. ;-)

This is handy because we often want upstream Bitcoin tags for local
diffs, but sometimes we accidentally upload them to github which then
claims they are our releases, which is confusing and misleading.
This commit is contained in:
Nathan Wilcox 2016-05-30 16:54:23 -07:00
parent 212cdc4fa4
commit 24f0aeaf7f
1 changed files with 26 additions and 0 deletions

26
zcutil/cleanup-tags.sh Executable file
View File

@ -0,0 +1,26 @@
#!/bin/bash
#
# Warning: This deletes tags on "origin", so point that at the right target!
#
# Note: It doesn't delete any local tags.
set -exu -o pipefail
ZCASH_TAG_RGX='^v[0-9]+.[0-9]+.[0-9]+.z[0-9]+'
MAXJOBS=7
i=0
for nonzctag in $(git ls-remote origin \
| grep refs/tags/ \
| grep -v '\^{}$' \
| sed 's,^.*refs/tags/,,'\
| grep -Ev "$ZCASH_TAG_RGX"
)
do
git push origin ":refs/tags/${nonzctag}" &
i="$(expr "$i" + 1)"
[ "$i" -ge "$MAXJOBS" ] && wait -n
done
wait