tests/test-merge-force.t
changeset 27137 25e4b2f000c5
parent 27133 8dff49c34a67
child 27163 27b89a0957ec
--- a/tests/test-merge-force.t	Wed Nov 25 14:26:46 2015 -0800
+++ b/tests/test-merge-force.t	Wed Nov 25 14:25:33 2015 -0800
@@ -5,7 +5,8 @@
 local changeset, and then modified in the working copy to match the
 remote content, then finally forgotten.
 
-  $ hg init
+  $ hg init repo
+  $ cd repo
 
 Create base changeset
 
@@ -214,7 +215,7 @@
   warning: conflicts while merging missing_content2_content3_content4-tracked! (edit, then use 'hg resolve --mark')
   warning: conflicts while merging missing_content2_missing_content4-tracked! (edit, then use 'hg resolve --mark')
   warning: conflicts while merging missing_content2_missing_content4-untracked! (edit, then use 'hg resolve --mark')
-  39 files updated, 3 files merged, 8 files removed, 10 files unresolved
+  18 files updated, 28 files merged, 8 files removed, 10 files unresolved
   use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
   [1]
 
@@ -226,14 +227,39 @@
 odd 'if force and branchmerge and different' case in manifestmerge().
 
   $ hg resolve -l
+  R content1_content2_content1_content1-untracked
+  R content1_content2_content1_content2-untracked
   U content1_content2_content1_content4-tracked
+  R content1_content2_content1_content4-untracked
+  R content1_content2_content1_missing-tracked
+  R content1_content2_content1_missing-untracked
   R content1_content2_content2_content1-tracked
+  R content1_content2_content2_content1-untracked
+  R content1_content2_content2_content2-untracked
   U content1_content2_content2_content4-tracked
+  R content1_content2_content2_content4-untracked
+  R content1_content2_content2_missing-tracked
+  R content1_content2_content2_missing-untracked
   R content1_content2_content3_content1-tracked
+  R content1_content2_content3_content1-untracked
+  R content1_content2_content3_content2-untracked
   U content1_content2_content3_content3-tracked
+  R content1_content2_content3_content3-untracked
   U content1_content2_content3_content4-tracked
+  R content1_content2_content3_content4-untracked
+  R content1_content2_content3_missing-tracked
+  R content1_content2_content3_missing-untracked
   R content1_content2_missing_content1-tracked
+  R content1_content2_missing_content1-untracked
+  R content1_content2_missing_content2-untracked
   U content1_content2_missing_content4-tracked
+  R content1_content2_missing_content4-untracked
+  R content1_content2_missing_missing-tracked
+  R content1_content2_missing_missing-untracked
+  R content1_missing_content1_content4-tracked
+  R content1_missing_content3_content3-tracked
+  R content1_missing_content3_content4-tracked
+  R content1_missing_missing_content4-tracked
   U missing_content2_content2_content4-tracked
   U missing_content2_content3_content3-tracked
   U missing_content2_content3_content4-tracked
@@ -260,17 +286,20 @@
 missing_missing_content3_missing-tracked becomes removed ('R'), even though
 the remote side did not touch the file
 
-  $ for f in `python $TESTDIR/generate-working-copy-states.py filelist 3`
-  > do
-  >   echo
-  >   hg status -A $f
-  >   if test -f $f
-  >   then
-  >     cat $f
-  >   else
-  >     echo '<missing>'
-  >   fi
-  > done
+  $ checkstatus() {
+  >   for f in `python $TESTDIR/generate-working-copy-states.py filelist 3`
+  >   do
+  >     echo
+  >     hg status -A $f
+  >     if test -f $f
+  >     then
+  >       cat $f
+  >     else
+  >       echo '<missing>'
+  >     fi
+  >   done
+  > }
+  $ checkstatus 2>&1 | tee $TESTTMP/status1
   
   C content1_content1_content1_content1-tracked
   content1
@@ -667,3 +696,87 @@
   content4
   missing_content2_missing_content4-untracked.orig:
   content4
