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