2013-07-25 11 views
7

Nun, ich bin immer vim Quellcode von Mercurial (hg):Woher weiß ich das aktuelle Tag von Mercurial?

[email protected]:/work/ABC/VIM_HG# hg tags |more 
tip        5228:3f65dc9c8840 
v7-4a-039      5227:a08fa2919f2b 
v7-4a-038      5225:8f983df0299f 
v7-4a-037      5223:91d478da863e 
v7-4a-036      5221:9982ec574beb 
v7-4a-035      5218:4ceacc1b0054 
v7-4a-034      5216:947edb6335d1 
v7-4a-033      5214:fa024ce48542 
v7-4a-032      5212:2741b46e96bf 
v7-4a-031      5210:839ebe7c1b2f 

dann

[email protected]:/work/ABC/VIM_HG# hg update v7-4a-018 
216 files updated, 0 files merged, 0 files removed, 0 files unresolved 

Nach mehreren Stunden, wie kann ich wissen, welchen Tag war ich gearbeitet?

Gibt es einen Mercurial-Befehl, der die aktuellen Tag-Informationen angibt?

+1

Beachten Sie, dass Sie nicht wirklich "auf einem Tag arbeiten". Ein Tag ist eine feste Position in der Geschichte, nicht etwas, an dem Sie per se arbeiten. Vielleicht möchten Sie Lesezeichen? –

Antwort

17

Neueste Tag in Vorfahren, mit log und Templating

hg log -r "." --template "{latesttag}\n"

15

Wenn Sie positiv sind, dass Sie auf einem markierten Revision sind, verwenden Sie einfach:

hg id 

Dies wird die Revision Hash und alle Tags zeigen (und den Zweignamen, falls vorhanden).

Wenn die aktuelle Revision kein Tag hat und Sie möchten den nächsten getaggten Vorfahren finden, können Sie stattdessen verwenden:

hg id -r 'ancestors(.) and tag()' 

oder das Äquivalent, aber kürzer:

hg id -r '::. and tag()' 

Both arbeiten, indem Sie die Schnittmenge aller Vorfahren und aller markierten Revisionen finden.

Sie können auch am Ausgang des hg log -G schauen, um herauszufinden, wo Sie sind (der aktuelle Knoten in der Revisionsgraph mit einem '@' werden markiert wird anstelle eines 'o') und dann den nächsten Tag zu lokalisieren.

+0

revset muss 'ancemorS (.) Und tag()' sein und besser, weil AND auch revset (keine einzige Revision) erzeugt 'last (awesome() und tag())' –

+0

Behebt den 'awesome()' Tippfehler , aber '' last() 'sollte implizit in' hg id' enthalten sein. –

+0

In meiner Umgebung funktioniert nur hg id. die anderen beiden melden immer den Fehler "abort: unknown revision XXX" – harris