Respuestas:
Tratar:
hg id -i
Ejemplo:
$ hg id -i
adc56745e928
hg --debug id -isi 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 revisionsy hg help revsetstiene algunos atajos poderosos como ese.
hg id -iimprime sólo el corto (12 caracteres) Forma de la ID de hash global y desde hg identifycarece --templateafaics 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 parentsestá 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.
lidpara log -l 1 --template '{node}\n'lograr exactamente esto: imprima la ID de revisión completa.
hg --debug id -icomo 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 revsetsy 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 idcuya 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 1le 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 -l1está más cerca de lo que desea.