Files
postgres-web/tools/githook/pre-commit
2019-01-17 21:26:41 +01:00

39 lines
828 B
Bash
Executable File

#!/bin/sh
if git rev-parse --verify HEAD >/dev/null 2>&1
then
against=HEAD
else
# Initial commit: diff against an empty tree object
against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
fi
FILES=$(git diff-index --name-only --diff-filter=ACMR --cached $against -- |egrep ".py$")
if [ "$FILES" != "" ]; then
# We want to look at the staged version only, so we have to run it once for
# each file.
E=0
for F in ${FILES}; do
P=$(git show ":$F" | python -c "import sys; compile(sys.stdin.read(), '/dev/null', 'exec')")
if [ "$?" != "0" ]; then
echo "Errors in $F"
echo $P
E=1
continue
fi
R=$(git show ":$F" | pep8 -)
if [ "$?" != "0" ]; then
echo "Errors in $F"
echo "$R"
E=1
fi
done
if [ "$E" != "0" ]; then
exit 1
fi
echo Basic python checks passed.
fi