30 lines
607 B
Bash
30 lines
607 B
Bash
|
|
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
HOOKS_DIR=".githooks"
|
|
GIT_HOOKS_DIR=".git/hooks"
|
|
|
|
echo "Installing git hooks..."
|
|
|
|
# Create .git/hooks directory if it doesn't exist
|
|
mkdir -p "$GIT_HOOKS_DIR"
|
|
|
|
# Symlink all hooks from .githooks to .git/hooks
|
|
for hook in "$HOOKS_DIR"/*; do
|
|
hook_name=$(basename "$hook")
|
|
target="$GIT_HOOKS_DIR/$hook_name"
|
|
|
|
# Remove existing hook or symlink
|
|
[ -e "$target" ] && rm "$target"
|
|
|
|
# Create symlink
|
|
ln -s "../../$HOOKS_DIR/$hook_name" "$target"
|
|
chmod +x "$hook"
|
|
|
|
echo "✅ Installed $hook_name"
|
|
done
|
|
|
|
echo "Git hooks installed successfully!"
|