Antworten:
Versuchen:
hg id -i
Beispiel:
$ hg id -i
adc56745e928
hg --debug id -iwünschen : Wenn Sie Vorlagenunterstützung verwenden möchten, verwenden hg parent --template '{node}' Sie Nicht verwenden hg log -l 1, es ist das neueste Repository-Änderungsset, nicht das aktuelle Änderungsset für Arbeitskopien.
.Punkt als Revision.
hg help revisionsund hg help revsetshat einige verrückte mächtige Abkürzungen wie diese.
hg id -idruckt nur die kurzen (12 Zeichen) Form der globalen Hash - ID und da hg identifyfehlt --templateafaics gibt es keine Möglichkeit nur die Revision und nichts anderes zu extrahieren , da die Manpage sagt es druckt eine Zusammenfassung.
hg --debug id -i
Dies gibt den langen Hash mit einem Plus aus, wenn nicht festgeschriebene Änderungen vorliegen.
Sie können --template mit dem übergeordneten Befehl verwenden. Ich verwende dies, um den langen Hash zu erhalten:
hg parent --template '{node}'
hg parentsist DEPRECATED , wenn auch vielleicht , dass möglicherweise nicht der Fall gewesen wäre , wenn Sie diese Antwort geschrieben. Wenn es eine nicht festgeschriebene Zusammenführung gibt, gibt es zwei übergeordnete Revisionen .
Wenn man die Antworten und ihre Antworten zusammenfasst, scheint dies der beste Weg zu sein, um die eindeutige (nicht kurze) Kennung der aktuellen Version zu drucken :
hg log -l 1 --template '{node}\n' -r .
.(Punkt) zeigt nur die erst Eltern von zwei Eltern der Arbeitsgruppe.
hg log -l 1 --template '{node|short}\n'
Siehe die Dokumente , Absätze "Die Grundlagen des Templating" und die folgenden.
lidum log -l 1 --template '{node}\n'genau dies zu erreichen - drucken Sie die vollständige Revisions-ID aus.
hg --debug id -iwie an anderer Stelle gesagt.
Der spezifischste nicht DEPRECATED-Befehl, der aufgrund des Vorhandenseins von --templatenur Revisionsinformationen drucken kann, wenn diese Prägnanz erforderlich ist (wie in der Frage impliziert):
hg log -l 1 -b . -T '{rev}:{node|short}\n'
Oder für eine einzigartige lange Form von Hash:
hg log -l 1 -r . -T '{node}\n'
Das -b .oder branch(.)(Punkt für den Filialnamen) bedeutet den aktuellen Arbeitsverzeichniszweig und -r .die aktuelle Arbeitsverzeichnisrevision, die in und dokumentiert ist .hg help revsetshg help revisions
Hinweis , wenn es ein nicht gebundener merge , die .(Punkt) zeigt nur die erst Eltern von zwei Eltern der Arbeitsgruppe.
Wie andere darauf hingewiesen haben, verwenden Sie nicht log -l.
Verwenden Sie hg log -r .diese Option , um detaillierte Informationen abzurufen, anstatt zu verwenden, hg idderen Ausgabe begrenzt ist und keine Vorlagen unterstützt. Sie können auch einen kleinen Alias erstellen here = log -r .und verwenden hg here. Wenn Sie nur den Hash verwenden möchten hg log -r . --template '{node}\n'.
Wenn TortoiseHg verwendet wird, klicken Sie mit der rechten Maustaste auf die Revisionszeile in der Workbench und wählen Sie "Hash kopieren" (gemäß Dokumentation ).
hg log -l 1Sie den neuesten Änderungssatz erhalten, nicht unbedingt den, auf den Sie derzeit aktualisiert sind! Das Flag -f beschränkt die Ausgabe des hg-Protokolls auf Vorfahren des aktuellen Arbeitsverzeichnisses undhg log -f -l1ist somit näher an Ihren Wünschen.