#!/bin/sh # script/install-precommit: install the git pre-commit hook that runs # script/precommit. Our own extension to scripts-to-rule-them-all. set -eu ROOT="$(cd "$(dirname "$0")/.." && pwd -P)" main() { cd "$ROOT" # Ask git where hooks live: .git is a file, not a directory, in some # checkouts (for example a clone made with --separate-git-dir). hooks="$(git rev-parse --git-path hooks)" mkdir -p "$hooks" hook="$hooks/pre-commit" printf '#!/bin/sh\nset -e\nscript/precommit\n' > "$hook" chmod +x "$hook" echo "pre-commit hook installed: runs script/precommit" } main "$@"