transitive copy/rename
Add support for transitive copy or rename operations, e.g.
hg rename a b
... (possibly edit b)
hg rename b c
hg commit ...
by actually renaming "b" as "c" while recording a copy of
"a" to "c" and a removal of "a".
# HG changeset patch
# User test
# Node ID b51ca55c20354097ca299529d18b5cd356976ba2
# Parent 0000000000000000000000000000000000000000
1
diff -r 000000000000 -r b51ca55c2035 foo
--- /dev/null Thu Jan 1 00:00:00 1970 +0000
+++ b/foo Thu Jan 1 00:00:00 1970 +0000
@@ -0,0 +1,1 @@
+a
# HG changeset patch
# User test
# Node ID 451c12a24e5a7336921b8d93e280837d7c2b4fc1
# Parent b51ca55c20354097ca299529d18b5cd356976ba2
2
diff -r b51ca55c2035 -r 451c12a24e5a foo
--- a/foo Thu Jan 1 00:00:00 1970 +0000
+++ /dev/null Thu Jan 1 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-a
changeset: 0:b51ca55c2035
user: test
date: Thu Jan 1 00:00:00 1970 +0000
summary: 1
diff -r 000000000000 -r b51ca55c2035 foo
--- /dev/null Thu Jan 1 00:00:00 1970 +0000
+++ b/foo Thu Jan 1 00:00:00 1970 +0000
@@ -0,0 +1,1 @@
+a
changeset: 1:451c12a24e5a
tag: tip
user: test
date: Thu Jan 1 00:00:00 1970 +0000
summary: 2
diff -r b51ca55c2035 -r 451c12a24e5a foo
--- a/foo Thu Jan 1 00:00:00 1970 +0000
+++ /dev/null Thu Jan 1 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-a