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.
Essayer:
hg id -i
Exemple:
$ hg id -i
adc56745e928
hg --debug id -i
Ceci produira le hash long, avec un plus s'il y a des changements non validés.
Vous pouvez utiliser --template avec la commande parent. J'utilise ceci pour obtenir le hachage long:
hg parent --template '{node}'
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 .
hg log -l 1 --template '{node|short}\n'
Voir les docs , paragraphes "Les bases du modèle" et les suivants.
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.
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'
.
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 ).