tests/test-double-merge.t
changeset 11973 b773ca489fd3
parent 8834 6d36fc70754e
child 12156 4c94b6d0fb1c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-double-merge.t	Wed Aug 18 04:30:27 2010 +0530
@@ -0,0 +1,65 @@
+  $ hg init repo
+  $ cd repo
+
+  $ echo line 1 > foo
+  $ hg ci -qAm 'add foo' -d "1000000 0"
+
+copy foo to bar and change both files
+  $ hg cp foo bar
+  $ echo line 2-1 >> foo
+  $ echo line 2-2 >> bar
+  $ hg ci -m 'cp foo bar; change both' -d "1000000 0"
+
+in another branch, change foo in a way that doesn't conflict with
+the other changes
+  $ hg up -qC 0
+  $ echo line 0 > foo
+  $ hg cat foo >> foo
+  $ hg ci -m 'change foo' -d "1000000 0"
+  created new head
+
+we get conflicts that shouldn't be there
+  $ hg merge -P
+  changeset:   1:d9da848d0adf
+  user:        test
+  date:        Mon Jan 12 13:46:40 1970 +0000
+  summary:     cp foo bar; change both
+  
+  $ hg merge --debug
+    searching for copies back to rev 1
+    unmatched files in other:
+     bar
+    all copies found (* = to merge, ! = divergent):
+     bar -> foo *
+    checking for directory renames
+  resolving manifests
+   overwrite None partial False
+   ancestor 310fd17130da local 2092631ce82b+ remote d9da848d0adf
+   foo: versions differ -> m
+   foo: remote copied to bar -> m
+  preserving foo for resolve of bar
+  preserving foo for resolve of foo
+  updating: foo 1/2 files (50.00%)
+  picked tool 'internal:merge' for bar (binary False symlink False)
+  merging foo and bar to bar
+  my bar@2092631ce82b+ other bar@d9da848d0adf ancestor foo@310fd17130da
+   premerge successful
+  updating: foo 2/2 files (100.00%)
+  picked tool 'internal:merge' for foo (binary False symlink False)
+  merging foo
+  my foo@2092631ce82b+ other foo@d9da848d0adf ancestor foo@310fd17130da
+   premerge successful
+  0 files updated, 2 files merged, 0 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
+
+contents of foo
+  $ cat foo
+  line 0
+  line 1
+  line 2-1
+
+contents of bar
+  $ cat bar
+  line 0
+  line 1
+  line 2-2