#!/bin/sh # script/install-precommit: install the git pre-commit hook that runs # script/precommit. Our own extension to scripts-to-rule-them-all. # Hooks are shared between the main checkout and all worktrees, so # resolve the common git dir instead of assuming .git is a directory. set -eu ROOT="$(cd "$(dirname "$0")/.." && pwd -P)" main() { cd "$ROOT" hooks_dir="$(git rev-parse --git-common-dir)/hooks" mkdir -p "$hooks_dir" hook="$hooks_dir/pre-commit" printf '#!/bin/sh\nset -e\nscript/precommit\n' > "$hook" chmod +x "$hook" echo "pre-commit hook installed: runs script/precommit" } main "$@"