it-swarm.com.de

Wie unterscheide ich einen Zweig mit meinem Standardzweig?

Ich wechselte zu einem Zweig in meinem lokalen Repo und stellte fest, dass mir eine Nachricht mit x aktualisierten Dateien angezeigt wurde. Dies überraschte mich, da ich nicht wusste, dass es Unterschiede in diesem Zweig gab. Wie vergleiche ich diesen Zweig mit dem Standardzweig, um zu sehen, was sich geändert hat?

64
jaffa

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, da in der ursprünglichen Verzweigung Dateien geändert wurden, nicht notwendigerweise, weil in der anderen Verzweigung Dateien geändert wurden. Mercurial zeigt Ihnen die Vereinigung der geänderten Dateien aus beiden Zweigen.

99
Niall C.

Um nur die Dateien mit Unterschieden aufzulisten, fügen Sie die Option --stat hinzu:

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 etwas aufzuräumen, leiten Sie sie durch sed, um alles nach den Pipe-Symbolen zu entfernen:

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

Dadurch erhalten Sie nur eine Liste der geänderten Dateien und am Ende die Zusammenfassungszeile:

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

So zeigen Sie einen Unterschied des Zweigs otherbranch mit dem aktuellen Zweig an:

hg diff -r otherbranch
0
mherzl