diff tests/test-rename-dir-merge.t @ 23475:67f1d68861fb

merge: don't ignore conflicting file in remote renamed directory When the remote side has renamed a directory from a/ to b/ and added a file b/c in it, and the local side has added a file a/c, we end up moving a/c to b/c without considering the remote version of b/c. Add a check for this case and use the merge ('m') action in this case instead of the directory rename ('dm') action.
author Martin von Zweigbergk <martinvonz@google.com>
date Wed, 03 Dec 2014 10:56:07 -0800
parents 73d4f6551798
children 39a12719ec65
line wrap: on
line diff
--- a/tests/test-rename-dir-merge.t	Sun Nov 23 15:08:50 2014 -0800
+++ b/tests/test-rename-dir-merge.t	Wed Dec 03 10:56:07 2014 -0800
@@ -148,8 +148,6 @@
 Remote directory rename with conflicting file added in remote target directory
 and committed in local source directory.
 
-BROKEN: the remote is ignored; it should be merged
-
   $ hg co -qC 2
   $ rm b/c
   $ hg st -A
@@ -158,19 +156,28 @@
   C a/b
   C a/c
   $ hg merge 5
-  3 files updated, 0 files merged, 2 files removed, 0 files unresolved
-  (branch merge, don't forget to commit)
+  merging a/c and b/c to b/c
+  warning: conflicts during merge.
+  merging b/c incomplete! (edit conflicts, then use 'hg resolve --mark')
+  2 files updated, 0 files merged, 2 files removed, 1 files unresolved
+  use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
+  [1]
   $ hg st -A
   M b/a
   M b/b
-  A b/c
+  M b/c
     a/c
   R a/a
   R a/b
   R a/c
   ? a/d
+  ? b/c.orig
   $ cat b/c
+  <<<<<<< local: ce36d17b18fb  - test: 2 add a/c
   baz
+  =======
+  target
+  >>>>>>> other: f1c50ca4f127 - test: new file in target directory
 
 Second scenario with two repos: