aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/scripts/setup-hooks.sh
diff options
context:
space:
mode:
authorEgor Tensin <egor@tensin.name>2026-06-13 00:45:34 +0200
committerEgor Tensin <egor@tensin.name>2026-06-13 00:45:34 +0200
commit9ca286eb6899445e6283688f3a85d82f496ede7b (patch)
tree131af5ba9fbb2ff54a6ee0de44e919c0262d02ae /scripts/setup-hooks.sh
parentadd .git-blame-ignore-revs (diff)
downloadprivilege-check-9ca286eb6899445e6283688f3a85d82f496ede7b.tar.gz
privilege-check-9ca286eb6899445e6283688f3a85d82f496ede7b.zip
add scripts to setup git hooks
Diffstat (limited to 'scripts/setup-hooks.sh')
-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