#!/bin/sh test_description='git apply should exit non-zero with unrecognized input.' . ./test-lib.sh test_expect_success 'setup' ' test_commit 1 ' test_expect_success 'apply --check exits non-zero with unrecognized input' ' test_must_fail git apply --check - <<-\EOF I am not a patch I look nothing like a patch git apply must fail EOF ' test_expect_success 'apply exits non-zero with no-op patch' ' cat >input <<-\EOF && diff --get a/1 b/1 index 6696ea4..606eddd 100644 --- a/1 +++ b/1 @@ -1,1 +1,1 @@ 1 EOF test_must_fail git apply --stat input && test_must_fail git apply --check input ' test_expect_success '`apply --recount` allows no-op patch' ' echo 1 >1 && git apply --recount --check <<-\EOF diff --get a/1 b/1 index 6696ea4..606eddd 100644 --- a/1 +++ b/1 @@ -1,1 +1,1 @@ 1 EOF ' test_expect_success 'invalid combination: create and copy' ' test_must_fail git apply --check - <<-\EOF diff --git a/1 b/2 new file mode 100644 copy from 1 copy to 2 EOF ' test_expect_success 'invalid combination: create and rename' ' test_must_fail git apply --check - <<-\EOF diff --git a/1 b/2 new file mode 100644 rename from 1 rename to 2 EOF ' test_done