Es gibt kein direktes Äquivalent (oder, wenn es das gibt, würde ich gerne wissen :-)).
Einiges davon ist einfach, weil einige Dinge nicht in Mercurial gelten, wo ein gegebenes Commit nur für einen Zweig gilt und hg log
standardmäßig alle Commits für alle Zweige anzeigt. Ebenso gibt es keine HEAD
: Es gibt einen aktuellen Zweig und einen aktuellen Commit, den Sie als Zweig .
oder Revision .
benennen können. Diese funktionieren wie HEAD
, außer dass sie keine anonyme Verzweigung sein können.
Es ist nicht möglich, die Fernbedienung separat anzuzeigen, da keine Remote-Tracking-Zweige vorhanden sind. Entweder haben Sie irgendwelche eingehenden Commits (hg incoming
druckt nichts), so wird es bereits in der Protokollausgabe sein, oder Sie nicht (so müssen Sie hg pull
, in der Regel ohne -u
laufen, um es zu bekommen, , um es zu sehen).
Die aktuelle Commit zeigt in hg log -G
(aka hg glog
) Ausgabe als @
statt o
, also das ist, wie Sie es identifizieren.
Hier ist, was ich (nicht ganz zufriedenstellend, und ich habe immer Topo-Sortierung verpassen):
[alias]
# lga comes from
# http://jamie-wong.com/2012/07/11/my-mercurial-setup-and-workflow-at-khan-academy/
lga = glog --style ~/.hgstuff/map-cmdline.lg
Die URL funktioniert immer noch von diesem Augenblick an, aber hier ist der Inhalt meiner map-cmdline.lg
Datei. Beachten Sie, dass Farben fest codiert sind. zu der Zeit schrieb ich dies, hg
nicht Farbe Worte genannt hat (vielleicht noch nicht, ich bin ziemlich veraltet auf dem neuesten hg Updates):
changeset = '\033[0;31m{rev}:{node|short}:{phase} {branches}{bookmarks}{tags} \033[0;34m{author|person}\033[0m\n{desc|firstline|strip} \033[0;32m({date|age})\033[0m\n\n'
changeset_verbose = '\033[0;31m{rev}:{node}:{phase} \033[0;34m{author|person}\033[0m {desc|firstline|strip} \033[0;32m({date|age}) {branches}{bookmarks}{tags}\n\n'
start_branches = ' '
branch = '\033[0;32m{branch}\033[0m'
start_bookmarks = ' '
bookmark = '\033[0;32m[{bookmark}]\033[0m '
last_bookmark = '\033[0;31m[{bookmark}]\033[0m'
start_tags = ' '
tag = '\033[0;32m{tag}\033[0m, '
last_tag = '\033[0;32m{tag}\033[0m'
Hinweis, dass es eine Kleiner Fehler hier, wenn Sie versuchen, einige Hg-Workflows mit Git-Entsprechungen gleichzusetzen oder umgekehrt. Insbesondere hg incoming
könnte 5 commits auflisten, dann hg pull
könnte 12 von diesen 5 holen, weil jemand 7 mehr zwischen den beiden Schritten geschoben hat.Git 's separate fetch
Schritt und Remote-Tracking-Filialen lösen dies für Sie. Die andere Methode des Umgangs damit, die ich für eine Weile aus anderen Gründen benutzt habe, besteht darin, ein lokales intermediäres Mercurial-Repository für Pull und Push vom gemeinsamen zu behalten.
Das heißt, wenn wir Repo U als Upstream gemeinsam genutztes Repository bezeichnen, machen wir einen Klon ich lokal, dann ein Klon von I in W für die Arbeit zu tun. Wir aktualisieren dann I (unter Verwendung hg pull -u
), dann sehen hg incoming
(und hg outgoing
) in W für Geschwindigkeit und Konsistenz. Es ist am besten, direkt von W zu U zu drücken, um zu vermeiden, mit commit Phasen zu beschäftigen, aber das ist ein Schmerz aus anderen Gründen. Ich fand nie ein wirklich zufriedenstellendes Setup und gab das Zwischen-Repository auf, wenn ich vor Ort arbeitete: es war mehr für den Umgang mit langsamen Netzwerken.
Just zu beachten - Mecurial * hat benannte Farben heute *, aber: sehr begrenzte Menge (zumindest in Win-Konsole) mit 'Label()' , Beispiel aus meiner Map-Datei vom März 2016: 'changeset =" {label ('rot', rev)} {label ('blau', author | person)} {desc | firstline | strip} {label ('grün ', date | age)} {label (' gelb ', branches)} {label (' gelb ', bookmarks)} {label (' gelb ', tags)} \ n \ n "' –
Woher hast du diese '' changeset_verbose' und 'start_branches' von? Wann ist was aktiviert? –
@RobertSiemer: Im Allgemeinen gilt X für "log" und X_verbose für "log -v". Die Namen von start_foo werden vor einem der foo-Namen ausgegeben, aber nur, wenn einer der foo-Namen ausgegeben wird. Ich habe diese von verschiedenen Orten abgeholt, ich bin mir nicht sicher, wie gut die Dokumentation damals war oder jetzt ist. – torek