Respostas:
Experimentar:
hg id -i
Exemplo:
$ hg id -i
adc56745e928
hg --debug id -i
se desejar o suporte ao modelo, use hg parent --template '{node}'
Não use hg log -l 1
, é o mais recente conjunto de alterações do repositório, não o conjunto de alterações atual da cópia de trabalho.
.
ponto como revisão.
hg help revisions
e hg help revsets
tem alguns atalhos poderosos e loucos como esse.
hg id -i
imprime apenas a forma abreviada (12 caracteres) do hash id global e, como hg identify
carece de --template
afaics, não há como extrair apenas a revisão e nada mais, já que a página de manual diz isso imprime um resumo.
hg --debug id -i
Isso produzirá o hash longo, com uma vantagem se houver alterações não confirmadas.
Você pode usar --template com o comando pai, eu uso isso para obter o hash longo:
hg parent --template '{node}'
hg parents
: DEPRECATED , embora talvez esse não tenha sido o caso quando você escreveu esta resposta. Se houver uma mesclagem não confirmada, há duas revisões pai .
Resumindo as respostas e suas respostas, parece que esta é a melhor maneira de imprimir o identificador exclusivo (não abreviado) da versão atual :
hg log -l 1 --template '{node}\n' -r .
.
(ponto) exibirá apenas o primeiro pai de dois pais do grupo de trabalho.
hg log -l 1 --template '{node|short}\n'
Consulte os documentos , parágrafos "Noções básicas de modelos" e seguintes.
lid
para log -l 1 --template '{node}\n'
conseguir exatamente isso - imprima o ID da revisão completa.
hg --debug id -i
como é dito em outro lugar.
O comando não DEPRECATED mais específico que, devido à presença de, --template
pode imprimir apenas informações de revisão se essa concisão for necessária (conforme implícito na pergunta):
hg log -l 1 -b . -T '{rev}:{node|short}\n'
Ou para uma forma longa e exclusiva de hash:
hg log -l 1 -r . -T '{node}\n'
O -b .
ou branch(.)
(ponto para o nome da ramificação) significa a ramificação atual do diretório de trabalho e -r .
a revisão atual do diretório de trabalho, documentada em hg help revsets
e hg help revisions
.
Observe que se houver uma mesclagem não confirmada , o .
(ponto) exibirá apenas o primeiro pai de dois pais do grupo de trabalho.
Como outros já apontaram, não use log -l
.
Use hg log -r .
para obter informações detalhadas, em vez de usar hg id
cuja saída é limitada e não suporta modelos. Você também pode criar um pequeno apelido como here = log -r .
e usar hg here
. Se você deseja apenas o uso de hash hg log -r . --template '{node}\n'
.
Caso o TortoiseHg seja usado, clique com o botão direito do mouse na linha de revisão no Workbench e selecione "Copy hash" (conforme a documentação ).
hg log -l 1
você fornece o conjunto de alterações mais recente, não necessariamente aquele para o qual você está atualizado no momento! O sinalizador -f limita a saída do log hg aos ancestrais do diretório de trabalho atual, portanto,hg log -f -l1
está mais próximo do que você deseja.