Wie unterscheide ich einen Zweig von meinem Standardzweig?

73

Ich wechselte zu einem Zweig in meinem lokalen Repo und bemerkte, dass mir die Meldung angezeigt wurde, dass x Dateien aktualisiert wurden. Dies überraschte mich, da ich nicht wusste, dass es Unterschiede in diesem Zweig gibt. Wie vergleiche ich diesen Zweig mit dem Standardzweig, um festzustellen, was sich geändert hat?

Jaffa
quelle

Antworten:

110

Verwenden Sie hg diff -r BRANCH1:BRANCH2, wobei BRANCH1 und BRANCH2 die Namen der Zweige sind. Dies zeigt Ihnen die Unterschiede zwischen den Köpfen der beiden Zweige.

Sie haben die Meldung "x Dateien aktualisiert" erhalten, weil Dateien im ursprünglichen Zweig geändert wurden, nicht unbedingt, weil Dateien im anderen Zweig geändert wurden. Mercurial zeigt Ihnen die Vereinigung der Sätze geänderter Dateien aus beiden Zweigen.

Niall C.
quelle
17
... und wenn Sie bereits (sauber) zu diesem Zweig gewechselt sind: hg diff -r default wird das gleiche tun
Deklination
Wie kann man nur mit der Ausgabe des Dateinamens unterscheiden?
BMW
6

Fügen Sie die Option --stat hinzu, um nur die Dateien mit Unterschieden aufzulisten:

hg diff --stat -r BRANCH1:BRANCH2

Dies ergibt eine Ausgabe wie folgt:

mypath/file1.cpp    |    1 -
mypath/file2.cpp    |  143 ++++++++++
mypath/file3.cpp    |   18 +-
3 files changed, 160 insertions(+), 2 deletions(-)

Oder um die Ausgabe ein wenig zu bereinigen, leiten Sie sie durch sed, um alles nach den Pipe-Symbolen zu entfernen:

hg diff --stat -r BRANCH1:BRANCH2 | sed "s/|.*$//g"

Dies gibt Ihnen nur eine Liste der geänderten Dateien und die Zusammenfassungszeile am Ende:

mypath/file1.cpp
mypath/file2.cpp
mypath/file3.cpp
3 files changed, 160 insertions(+), 2 deletions(-)
Anthony.
quelle
1

So zeigen Sie einen Zweigunterschied otherbranchmit dem aktuellen Zweig an:

hg diff -r otherbranch
mherzl
quelle