summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Tan <pyokagan@gmail.com>2015-07-19 23:49:08 +0800
committerJunio C Hamano <gitster@pobox.com>2015-07-20 10:51:02 -0700
commitab156128fa0e3fc70a40f367abdf3f601c3ba611 (patch)
tree9f29e4c2bd511c52c69a07868d2eca63c390f749
parent8528bf4b89650dc7312ae48f32dac3f1c7ab9a65 (diff)
downloadgit-ab156128fa0e3fc70a40f367abdf3f601c3ba611.tar.gz
t4150: am fails if index is dirty
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. Reviewed-by: Stefan Beller <sbeller@google.com> Reviewed-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Paul Tan <pyokagan@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xt/t4150-am.sh12
1 files changed, 12 insertions, 0 deletions
diff --git a/t/t4150-am.sh b/t/t4150-am.sh
index 264f53f511..a85e06aa03 100755
--- a/t/t4150-am.sh
+++ b/t/t4150-am.sh
@@ -154,6 +154,18 @@ 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 -f dirtyfile" &&
+ rm -fr .git/rebase-apply &&
+ git reset --hard &&
+ git checkout 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 &&