#! /bin/sh # # Initialize the local git hooks this repository. # https://git-scm.com/docs/githooks topLevel=$(git rev-parse --show-toplevel) if ! cd "${topLevel}"; then echo "filed to cd into topLevel directory '${topLevel}'" exit 1 fi hooksDir="${topLevel}/.githooks" if ! hooksPath=$(git config core.hooksPath); then hooksPath="${topLevel}/.git/hooks" fi src="${hooksDir}/generic" echo "linking hooks..." for hook in \ applypatch-msg \ pre-applypatch \ post-applypatch \ pre-commit \ pre-merge-commit \ prepare-commit-msg \ commit-msg \ post-commit \ pre-rebase \ post-checkout \ post-merge \ pre-push \ pre-receive \ update \ post-receive \ post-update \ push-to-checkout \ pre-auto-gc \ post-rewrite \ sendemail-validate \ fsmonitor-watchman \ p4-pre-submit \ post-index-change do echo " ${hook}" dest="${hooksPath}/${hook}" ln -sf "${src}" "${dest}" done