Réponses:
Essayer:
hg id -i
Exemple:
$ hg id -i
adc56745e928
hg --debug id -isi vous voulez la prise en charge des modèles, utilisez hg parent --template '{node}' Ne pas utiliser hg log -l 1, c'est le dernier ensemble de modifications du référentiel, pas l'ensemble de modifications de la copie de travail actuelle.
.point comme révision.
hg help revisionset hg help revsetsa des raccourcis fous puissants comme ça.
hg id -iimprime uniquement le court (12 caractères) sous forme de l'identifiant de hachage global et depuis hg identifymanque --templateafaics il n'y a pas moyen d'extraire simplement la révision et rien d' autre depuis la page man il imprime un résumé.
hg --debug id -i
Cela affichera le hachage long, avec un plus s'il y a des modifications non validées.
Vous pouvez utiliser --template avec la commande parent, j'utilise ceci pour obtenir le long hachage:
hg parent --template '{node}'
hg parentsc'est DÉPRÉCIÉ , bien que cela n'ait peut-être pas été le cas lorsque vous avez écrit cette réponse. S'il existe une fusion non validée, il existe deux révisions parentes .
En résumant les réponses et leurs réponses, il semble que ce soit la meilleure façon d'imprimer l' identifiant unique (et non abrégé) de la version actuelle :
hg log -l 1 --template '{node}\n' -r .
.(point) affiche uniquement le premier parent de deux parents du groupe de travail.
hg log -l 1 --template '{node|short}\n'
Voir la documentation , les paragraphes «Les bases de la création de modèles» et suivants.
lidpour log -l 1 --template '{node}\n'atteindre exactement cela - imprimez l'ID de révision complet.
hg --debug id -icomme cela est dit ailleurs.
La commande non-DEPRECATED la plus spécifique qui, en raison de la présence de, --templatene peut imprimer que les informations de révision si cette concision est requise (comme l'implique 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'
Le -b .ou branch(.)(point pour le nom de la branche) signifie la branche actuelle du répertoire de travail et -r .la révision actuelle du répertoire de travail, qui est documentée dans hg help revsetset hg help revisions.
Notez s'il y a une fusion non validée , le .(point) affiche uniquement le premier parent de deux parents du groupe de travail.
Comme d'autres l'ont souligné, ne l'utilisez pas log -l.
Utilisez hg log -r .pour obtenir des informations détaillées, par opposition à l'utilisation hg iddont la sortie est limitée et ne prend pas en charge les modèles. Vous pouvez également créer un petit alias comme here = log -r .et utiliser hg here. Si vous souhaitez uniquement utiliser le hachage hg log -r . --template '{node}\n'.
Si TortoiseHg est utilisé, cliquez avec le bouton droit sur la ligne de révision dans le Workbench et sélectionnez "Copier le hachage" (selon la documentation ).
hg log -l 1vous donne le jeu de modifications le plus récent, pas nécessairement celui vers lequel vous êtes actuellement mis à jour! L'indicateur -f limite la sortie du journal hg aux ancêtres du répertoire de travail actuel, donchg log -f -l1est plus proche de ce que vous voulez.