--- 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 ..