Risposte:
Provare:
hg id -i
Esempio:
$ hg id -i
adc56745e928
hg --debug id -i
se si desidera il supporto del modello, utilizzare hg parent --template '{node}'
Non utilizzare hg log -l 1
, è il changeset del repository più recente, non il changeset della copia di lavoro corrente.
.
punto come revisione.
hg help revisions
e hg help revsets
ha alcune scorciatoie potenti e folli come quella.
hg id -i
stampa solo la forma breve (12 caratteri) dell'id hash globale e poiché hg identify
manca di --template
afaics non c'è modo di estrarre solo la revisione e nient'altro dal momento che la pagina man lo dice stampa un riepilogo.
hg --debug id -i
Questo produrrà l'hash lungo, con un vantaggio se ci sono cambiamenti non impegnati.
Puoi usare --template con il comando parent, lo uso per ottenere l'hash lungo:
hg parent --template '{node}'
hg parents
è deprecata , anche se forse non sarebbe stato così quando hai scritto questa risposta. In caso di unione senza commit, ci sono due revisioni principali .
Riassumendo le risposte e le loro risposte, sembra che questo sia il modo migliore per stampare l' identificatore univoco (non abbreviato) della versione corrente :
hg log -l 1 --template '{node}\n' -r .
.
(punto) mostra solo il primo genitore di due genitori del gruppo di lavoro.
hg log -l 1 --template '{node|short}\n'
Vedi i documenti , i paragrafi "Le basi del templating" e seguenti.
lid
per log -l 1 --template '{node}\n'
ottenere esattamente questo: stampare l'ID di revisione completo.
hg --debug id -i
come si dice altrove.
Il comando non DEPRECATED più specifico che a causa della presenza di --template
può stampare solo le informazioni di revisione se tale concisione è richiesta (come implicito nella domanda):
hg log -l 1 -b . -T '{rev}:{node|short}\n'
O per un'unica forma lunga di hash:
hg log -l 1 -r . -T '{node}\n'
L' -b .
o branch(.)
(dot per nome filiale) significa il ramo directory di lavoro corrente e -r .
significa la revisione in corso directory di lavoro, che viene documentato in hg help revsets
e hg help revisions
.
Nota se è presente un'unione senza commit , il .
(punto) mostra solo il primo genitore di due genitori del gruppo di lavoro.
Come altri hanno sottolineato, non usare log -l
.
Utilizzare hg log -r .
per ottenere informazioni dettagliate, anziché utilizzare il hg id
cui output è limitato e non supporta i modelli. Puoi anche creare un piccolo alias come here = log -r .
e utilizzare hg here
. Se vuoi solo l'uso dell'hash hg log -r . --template '{node}\n'
.
Se si utilizza TortoiseHg, fare clic con il tasto destro del mouse sulla riga di revisione nel Workbench e selezionare "Copia hash" (come da documentazione ).
hg log -l 1
ti dà il changeset più recente, non necessariamente quello a cui sei attualmente aggiornato! Il flag -f limita l'output del registro hg agli antenati della directory di lavoro corrente, quindihg log -f -l1
è più vicino a ciò che si desidera.