Wenn nicht, ist das ein Feature, das Git hat?Kann ich Hg-Protokoll erhalten, um den Verlauf in umgekehrter Reihenfolge zu drucken?
Antwort
YGL's answer ist die richtige für Protokoll finden this thread:
Der Hinweis von "hg help log" könnte sein:
„Wenn keine Revision Bereich ist angegeben, der Standardwert ist Tipp: 0 ". Kombinieren Sie dies mit dem Wissen aus "hg help multirevs". Das heißt:
hg log -r :
multirevs:
Wenn Mercurial mehr als eine Änderung akzeptiert, können sie individuell festgelegt werden, oder als topologisch kontinuierlichen Bereich vorgesehen, getrennt durch das "
:
" Zeichen.Die Syntax Notation ist Bereich
[BEGIN]:[END]
, woBEGIN
undEND
Revisions Identifikatoren sind.
SowohlBEGIN
als auchEND
sind optional.
WennBEGIN
nicht angegeben ist, wird standardmäßig die Revisionsnummer 0 verwendet.
WennEND
nicht angegeben ist, wird standardmäßig der Tipp verwendet.
Der Bereich ":" bedeutet also "alle Revisionen".
Wenn BEGIN
größer als END
werden Revisionen in umgekehrter Reihenfolge behandelt.
Ein Bereich wirkt als geschlossenes Intervall. Dies bedeutet, dass eine Reihe von
3:5
gibt 3, 4 und 5
In ähnlicher Weise eine Reihe von9:6
gibt 9, 8, 7 und 6.
Hinweis: Wenn Sie das gleiche tun wollen mit Graphlog (die glog
, die außer wie (eine Untergruppe von) der normale log
Befehl verhält, dass er druckt auch eine Grafik, die die Revisionshistorie mit ASCII-Zeichen links von der log
darstellt.), werden Sie a patch benötigen.
Ich sollte Sie warnen, dass es sehr langsam für große Graphen sein wird, vor allem
0:tip
.
Siehe patch 1 und patch 2. Ich arbeite daran, das zu verbessern.
Haben Sie versucht,
hg log -r :
Wenn Sie möchten, dass umgekehrter Reihenfolge als Standard festlegen, fügen Sie folgende Zeile zu hgrc (<Repo> /.hg/hgrc, $ HOME/.hgrc,/etc/Mercurial/hgrc):
[defaults]
log = -r :
Ich gehe davon aus, dass dies das Standardverhalten von HG-Protokoll ändert, um den Verlauf in umgekehrter Reihenfolge anzuzeigen. –
Ich habe das zuerst geupdated, aber jetzt merke ich, dass dies für mich nicht funktioniert, da es die Fähigkeit für HG-Log bricht, um eine einzelne Revision zu zeigen. Das heißt, hg log zeigt jetzt Revisionen in umgekehrter Reihenfolge an. Gut. Allerdings zeigt hg log -r 25 nicht nur changeset 25 an - es wird immer noch die gesamte Liste der changesets angezeigt. – firebush
eine Alternative zur Antwort des nad2000 wäre einfach ein Alias in ~/.hgrc
[alias]
logr = log -r :
Jetzt hg logr
zeigt die Protokolle in umgekehrter Reihenfolge aufrufen hinzuzufügen. Wie von VonC aufgezeigt, kann derselbe Alias-Typ leider nicht für glog
definiert werden, da hg glog -r :
die Protokolle nicht in umgekehrter Reihenfolge anzeigt.
+1 Das Hinzufügen eines Alias scheint eine bessere Idee zu sein als das Ändern des Standardverhaltens. (@firebush erklärt warum) –
nicht sicher, ob dies inzwischen geändert hat oder ich habe etwas falsch gemacht, aber ich habe umgekehrter chronologischer Reihenfolge Protokolle von Mercurial wie folgt aus:
hg log -r tip:0
Ich beschränke sie in der Regel auf die neuesten Protokolleinträge zu , mit -l
:
hg log -r tip:0 -l 3
Nur um
Revset (long) Version zu erwähnen:
hg log -r "sort(all(),-date)"
Dies ist wirklich die richtige Antwort. 'log -r:' funktioniert nicht, wenn Sie ein DAG-Protokoll (: :) anstelle eines chronologischen Protokolls (:) benötigen. –
Ich bin überrascht, niemand erwähnt Reverse() vor. Vielleicht ist es eine neuere HG-Funktion?
hg log -r "reverse(all())"
Sicher, Sie könnten mit Spitze gehen: 0 als auch. Ich mag es umgekehrt, weil ich es auch oft benutze, wenn es mit Vorfahren gemischt wird.
hg log -r "reverse(::12345)"
Es ist bereits in umgekehrter Richtung kann nicht gedruckt werden, müssen Sie Reverse-Rückwärts- (oder vorwärts). Daher geben einige der Antworten die normale Reihenfolge (umgekehrt). –
Es gibt eine Möglichkeit, es mit '-G' (Grafik) zu arbeiten? Ich habe 'hg log | verwendet tac' aber die '/' s und '' s kommen in die falsche Richtung (und es gibt keine Farbe). Ich brauche es nur für die Verwendung mit '-G' –