#!/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