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>
This commit is contained in:
parent
ad687b447a
commit
f0c5793b37
@ -201,7 +201,7 @@ check_patch_format () {
|
||||
l1=
|
||||
while test -z "$l1"
|
||||
do
|
||||
read l1
|
||||
read l1 || break
|
||||
done
|
||||
read l2
|
||||
read l3
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user