aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/scripts/setup-hooks.sh
diff options
context:
space:
mode:
authorEgor Tensin <egor@tensin.name>2026-06-12 22:53:48 +0200
committerEgor Tensin <egor@tensin.name>2026-06-12 22:53:48 +0200
commit4ab00060b13257d4fb677238d4d350c711819c4b (patch)
treea69e6dd8400184ad3638422d6049681bb851ec22 /scripts/setup-hooks.sh
parentadd .git-blame-ignore-revs (diff)
downloadwinapi-common-4ab00060b13257d4fb677238d4d350c711819c4b.tar.gz
winapi-common-4ab00060b13257d4fb677238d4d350c711819c4b.zip
add scripts to setup git hooks
Diffstat (limited to '')
-rwxr-xr-xscripts/setup-hooks.sh31
1 files changed, 31 insertions, 0 deletions
diff --git a/scripts/setup-hooks.sh b/scripts/setup-hooks.sh
new file mode 100755
index 0000000..0530bd5
--- /dev/null
+++ b/scripts/setup-hooks.sh
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+
+set -o errexit -o nounset -o pipefail
+shopt -s inherit_errexit lastpipe
+
+script_dir="$( dirname -- "${BASH_SOURCE[0]}" )"
+script_dir="$( cd -- "$script_dir" && pwd )"
+
+setup_clang_format_hook() {
+ local gitdir
+ gitdir="$( git rev-parse --git-dir )"
+ local hooks_dir
+ hooks_dir="$gitdir/hooks"
+
+ local symlink_dest
+ symlink_dest="$( realpath "--relative-to=$hooks_dir" -- "$script_dir/pre-commit.sh" )"
+
+ ln -fs -- "$symlink_dest" "$hooks_dir/pre-commit"
+}
+
+setup_git_blame() {
+ git config blame.ignoreRevsFile .git-blame-ignore-revs
+}
+
+main() {
+ cd -- "$script_dir"
+ setup_clang_format_hook
+ setup_git_blame
+}
+
+main