Add pre-commit git hook to check code style
The hook automatically fixes most code style mistakes and should be installed once with: ```sh ln -s ../../bin/pre-commit .git/hooks/pre-commit ```
This commit is contained in:
parent
f0445366d2
commit
a23f681332
|
@ -0,0 +1,33 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
pass=true
|
||||||
|
|
||||||
|
files=$(git diff --cached --name-only --diff-filter=ACMR | grep -E '\.(php|phtml)$')
|
||||||
|
if [ "$files" != "" ]; then
|
||||||
|
|
||||||
|
# Run php syntax check before commit
|
||||||
|
while read -r file; do
|
||||||
|
php -l "$file"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
pass=false
|
||||||
|
fi
|
||||||
|
done <<< "$files"
|
||||||
|
|
||||||
|
# Run php-cs-fixer validation before commit
|
||||||
|
echo "$files" | xargs ./vendor/bin/php-cs-fixer fix --diff --config .php_cs.dist
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
pass=false
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Automatically add files that may have been fixed by php-cs-fixer
|
||||||
|
echo "$files" | xargs git add
|
||||||
|
fi
|
||||||
|
|
||||||
|
if $pass; then
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
echo "PRE-COMMIT HOOK FAILED:"
|
||||||
|
echo "Code style validation failed. Please fix errors and try committing again."
|
||||||
|
exit 1
|
||||||
|
fi
|
Loading…
Reference in New Issue