tests/test-rename-after-merge.t
changeset 12279 28e2e3804f2e
parent 7689 d821ea464465
child 12328 b63f6422d2a7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-rename-after-merge.t	Tue Sep 14 12:20:51 2010 +0200
@@ -0,0 +1,120 @@
+# Test issue 746: renaming files brought by the
+# second parent of a merge was broken.
+
+Create source repository:
+
+  $ hg init t
+  $ cd t
+  $ echo a > a
+  $ hg ci -Am a
+  adding a
+  $ cd ..
+
+Fork source repository:
+
+  $ hg clone t t2
+  updating to branch default
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ cd t2
+  $ echo b > b
+  $ hg ci -Am b
+  adding b
+
+Update source repository:
+
+  $ cd ../t
+  $ echo a >> a
+  $ hg ci -m a2
+
+Merge repositories:
+
+  $ hg pull ../t2
+  pulling from ../t2
+  searching for changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 1 changesets with 1 changes to 1 files (+1 heads)
+  (run 'hg heads' to see heads, 'hg merge' to merge)
+
+  $ hg merge
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
+
+  $ hg st
+  M b
+
+Rename b as c:
+
+  $ hg mv b c
+  $ hg st
+  A c
+  R b
+
+Rename back c as b:
+
+  $ hg mv c b
+  $ hg st
+  M b
+
+  $ cd ..
+
+# Test issue 1476: renaming a first parent file into
+# another first parent file while none of them belong to
+# the second parent was broken
+
+  $ hg init repo1476
+  $ cd repo1476
+  $ echo a > a
+  $ hg ci -Am adda
+  adding a
+  $ echo b1 > b1
+  $ echo b2 > b2
+  $ hg ci -Am changea
+  adding b1
+  adding b2
+  $ hg up -C 0
+  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
+  $ echo c1 > c1
+  $ echo c2 > c2
+  $ hg ci -Am addcandd
+  adding c1
+  adding c2
+  created new head
+
+Merge heads:
+
+  $ hg merge
+  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
+
+  $ hg mv -Af c1 c2
+
+Commit issue 1476:
+
+  $ hg ci -m merge
+
+  $ hg log -r tip -C -v | grep copies
+  copies:      c2 (c1)
+
+  $ hg rollback
+  rolling back to revision 2 (undo commit)
+
+  $ hg up -C .
+  2 files updated, 0 files merged, 2 files removed, 0 files unresolved
+
+Merge heads again:
+
+  $ hg merge
+  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
+
+  $ hg mv -Af b1 b2
+
+Commit issue 1476 with a rename on the other side:
+
+  $ hg ci -m merge
+
+  $ hg log -r tip -C -v | grep copies
+  copies:      b2 (b1)
+