Respuestas:
Tratar:
hg id -i
Ejemplo:
$ hg id -i
adc56745e928
hg --debug id -i
si desea usar el soporte de plantillas hg parent --template '{node}'
No use hg log -l 1
, es el último conjunto de cambios del repositorio, no el conjunto de cambios de la copia de trabajo actual.
.
dot como la revisión.
hg help revisions
y hg help revsets
tiene algunos atajos poderosos como ese.
hg id -i
imprime sólo el corto (12 caracteres) Forma de la ID de hash global y desde hg identify
carece --template
afaics no hay manera de extraer sólo la revisión y otra cosa desde la página del manual dice que Imprime un resumen.
hg --debug id -i
Esto generará el hash largo, con un plus si hay cambios no confirmados.
Puede usar --template con el comando padre, lo uso para obtener el hash largo:
hg parent --template '{node}'
hg parents
está DEPRECADO , aunque quizás ese no haya sido el caso cuando escribió esta respuesta. Si hay una fusión no comprometida, hay dos revisiones principales .
Resumiendo las respuestas y sus respuestas, parece que esta es la mejor manera de imprimir el identificador único (no de forma corta) de la versión actual :
hg log -l 1 --template '{node}\n' -r .
.
(punto) solo muestra el primer padre de dos padres del grupo de trabajo.
hg log -l 1 --template '{node|short}\n'
Consulte los documentos , los párrafos "Conceptos básicos de las plantillas" y los siguientes.
lid
para log -l 1 --template '{node}\n'
lograr exactamente esto: imprima la ID de revisión completa.
hg --debug id -i
como se dice en otra parte.
El comando no DEPRECADO más específico que, debido a la presencia de --template
, solo puede imprimir información de revisión si se requiere esa concisión (como lo implica la pregunta):
hg log -l 1 -b . -T '{rev}:{node|short}\n'
O para una forma larga única de hash:
hg log -l 1 -r . -T '{node}\n'
El -b .
o branch(.)
(punto para el nombre de la rama) significa la rama actual del directorio de trabajo y -r .
significa la revisión actual del directorio de trabajo, que está documentada en hg help revsets
y hg help revisions
.
Tenga en cuenta que si hay una fusión no confirmada , el .
(punto) solo muestra el primer padre de dos padres del grupo de trabajo.
Como otros han señalado, no lo use log -l
.
Utilícelo hg log -r .
para obtener información detallada, en lugar de utilizar hg id
cuya salida es limitada y no admite plantillas. También puede crear un pequeño alias como here = log -r .
y usar hg here
. Si solo quieres usar hash hg log -r . --template '{node}\n'
.
En caso de que se use TortoiseHg, haga clic con el botón derecho en la fila de revisión en el Workbench y seleccione "Copiar hash" (según la documentación ).
hg log -l 1
le ofrece el conjunto de cambios más reciente, ¡no necesariamente el que está actualizando actualmente! El indicador -f limita la salida del registro hg a los antepasados del directorio de trabajo actual, por lo quehg log -f -l1
está más cerca de lo que desea.