t4150: am refuses patches when paused
authorPaul Tan <pyokagan@gmail.com>
Sun, 19 Jul 2015 15:49:10 +0000 (23:49 +0800)
committerJunio C Hamano <gitster@pobox.com>
Mon, 20 Jul 2015 17:51:37 +0000 (10:51 -0700)
Since c95b138 (Fix git-am safety checks, 2006-09-15), when there is a
session in progress, git-am will check the command-line arguments and
standard input to ensure that the user does not pass it any patches.

Add a test for this.

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>
t/t4150-am.sh
index a85e06aa033d11fce4b561df559925febce7914f..c350967f026e72648c18a3db5ab217d4bfad79a5 100755 (executable)
@@ -397,6 +397,20 @@ test_expect_success 'am --abort removes a stray directory' '
        test_path_is_missing .git/rebase-apply
 '
 
+test_expect_success 'am refuses patches when paused' '
+       rm -fr .git/rebase-apply &&
+       git reset --hard &&
+       git checkout lorem2^^ &&
+
+       test_must_fail git am lorem-move.patch &&
+       test_path_is_dir .git/rebase-apply &&
+       test_cmp_rev lorem2^^ HEAD &&
+
+       test_must_fail git am <lorem-move.patch &&
+       test_path_is_dir .git/rebase-apply &&
+       test_cmp_rev lorem2^^ HEAD
+'
+
 test_expect_success 'am --resolved works' '
        echo goodbye >expected &&
        rm -fr .git/rebase-apply &&