Secuencia de commands para agregar automáticamente un nuevo número de versión a la twig actual de git

Creé este script para get automáticamente el número de versión de un package externo en Symfony2 (solo un repository git estándar que necesita labeldo para que el compositor extraiga estas nuevas versiones).

Solo quería comprobar si había algún problema con él (y compartirlo si es bueno y útil para otros) porque recuerdo haber hablado con un desarrollador principal que realizaría un seguimiento de los numbers de la versión al generar un file .version, y ¡Me preocupa que haya habido una muy buena razón por la que hizo eso!

#!/bin/bash #get highest tag number VERSION=`git describe --abbrev=0 --tags` #replace . with space so can split into an array VERSION_BITS=(${VERSION//./ }) #get number parts and increase last one by 1 VNUM1=${VERSION_BITS[0]} VNUM2=${VERSION_BITS[1]} VNUM3=${VERSION_BITS[2]} VNUM3=$((VNUM3+1)) #create new tag NEW_TAG="$VNUM1.$VNUM2.$VNUM3" echo "Updating $VERSION to $NEW_TAG" #get current hash and see if it already has a tag GIT_COMMIT=`git rev-parse HEAD` NEEDS_TAG=`git describe --contains $GIT_COMMIT` #only tag if no tag already (would be better if the git describe command above could have a silent option) if [ -z "$NEEDS_TAG" ]; then echo "Tagged with $NEW_TAG (Ignoring fatal:cannot describe - this means commit is untagged) " git tag $NEW_TAG git push --tags else echo "Already a tag on this commit" fi