diff -r b708cadc6e8f -r b773ca489fd3 tests/test-double-merge.t --- /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