hg diff -g zeigt verschiedene Ausgabe zwischen einer Zusammenführung (pre-commit) und dem Änderungsprotokoll (post-commit)

StackOverflow https://stackoverflow.com/questions/3903522

  •  29-09-2019
  •  | 
  •  

Frage

Ich bin mit Niederlassungen in unserer Mercurial-Repository und habe bemerkt, in getrennten Zweigen getan Umbenennungen sind nicht pre-commit gezeigt auf den Standardzweig nach dem Zusammenführen. Doch nach einem Commit, wenn Sie den Befehl hg diff -g es zeigt die Umbenennungs richtig ausgeben.

Der folgende Code-Schnipsel zeigt, was ich meine. Ein neues Repository erstellt werden. Ich erstelle eine einzelne Datei in Verzug. Ich habe dann einen Zweig namens Zweig erstellen. Ich benennen Sie die Datei in Zweig ein und verschmelzen zu Standard diese Änderung zurück. Vor der Begehung mir einen Diff auf Standard, um zu sehen, was die Veränderungen sind, und beachten sie die Umbenennungs nicht abholen, sondern meldet einen Lösch dann ein Add. Aber nach dem Commit ich das diff überprüfen wieder und dieses Mal die Umbenennungs korrekt berichtet.

Gibt es eine Möglichkeit die diff berichtet korrekt haben vor die begehen?

D:\hgsource>hg init SO-question

D:\hgsource>cd SO-question

D:\hgsource\SO-question>echo test file content > test.txt

D:\hgsource\SO-question>hg commit -A -m "first commit"
adding test.txt

D:\hgsource\SO-question>hg branch branch-one
marked working directory as branch branch-one

D:\hgsource\SO-question>hg rename test.txt new-file.txt

D:\hgsource\SO-question>hg status
A new-file.txt
R test.txt

D:\hgsource\SO-question>hg commit -m "renamed file in branch-one"

D:\hgsource\SO-question>hg update default
1 files updated, 0 files merged, 1 files removed, 0 files unresolved

D:\hgsource\SO-question>hg merge branch-one
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
(branch merge, don't forget to commit)

D:\hgsource\SO-question>hg diff -g
diff --git a/new-file.txt b/new-file.txt
--- /dev/null
+++ b/new-file.txt
@@ -0,0 +1,1 @@
+test file content
diff --git a/test.txt b/test.txt
deleted file mode 100644
--- a/test.txt
+++ /dev/null
@@ -1,1 +0,0 @@
-test file content

D:\hgsource\SO-question>hg commit -m "merged from branch-one"

D:\hgsource\SO-question>hg diff -c tip
diff --git a/test.txt b/new-file.txt
rename from test.txt
rename to new-file.txt

Ich bin auf Version 1.6.3 unter Windows XP.

War es hilfreich?

Lösung

  

Hinweis: diff unerwartete Ergebnisse für Merges erzeugen kann, wie es will   Standard zu vergleichen gegen das Arbeitsverzeichnis des ersten Eltern   changeset wenn keine Revisionen angegeben sind.

http://linux.die.net/man/1/hg

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top