tests/test-casecollision-merge.t
branchstable
changeset 17889 ce7bc04d863b
parent 16492 774e2dcd0a65
child 19104 370d9ea027b1
--- a/tests/test-casecollision-merge.t	Tue Oct 30 13:19:06 2012 -0700
+++ b/tests/test-casecollision-merge.t	Wed Oct 31 16:50:22 2012 +0900
@@ -11,8 +11,8 @@
 (1) colliding file is one renamed from collided file:
 this is also case for issue3370.
 
-  $ hg init merge_renameaware_1
-  $ cd merge_renameaware_1
+  $ hg init branch_merge_renaming
+  $ cd branch_merge_renaming
 
   $ echo a > a
   $ hg add a
@@ -53,8 +53,8 @@
 
 (2) colliding file is not related to collided file
 
-  $ hg init merge_renameaware_2
-  $ cd merge_renameaware_2
+  $ hg init branch_merge_collding
+  $ cd branch_merge_collding
 
   $ echo a > a
   $ hg add a
@@ -66,22 +66,26 @@
   $ hg commit -m '#2'
   $ hg update --clean 0
   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
-  $ echo 'modified at #3' > a
+  $ echo x > x
+  $ hg add x
   $ hg commit -m '#3'
   created new head
+  $ echo 'modified at #4' > a
+  $ hg commit -m '#4'
 
   $ hg merge
   abort: case-folding collision between A and a
   [255]
   $ hg parents --template '{rev}\n'
-  3
+  4
   $ hg status -A
   C a
+  C x
   $ cat a
-  modified at #3
+  modified at #4
 
   $ hg update --clean 2
-  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  1 files updated, 0 files merged, 2 files removed, 0 files unresolved
   $ hg merge
   abort: case-folding collision between a and A
   [255]
@@ -92,6 +96,29 @@
   $ cat A
   A
 
+test for deletion awareness of case-folding collision check (issue3648):
+revision '#3' doesn't change 'a', so 'a' should be recognized as
+safely removed in merging between #2 and #3.
+
+  $ hg update --clean 3
+  2 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  $ hg merge 2
+  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
+  $ hg status -A
+  M A
+  R a
+  C x
+
+  $ hg update --clean 2
+  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  $ hg merge 3
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
+  $ hg status -A
+  M x
+  C A
+
   $ cd ..