+
+Re-resolve and check status
+
+  $ hg resolve --unmark --all
+  $ hg resolve --all --tool :local
+  (no more unresolved files)
+  $ hg resolve --unmark --all
+  $ hg resolve --all --tool internal:merge3
+  remote changed content1_content2_content1_content1-untracked which local deleted
+  use (c)hanged version or leave (d)eleted? c
+  remote changed content1_content2_content1_content2-untracked which local deleted
+  use (c)hanged version or leave (d)eleted? c
+  merging content1_content2_content1_content4-tracked
+  remote changed content1_content2_content1_content4-untracked which local deleted
+  use (c)hanged version or leave (d)eleted? c
+  remote changed content1_content2_content1_missing-tracked which local deleted
+  use (c)hanged version or leave (d)eleted? c
+  remote changed content1_content2_content1_missing-untracked which local deleted
+  use (c)hanged version or leave (d)eleted? c
+  merging content1_content2_content2_content1-tracked
+  remote changed content1_content2_content2_content1-untracked which local deleted
+  use (c)hanged version or leave (d)eleted? c
+  remote changed content1_content2_content2_content2-untracked which local deleted
+  use (c)hanged version or leave (d)eleted? c
+  merging content1_content2_content2_content4-tracked
+  remote changed content1_content2_content2_content4-untracked which local deleted
+  use (c)hanged version or leave (d)eleted? c
+  remote changed content1_content2_content2_missing-tracked which local deleted
+  use (c)hanged version or leave (d)eleted? c
+  remote changed content1_content2_content2_missing-untracked which local deleted
+  use (c)hanged version or leave (d)eleted? c
+  merging content1_content2_content3_content1-tracked
+  remote changed content1_content2_content3_content1-untracked which local deleted
+  use (c)hanged version or leave (d)eleted? c
+  remote changed content1_content2_content3_content2-untracked which local deleted
+  use (c)hanged version or leave (d)eleted? c
+  merging content1_content2_content3_content3-tracked
+  remote changed content1_content2_content3_content3-untracked which local deleted
+  use (c)hanged version or leave (d)eleted? c
+  merging content1_content2_content3_content4-tracked
+  remote changed content1_content2_content3_content4-untracked which local deleted
+  use (c)hanged version or leave (d)eleted? c
+  remote changed content1_content2_content3_missing-tracked which local deleted
+  use (c)hanged version or leave (d)eleted? c
+  remote changed content1_content2_content3_missing-untracked which local deleted
+  use (c)hanged version or leave (d)eleted? c
+  merging content1_content2_missing_content1-tracked
+  remote changed content1_content2_missing_content1-untracked which local deleted
+  use (c)hanged version or leave (d)eleted? c
+  remote changed content1_content2_missing_content2-untracked which local deleted
+  use (c)hanged version or leave (d)eleted? c
+  merging content1_content2_missing_content4-tracked
+  remote changed content1_content2_missing_content4-untracked which local deleted
+  use (c)hanged version or leave (d)eleted? c
+  remote changed content1_content2_missing_missing-tracked which local deleted
+  use (c)hanged version or leave (d)eleted? c
+  remote changed content1_content2_missing_missing-untracked which local deleted
+  use (c)hanged version or leave (d)eleted? c
+  local changed content1_missing_content1_content4-tracked which remote deleted
+  use (c)hanged version or (d)elete? c
+  local changed content1_missing_content3_content3-tracked which remote deleted
+  use (c)hanged version or (d)elete? c
+  local changed content1_missing_content3_content4-tracked which remote deleted
+  use (c)hanged version or (d)elete? c
+  local changed content1_missing_missing_content4-tracked which remote deleted
+  use (c)hanged version or (d)elete? c
+  merging missing_content2_content2_content4-tracked
+  merging missing_content2_content3_content3-tracked
+  merging missing_content2_content3_content4-tracked
+  merging missing_content2_missing_content4-tracked
+  merging missing_content2_missing_content4-untracked
+  warning: conflicts while merging content1_content2_content1_content4-tracked! (edit, then use 'hg resolve --mark')
+  warning: conflicts while merging content1_content2_content2_content4-tracked! (edit, then use 'hg resolve --mark')
+  warning: conflicts while merging content1_content2_content3_content3-tracked! (edit, then use 'hg resolve --mark')
+  warning: conflicts while merging content1_content2_content3_content4-tracked! (edit, then use 'hg resolve --mark')
+  warning: conflicts while merging content1_content2_missing_content4-tracked! (edit, then use 'hg resolve --mark')
+  warning: conflicts while merging missing_content2_content2_content4-tracked! (edit, then use 'hg resolve --mark')
+  warning: conflicts while merging missing_content2_content3_content3-tracked! (edit, then use 'hg resolve --mark')
+  warning: conflicts while merging missing_content2_content3_content4-tracked! (edit, then use 'hg resolve --mark')
+  warning: conflicts while merging missing_content2_missing_content4-tracked! (edit, then use 'hg resolve --mark')
+  warning: conflicts while merging missing_content2_missing_content4-untracked! (edit, then use 'hg resolve --mark')
+  [1]
+  $ checkstatus > $TESTTMP/status2 2>&1
+  $ diff -U8 $TESTTMP/status1 $TESTTMP/status2