Since d1c5f2a (Add git-am, applymbox replacement., 2005-10-07), git-am
will ensure that the index is clean before applying the patch. This is
to prevent changes unrelated to the patch from being committed.
Add a test for this check.
Cc: Junio C Hamano <redacted>
Signed-off-by: Paul Tan <redacted>
---
t/t4150-am.sh | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/t/t4150-am.sh b/t/t4150-am.sh
index 3f54bdf..0a19136 100755
--- a/t/t4150-am.sh
+++ b/t/t4150-am.sh
@@ -154,6 +154,17 @@ test_expect_success 'am applies patch correctly' '
test "$(git rev-parse second^)" = "$(git rev-parse HEAD^)"
'
+test_expect_success 'am fails if index is dirty' '
+ test_when_finished "rm -fr dirtyfile" &&
+ rm -fr .git/rebase-apply &&
+ git checkout -f first &&
+ echo dirtyfile >dirtyfile &&
+ git add dirtyfile &&
+ test_must_fail git am patch1 &&
+ test_path_is_dir .git/rebase-apply &&
+ test_cmp_rev first HEAD
+'
+
test_expect_success 'am applies patch e-mail not in a mbox' '
rm -fr .git/rebase-apply &&
git reset --hard &&
--
2.5.0.rc1.81.gfe77482