X-Git-Url: http://git.scottworley.com/nix-env-apps/blobdiff_plain/b718bf5ead92dffaeadce6dbefc65e7188b7fb20..6f6187bfb0a55352aa2d2d67b6bfda48c3414c9a:/git-pre-commit-hook diff --git a/git-pre-commit-hook b/git-pre-commit-hook new file mode 100755 index 0000000..ce47614 --- /dev/null +++ b/git-pre-commit-hook @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +# Copy me to .git/hooks/pre-commit + +set -e + +cleanup() { + if [[ "$D" && -e "$D" ]];then + rm -rf "$D" + fi +} +trap cleanup EXIT + +D=$(mktemp -d) +[[ "$D" && -d "$D" ]] + +git checkout-index --prefix="$D/" -a +pushd "$D" + +# So we don't confuse the inner git invocations inside the tests with +# the outer git invocation that's trying to commit a change. +unset GIT_AUTHOR_DATE +unset GIT_AUTHOR_EMAIL +unset GIT_AUTHOR_NAME +unset GIT_CONFIG_PARAMETERS +unset GIT_EXEC_PATH +unset GIT_INDEX_FILE +unset GIT_PREFIX + +nix-shell --arg lint true --run './test.sh lint' + +popd