From f2967b666974c6622717a064060e546129e11e37 Mon Sep 17 00:00:00 2001 From: Oleg Pudeyev Date: Wed, 4 Apr 2012 00:01:08 -0400 Subject: [ticket/10760] Catch both versions of parse error output in php. PHPBB3-10760 --- git-tools/hooks/pre-commit | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'git-tools') diff --git a/git-tools/hooks/pre-commit b/git-tools/hooks/pre-commit index a0c2b6b247..bb667bf8ff 100755 --- a/git-tools/hooks/pre-commit +++ b/git-tools/hooks/pre-commit @@ -92,6 +92,20 @@ unset IFS if [ $error -eq 1 ] then echo "PHP Syntax check failed:" + # php "display errors" (display_errors php.ini value) + # and "log errors" (log_errors php.ini value). + # these are independent settings - see main/main.c in php source. + # the "log errors" setting produces output which + # starts with "PHP Parse error:"; the "display errors" + # setting produces output starting with "Parse error:". + # if both are turned on php dumps the parse error twice. + # therefore here we try to grep for one version and + # if that yields no results grep for the other version. $echo_e "$errors" | grep "^Parse error:" + if [ $? -ne 0 ] + then + # match failed + $echo_e "$errors" | grep "^PHP Parse error:" + fi exit 1 fi -- cgit v1.2.1