Antworten:
Versuchen:
hg id -i
Beispiel:
$ hg id -i
adc56745e928
hg --debug id -i
wü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 revisions
und hg help revsets
hat einige verrückte mächtige Abkürzungen wie diese.
hg id -i
druckt nur die kurzen (12 Zeichen) Form der globalen Hash - ID und da hg identify
fehlt --template
afaics 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 parents
ist 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.
lid
um log -l 1 --template '{node}\n'
genau dies zu erreichen - drucken Sie die vollständige Revisions-ID aus.
hg --debug id -i
wie an anderer Stelle gesagt.
Der spezifischste nicht DEPRECATED-Befehl, der aufgrund des Vorhandenseins von --template
nur 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 revsets
hg 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 id
deren 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 1
Sie 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 -l1
ist somit näher an Ihren Wünschen.