Nachdem ich eine Datei in ein anderes Verzeichnis verschoben habe, kann ich die Unterschiede zwischen zwei Revisionen nicht mehr anzeigen. Zum Beispiel:
hg init
touch a
hg add a
hg ci -m "Hinzugefügt a"
echo "Bli" >> a
hg ci -m "Bli"
echo "Bla" >> a
hg ci -m "Bla"
echo "Blub" >> a
hg ci -m "Blub"
hg diff -r 0 -r 1 a
Ergebnisse in:
diff -r 8603b08f5a64 -r 16675581549e a
--- a/a Mon Apr 23 09:03:25 2012 +0000
+++ b/a Mon Apr 23 09:03:25 2012 +0000
@@ -0,0 +1,1 @@
+Bli
was ich erwartet hatte. Aber wenn ich die Datei "a" jetzt in ein Verzeichnis "b" verschiebe:
mkdir b
hg mv a b/a
hg ci -m "A in b verschoben"
cd b
hg diff -r 0 -r 1 a
führt dies zu nichts (keine Ausgabe überhaupt). Ich habe auch versucht, den Git Diff Algorithmus zu verwenden:
hg diff --git -r 0 -r 1 a
Auch hier gibt es überhaupt keine Ausgabe. Das Protokoll scheint in Ordnung zu sein:
hg log --follow a
Ergebnisse in:
changeset: 4:cb8185829bfd
tag: tip
user: XXXXXXXXXXXXXXXXXXXXXXXXXXXX
date: Mon Apr 23 09:08:12 2012 +0000
summary: A in b verschoben
changeset: 3:4d1ba89885c3
user: XXXXXXXXXXXXXXXXXXXXXXXXXXXX
date: Mon Apr 23 09:03:26 2012 +0000
summary: Blub
changeset: 2:e9126dbb50b2
user: XXXXXXXXXXXXXXXXXXXXXXXXXXXX
date: Mon Apr 23 09:03:26 2012 +0000
summary: Bla
changeset: 1:16675581549e
user: XXXXXXXXXXXXXXXXXXXXXXXXXXXX
date: Mon Apr 23 09:03:25 2012 +0000
summary: Bli
changeset: 0:8603b08f5a64
user: XXXXXXXXXXXXXXXXXXXXXXXXXXXX
date: Mon Apr 23 09:03:25 2012 +0000
summary: Hinzugefügt a
Hat jemand eine Idee, warum der Diff nicht funktioniert, nachdem eine Datei verschoben wurde? Ihre Hilfe wird sehr geschätzt.