Risposte:
Provare:
hg id -i
Esempio:
$ hg id -i
adc56745e928
hg --debug id -ise 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 revisionse hg help revsetsha alcune scorciatoie potenti e folli come quella.
hg id -istampa solo la forma breve (12 caratteri) dell'id hash globale e poiché hg identifymanca di --templateafaics 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.
lidper log -l 1 --template '{node}\n'ottenere esattamente questo: stampare l'ID di revisione completo.
hg --debug id -icome si dice altrove.
Il comando non DEPRECATED più specifico che a causa della presenza di --templatepuò 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 revsetse 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 idcui 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 1ti 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.