Comment puis-je trouver ma révision de travail dans mercurial

Dans un repo mercurial, je peux lancer hg up {revision} pour modifier la révision de mon répertoire de travail, mais quelle commande puis-je lancer pour savoir quelle révision je recherche?

Cette commande:

 hg parent 

En plus des hg parents , vous pouvez utiliser hg summary pour obtenir les informations récapitulatives les plus importantes sur votre état actuel. Cela ressemble à ceci:

 % hg summary parent: 13051:120eccaaa522 tip encoding: fix typo in variable name branch: default commit: 2 unknown (clean) update: (current) mq: 20 unapplied 

et me dit d’un coup d’œil que je suis à la révision 13051, que je suis sur la twig par défaut avec une copie de travail propre (bien qu’il y ait 2 fichiers non suivis). Ceci est la révision de pointe dans mon référentiel, donc une mise à jour ne fera rien. Enfin, j’ai 20 patchs MQ non appliqués.

hg identify (ou hg id en abrégé) affichera les identifiants parent (identifiant abrégé de 12 caractères) et un signe + s’il y a des modifications non validées dans votre copie de travail.

Pour obtenir les hachages complets, vous pouvez utiliser hg identify --debug place.

Une autre option consiste à activer l’ extension graphlog , puis à exécuter hg glog . Vous verrez une sortie comme celle-ci (gardez à l’esprit que j’utilise un modèle pour modifier la sortie):

 o changeset: 200:c8c281cf0a6d |\ branch: craig-aspinall | | tag: tip | | parent: 199:1a692f3b9134 | | parent: 187:2d0e0ed9d31c | | user: Craig Aspinall | | date: Tue Nov 23 21:36:30 2010 +1000 | | summary: Merged latest changes | | | o changeset: 199:1a692f3b9134 | | branch: craig-aspinall | | parent: 123:1dc90c9b7ede | | user: Craig Aspinall | | date: Tue Nov 23 21:35:22 2010 +1000 | | summary: Final solutions to L04 | | | | @ changeset: 198:78b488c2607d <==== This is where I am currently. | | |\ branch: OJ | | | | parent: 119:70ec3d9e4d3a | | | | parent: 197:44bac809d37d | | | | user: OJ Reeves | | | | date: Tue Nov 23 20:19:07 2010 +1000 | | | | summary: Merged with the mainline | | | | | | | o changeset: 197:44bac809d37d | | | | user: Tony Morris | | | | date: Tue Nov 23 18:40:03 2010 +1000 | | | | summary: Started parallel anagrams | | | | | | | o changeset: 196:92241b51970b | | | | user: Tony Morris | | | | date: Tue Nov 23 17:52:32 2010 +1000 | | | | summary: Started parallel anagrams | | | | 

Le noeud / révision avec le symbole @ est l'endroit où vous vous trouvez.

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 requirejse (comme le suggère la question):

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

Ou:

hg log -l 1 -b . -T '{rev}\n'

Ou:

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

Ou pour une forme longue unique de hash:

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

Le -b . ou branch(.) (point pour le nom de la twig) signifie la twig du répertoire de travail en cours et -r . désigne la révision du répertoire de travail en cours, documentée dans les révisions de 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.

Cela sera également utile,

 hg log -v -r `hg id -i`