2014-10-26 13:47:12 +00:00
|
|
|
#!/bin/sh
|
|
|
|
# Git pre-commit hook that runs multiple hooks specified in $HOOKS.
|
|
|
|
# Make sure this script is executable. Bypass hooks with git commit --no-verify.
|
|
|
|
|
|
|
|
# This file is inspired by a set of unofficial pre-commit hooks available
|
|
|
|
# at github.
|
|
|
|
# Link: https://github.com/githubbrowser/Pre-commit-hooks
|
|
|
|
# Contact: David Martin, david.martin.mailbox@googlemail.com
|
|
|
|
|
|
|
|
|
|
|
|
###########################################################
|
|
|
|
# SETTINGS:
|
|
|
|
# pre-commit hooks to be executed. They should be in the same .git/hooks/ folder
|
|
|
|
# as this script. Hooks should return 0 if successful and nonzero to cancel the
|
|
|
|
# commit. They are executed in the order in which they are listed.
|
|
|
|
###########################################################
|
|
|
|
|
2016-09-30 14:35:41 +00:00
|
|
|
HOOKS="hooks/pre-commit.hook hooks/pre-commit-python.hook"
|
2014-10-26 13:47:12 +00:00
|
|
|
|
|
|
|
# exit on error
|
|
|
|
set -e
|
|
|
|
|
|
|
|
echo $PWD
|
|
|
|
|
|
|
|
for hook in $HOOKS
|
|
|
|
do
|
|
|
|
echo "Running hook: $hook"
|
|
|
|
# run hook if it exists
|
|
|
|
# if it returns with nonzero exit with 1 and thus abort the commit
|
|
|
|
if [ -f "$PWD/$hook" ]; then
|
|
|
|
"$PWD/$hook"
|
|
|
|
if [ $? != 0 ]; then
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
echo "Error: file $hook not found."
|
|
|
|
echo "Aborting commit. Make sure the hook is at $PWD/$hook and executable."
|
|
|
|
echo "You can disable it by removing it from the list"
|
|
|
|
echo "You can skip all pre-commit hooks with --no-verify (not recommended)."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|