Skip to content

Instantly share code, notes, and snippets.

@petertwise
Created November 23, 2020 20:41
Show Gist options
  • Save petertwise/3802f392aa5f2d71143b5da8d02e47e0 to your computer and use it in GitHub Desktop.
Save petertwise/3802f392aa5f2d71143b5da8d02e47e0 to your computer and use it in GitHub Desktop.
Script to fix mixed tags in 0.0.0 and v0.0.0 formats that cause issues with GitHub updater
# Script to fix mixed tags in 0.0.0 and v0.0.0 formats that cause issues with GitHub updater
# modified from https://stackoverflow.com/a/25939259/947370
# Loop over tags
git tag -l | while read -r tag
do
# skip if it's already in v0.0.0 format
if [[ $tag == v* ]] ;
then
continue;
fi
echo $tag
# get the hash of the commit already tagged
COMMIT_HASH=$(git rev-list -1 $tag)
# special sauce: add "v" to the existing tag. make the tag date match the commit date.
GIT_COMMITTER_DATE="$(git show $COMMIT_HASH --format=%aD | head -1)" git tag -a -f v$tag -m"v$tag" $COMMIT_HASH
# delete the old tag locally
git tag -d $tag
# delete the old tag remotely
git push --delete origin $tag
done
# Force push tags and overwrite ones on the server with the same name
git push --tags --force
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment