Se ho capito bene la vostra operazione 'urto versione', allora vuol dire aumentare la numero di versione in un numero arbitrario di file dopo aver avviato una versione con git flow release start x.x.x
, in cui la versione è rappresentata anche all'interno del tag git.
Poiché il flusso originale di Driessen è stato interrotto, il successore non ufficiale sembra essere Peter van der Does gitflow-avh
(https://github.com/petervanderdoes/gitflow-avh/), che contiene un gran numero di ganci di flusso git. Vedere https://github.com/petervanderdoes/gitflow-avh/tree/develop/hooks per un elenco completo.
ho fatto sbattere la versione su post-flow-release-start
con questo piccolo script:
VERSION=$1
# Get rid of version prefix
STRIPPED_VERSION=`echo $VERSION | cut -d'v' -f 2`
sed -i '' -E "s/^([ |#|[:alpha:]]*)\[.*\]$/\1[$STRIPPED_VERSION]/1" ./README.md
sed -i '' -E "s/^([\t| ]*\"version\":)\".*\"/\1\"$STRIPPED_VERSION\"/1" ./package.json
git commit -a -m "version $STRIPPED_VERSION"
exit 0
E 'un po' rigida, in quanto i due file sono fissi (README.md e package.json). È possibile eseguire una ricerca della versione precedente dall'ultimo tag e quindi sostituirla per tutti i file configurati all'interno di un ciclo.
Caveat:
OSX richiede un suffisso per sed -i
, tuttavia è possibile utilizzare virgolette vuote.Inoltre, il parametro regex esteso per sed
è denominato diversamente su Linux.
Questo è un piccolo ingegnoso strumento. Grazie – Alex
'bumpversion' sembra essere stato abbandonato dallo sviluppatore originale, ma c'è una [fork] (https://github.com/c4urself/bump2version) che è più attivamente mantenuta e aggiunge alcune funzionalità come i tag anotated. – ostrokach