Code

Merge branch 'maint'
[git.git] / t / t4130-apply-criss-cross-rename.sh
index 08c5f38b01c962121a8b5452bc304a555f610b15..7cfa2d6287ff7c6c0fc7fbc2e86fd622bbc901ce 100755 (executable)
@@ -15,14 +15,17 @@ create_file() {
 test_expect_success 'setup' '
        create_file file1 "File1 contents" &&
        create_file file2 "File2 contents" &&
-       git add file1 file2 &&
+       create_file file3 "File3 contents" &&
+       git add file1 file2 file3 &&
        git commit -m 1
 '
 
 test_expect_success 'criss-cross rename' '
        mv file1 tmp &&
        mv file2 file1 &&
-       mv tmp file2
+       mv tmp file2 &&
+       cp file1 file1-swapped &&
+       cp file2 file2-swapped
 '
 
 test_expect_success 'diff -M -B' '
@@ -31,8 +34,33 @@ test_expect_success 'diff -M -B' '
 
 '
 
-test_expect_failure 'apply' '
-       git apply diff
+test_expect_success 'apply' '
+       git apply diff &&
+       test_cmp file1 file1-swapped &&
+       test_cmp file2 file2-swapped
+'
+
+test_expect_success 'criss-cross rename' '
+       git reset --hard &&
+       mv file1 tmp &&
+       mv file2 file1 &&
+       mv file3 file2
+       mv tmp file3 &&
+       cp file1 file1-swapped &&
+       cp file2 file2-swapped &&
+       cp file3 file3-swapped
+'
+
+test_expect_success 'diff -M -B' '
+       git diff -M -B > diff &&
+       git reset --hard
+'
+
+test_expect_success 'apply' '
+       git apply diff &&
+       test_cmp file1 file1-swapped &&
+       test_cmp file2 file2-swapped &&
+       test_cmp file3 file3-swapped
 '
 
 test_done