#!/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 for the repository's own git directory: .git is a file, not
    # a directory, in some checkouts (for example a clone made with
    # --separate-git-dir). core.hooksPath is deliberately not followed, so
    # the hook is never written outside this repository.
    hooks="$(git rev-parse --git-common-dir)/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 "$@"
