将文件移动到另一个目录后,我无法再显示两个修订版之间的差异。例如: -移动/重命名后Mercurial diff不起作用
hg init
touch a
hg add a
hg ci -m "Added 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
结果:
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
这是我所期待的。然而,当我现在将文件“a”移动到目录“b”中时:
mkdir b
hg mv a b/a
hg ci -m "Moved a into b"
cd b
hg diff -r 0 -r 1 a
此结果为空(根本没有输出)。我也尝试使用Git Giff算法:
hg diff --git -r 0 -r 1 a
再次,根本没有输出。该日志似乎是OK:
hg log --follow a
结果:
changeset: 4:cb8185829bfd
tag: tip
user: XXXXXXXXXXXXXXXXXXXXXXXXXXXX
date: Mon Apr 23 09:08:12 2012 +0000
summary: Moved a into b
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: Added a
有任何人知道为什么的差异是不动的文件后的工作?非常感谢您的帮助。
顺便说一下:我正在使用Mercurial 2.2-rc – meisterplanlos 2012-04-23 09:21:09
我稍微编辑了这个问题:Mercurial不跟踪目录,所以当'b'是一个空目录时'hg add b'不会做任何事情。 – 2012-04-23 10:45:13
@马丁:谢谢。 – meisterplanlos 2012-04-23 11:26:36