#!/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" | python3 -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" | pycodestyle -) 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