Réponses:
Essayer:
hg id -i
Exemple:
$ hg id -i
adc56745e928
hg --debug id -i
si 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 revisions
et hg help revsets
a des raccourcis fous puissants comme ça.
hg id -i
imprime uniquement le court (12 caractères) sous forme de l'identifiant de hachage global et depuis hg identify
manque --template
afaics 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 parents
c'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.
lid
pour log -l 1 --template '{node}\n'
atteindre exactement cela - imprimez l'ID de révision complet.
hg --debug id -i
comme cela est dit ailleurs.
La commande non-DEPRECATED la plus spécifique 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'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 revsets
et 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 id
dont 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 1
vous 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 -l1
est plus proche de ce que vous voulez.