inkstitch/bin/git-pre-commit-hook

32 wiersze
561 B
Bash
Executable File

#!/bin/bash
# copy (DO NOT SYMLINK) this file to .git/hooks/pre-commit
# to check style on all modified files before allowing the commit to complete
#
# DO NOT SYMLINK
# DO NOT SYMLINK
# DO NOT SYMLINK (why? security risk)
check_errors() {
errors="$("$@")"
if [ "$?" != "0" ]; then
echo "$errors"
exit 1
fi
}
cd $(dirname "$0")/../..
check_errors git stash --keep-index
errors="$(git diff --cached | bin/style-check 2>&1)"
status=$?
if [ "$status" != "0" ]; then
echo "$errors"
fi
check_errors git stash pop
exit $status