Auto merge of #979 - nathan-at-least:nathan.cleanup-nonofficial-tags, r=ebfull

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:
zkbot
2016-07-13 02:23:14 +00:00

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