Files
kvitt/tools/install-git-hooks.sh
T
2026-10-17 20:15:40 +02:00

16 lines
677 B
Bash
Executable File

#!/usr/bin/env bash
# Installs the Kvitt pre-commit hook into this repository's hooks folder (shared by all worktrees).
# The hook guards itself: on branches without the app build it only runs the export/ check.
set -euo pipefail
here="$(cd "$(dirname "$0")" && pwd)"
hooks="$(git -C "$here" rev-parse --path-format=absolute --git-common-dir)/hooks"
target="$hooks/pre-commit"
if [[ -e "$target" ]] && ! cmp -s "$here/git-hooks/pre-commit" "$target"; then
echo "A different pre-commit hook already exists at $target; not overwriting. Merge them by hand." >&2
exit 1
fi
mkdir -p "$hooks"
cp "$here/git-hooks/pre-commit" "$target"
chmod +x "$target"
echo "Installed $target"