Mon VCS a ces balisesGit Bash au regex dernier tag
0.0.3.156-alpha+2
0.0.3.154
0.0.3.153
build-.139
build-.140
build-.142
build-0.0.1.28
build-0.0.1.29
build-0.0.1.30
build-0.0.1.32
Je veux git describe --match "<regex>"
pour obtenir l'étiquette dernière du formulaire number.number.number.number (il est donc 0,0. 3,154 dans ce cas)
J'ai essayé avec git describe --match "[0-9]*.[0-9]*.[0-9]*.[0-9]*$"
mais il ne résulte en rien, ni faire ces motifs:
"[0-9]*.[0-9]*.[0-9]*.[0-9]+"
"[0-9]*.[0-9]*.[0-9]*.[0-9]{1,}"
J'ai besoin d'obtenir la dernière balise dans une autre version bump pour la prochaine version. Donc je pense à le faire automatiquement. S'il vous plaît laissez-moi savoir si je manque quelque chose
Merci
MISE À JOUR:
Dans mon fichier build.gradle j'ai une fonction pour obtenir un tag comme celui-ci (suivre la réponse @Marc):
version getVersionFromTag()
def getVersionFromTag() {
def stdout = new ByteArrayOutputStream()
exec {
commandLine 'git', 'tag', '|' , 'grep', '^\([0-9]\+\.\?\)\+$', '|', 'sort' , '-nr', '|', 'head', '-1'
standardOutput = stdout
}
return stdout.toString().trim()
}
Ici, il donne des erreurs Unexpected Char '\'
dans l'expression rationnelle ci-dessus. Par conséquent, je les transportèrent à devient '^([0-9]+.?)+$'
, il fonctionne très bien, mais dans mon dernier artefact, il n'a pas la version ajoutée au nom (c.-à-helloword.jar
au lieu de helloword-0.0.3.154.jar
=> Ma question est de savoir comment dois-je mettre @ Marc est suggéré ?. commande à la fonction gradle correctement
Si l'étiquette est la dernière balise créée, vous pouvez simplement utiliser 'git describe --abbrev = 0'. Ou est-ce que je manque quelque chose? – crea1
Le motif après '--match' est glob, pas RegEx. Essayez 'git describe | grep ... ' – ElpieKay
@ crea1 cette commande renverra la dernière balise seulement (ici' 0.0.3.156-alpha + 2'). Je veux une commande qui retourne la dernière balise du formulaire comme '0.0.3.154' – hydradon