web-dev-qa-db-fra.com

Imprimer le hachage de révision Mercurial actuel?

Existe-t-il un meilleur moyen d’extraire le hachage de révision actuel dans Mercurial que

hg log -l1|grep changeset|cut -d: -f3

?

Une partie de mon script de déploiement d'application Web "balise" l'archive d'application téléchargée avec son hachage de révision unique.

110
rentzsch

Essayer:

hg id -i

Exemple:

$ hg id -i
adc56745e928
178
Ry4an Brase
hg --debug id -i

Ceci produira le hash long, avec un plus s'il y a des changements non validés.

38
Frank

Vous pouvez utiliser --template avec la commande parent. J'utilise ceci pour obtenir le hachage long:

hg parent --template '{node}'
18
shadowspawn

En résumant les réponses et leurs réponses, il semble que ce soit Le meilleur moyen d’imprimer l’identificateur unique (forme abrégée) De la version actuelle :

hg log -l 1 --template '{node}\n' -r .
12
rog
hg log -l 1 --template '{node|short}\n'

Voir les docs , paragraphes "Les bases du modèle" et les suivants.

7
Alex Martelli

La commande la plus spécifique non-DEPRECATED qui, en raison de la présence de --template, ne peut imprimer que les informations de révision si cette concision est requise (comme l'indique la question):

hg log -l 1 -b . -T '{rev}:{node|short}\n'

Ou pour une forme longue unique de hachage:

hg log -l 1 -r . -T '{node}\n'

-b . ou branch(.) (point pour le nom de la branche) signifie la branche du répertoire de travail en cours et -r . la révision du répertoire de travail en cours, qui est documenté dans hg help revsets et hg help revisions .

Notez que s'il existe une fusion non validée , le . (point) affiche uniquement le premier parent de deux parents du groupe de travail.

3
Shelby Moore III

Comme d'autres l'ont fait remarquer, n'utilisez pas log -l.

Utilisez hg log -r . pour obtenir des informations détaillées, par opposition à hg id dont la sortie est limitée et ne prend pas en charge les modèles. Vous pouvez également créer un petit alias tel que here = log -r . et utiliser hg here. Si vous voulez seulement le hash, utilisez hg log -r . --template '{node}\n'

1
Gru

Si TortoiseHg est utilisé, cliquez avec le bouton droit de la souris sur la ligne de révision du Workbench et sélectionnez "Copier le hachage" (selon documentation ).

 enter image description here

0
texnic