diff --git a/pre-commit b/pre-commit new file mode 100644 index 00000000..cfa24e96 --- /dev/null +++ b/pre-commit @@ -0,0 +1,25 @@ +#!/bin/sh +# stash unstaged changes, run release task, stage release updates and restore stashed files + +NAME=$(git branch | grep '*' | sed 's/* //') + +# don't run on rebase +if [ $NAME != '(no branch)' ] +then + NOT_STAGED=$(git status | grep 'not staged') + # if [ "${NOT_STAGED#*not staged}" != "$NOT_STAGED" ] + if [ "$NOT_STAGED" != "" ] + then + echo "Unclean directory, aborting commit. Run git status." + exit 1 + fi + + grunt precommit + RETVAL=$? + + if [ $RETVAL -ne 0 ] + then + echo "grunt test failed, aborting commit. Run grunt test" + exit 1 + fi +fi \ No newline at end of file