Add pre-commit hook with installer

Will enable pep8 once all the problems are gone
This commit is contained in:
Daniel Martí 2014-05-28 09:28:28 +02:00
parent 1d5280d528
commit 709ead7db7
2 changed files with 64 additions and 0 deletions

30
hooks/install-hooks.sh Executable file
View File

@ -0,0 +1,30 @@
#!/bin/sh
#
# Install all the client hooks
BASE_DIR="$(cd $(dirname $0); pwd -P)"
HOOK_NAMES="applypatch-msg pre-applypatch post-applypatch pre-commit prepare-commit-msg commit-msg post-commit pre-rebase post-checkout post-merge pre-receive update post-receive post-update pre-auto-gc"
HOOK_DIR="$(git rev-parse --show-toplevel)/.git/hooks"
for hook in $HOOK_NAMES; do
shipped_hook="$BASE_DIR/$hook"
installed_hook="$HOOK_DIR/$hook"
# If we don't distribute it, continue
if [ ! -f "$shipped_hook" ]; then
continue
fi
if [ -h "$installed_hook" ]; then
echo "$installed_hook is a symlink - replacing."
elif [ -e "$installed_hook" ]; then
echo "$installed_hook hook already exists."
continue
fi
# Create the symlink
echo "ln -s -f \"$shipped_hook\" \"$installed_hook\""
ln -s -f "$shipped_hook" "$installed_hook"
done

34
hooks/pre-commit Executable file
View File

@ -0,0 +1,34 @@
#!/bin/sh
#
# Simple pre-commit hook to check that there are no errors in the fdroid
# metadata files.
# Redirect output to stderr.
exec 1>&2
FILES="fdroid makebuildserver examples/*.py fdroidserver/*.py"
cmd_exists() {
command -v $1 1>/dev/null
}
# For systems that switched to python3, first check for the python2 versions
if cmd_exists pyflakes-python2; then
PYFLAKES=pyflakes-python2
elif cmd_exists pyflakes; then
PYFLAKES=pyflakes
else
echo "pyflakes is not installed!"
fi
if cmd_exists pep8-python2; then
PEP8=pep8-python2
elif cmd_exists pep8; then
PEP8=pep8
else
echo "pep8 is not installed!"
fi
# If there are python errors or warnings, print them and fail.
[ -n "$PYFLAKES" ] && $PYFLAKES $FILES
#[ -n "$PEP8" ] && $PEP8 --ignore=E123,E501 $FILES