summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2012-02-25 18:34:26 +0100
committerJunio C Hamano <gitster@pobox.com>2012-02-26 16:32:54 -0800
commitf0c5793b37a53992611968ab4a1d62a0e3edc2dd (patch)
tree56d00d3f93f74032aa45899a931dd6f4872bb082 /t
parentad687b447a87efaf61c39075da2ef81b85715186 (diff)
downloadgit-f0c5793b37a53992611968ab4a1d62a0e3edc2dd.tar.gz
am: don't infloop for an empty input file
git-am.sh's check_patch_format function would attempt to preview the patch to guess its format, but would go into an infinite loop when the patch file happened to be empty. The solution: exit the loop when "read" fails, not when the line var, "$l1" becomes empty. Signed-off-by: Jim Meyering <meyering@redhat.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-xt/t4150-am.sh10
1 files changed, 10 insertions, 0 deletions
diff --git a/t/t4150-am.sh b/t/t4150-am.sh
index d7d9ccc1c8..03eee07ffb 100755
--- a/t/t4150-am.sh
+++ b/t/t4150-am.sh
@@ -495,4 +495,14 @@ test_expect_success 'am -q is quiet' '
! test -s output.out
'
+test_expect_success 'am empty-file does not infloop' '
+ rm -fr .git/rebase-apply &&
+ git reset --hard &&
+ touch empty-file &&
+ test_tick &&
+ { git am empty-file > actual 2>&1 && false || :; } &&
+ echo Patch format detection failed. >expected &&
+ test_cmp expected actual
+'
+
test_done