format-patch: give --reroll-count a short synonym -v
[gitweb.git] / t / t4117-apply-reject.sh
index 1cf9a2e7a7a0fe4cea4b68ab4792ac26b3247bb5..8e15ecbdfdb497fcaa077fd1e6b3f882c9a46cb4 100755 (executable)
@@ -3,7 +3,7 @@
 # Copyright (c) 2005 Junio C Hamano
 #
 
-test_description='git-apply with rejects
+test_description='git apply with rejects
 
 '
 
@@ -46,6 +46,14 @@ test_expect_success setup '
        cat file1 >saved.file1
 '
 
+test_expect_success 'apply --reject is incompatible with --3way' '
+       test_when_finished "cat saved.file1 >file1" &&
+       git diff >patch.0 &&
+       git checkout file1 &&
+       test_must_fail git apply --reject --3way patch.0 &&
+       git diff --exit-code
+'
+
 test_expect_success 'apply without --reject should fail' '
 
        if git apply patch.1
@@ -54,7 +62,18 @@ test_expect_success 'apply without --reject should fail' '
                exit 1
        fi
 
-       diff -u file1 saved.file1
+       test_cmp file1 saved.file1
+'
+
+test_expect_success 'apply without --reject should fail' '
+
+       if git apply --verbose patch.1
+       then
+               echo "Eh? Why?"
+               exit 1
+       fi
+
+       test_cmp file1 saved.file1
 '
 
 test_expect_success 'apply with --reject should fail but update the file' '
@@ -68,7 +87,7 @@ test_expect_success 'apply with --reject should fail but update the file' '
                exit 1
        fi
 
-       diff -u file1 expected &&
+       test_cmp file1 expected &&
 
        cat file1.rej &&
 
@@ -94,7 +113,34 @@ test_expect_success 'apply with --reject should fail but update the file' '
                echo "file1 still exists?"
                exit 1
        }
-       diff -u file2 expected &&
+       test_cmp file2 expected &&
+
+       cat file2.rej &&
+
+       if test -f file1.rej
+       then
+               echo "file2 should not have been touched"
+               exit 1
+       fi
+
+'
+
+test_expect_success 'the same test with --verbose' '
+
+       cat saved.file1 >file1 &&
+       rm -f file1.rej file2.rej file2 &&
+
+       if git apply --reject --verbose patch.2 >rejects
+       then
+               echo "succeeds with --reject?"
+               exit 1
+       fi
+
+       test -f file1 && {
+               echo "file1 still exists?"
+               exit 1
+       }
+       test_cmp file2 expected &&
 
        cat file2.rej &&
 
@@ -106,4 +152,14 @@ test_expect_success 'apply with --reject should fail but update the file' '
 
 '
 
+test_expect_success 'apply cleanly with --verbose' '
+
+       git cat-file -p HEAD:file1 >file1 &&
+       rm -f file?.rej file2 &&
+
+       git apply --verbose patch.1 &&
+
+       test_cmp file1 clean
+'
+
 test_done