#!/bin/bash

hooks_dir="hooks"
git_hooks_dir="../.git/hooks"
color_highlight='\033[1;95m'
color_none='\033[0m'

echo -e "${color_highlight}Setting up git hooks in $git_hooks_dir...${color_none}"

for hook in "$hooks_dir"/*
do
    file_name=$(basename "$hook")
    echo -e "\tCopying ${color_highlight}$file_name${color_none} hook to $git_hooks_dir and making it executable"

    if [ "$1" = "--overwrite" ]; then
        echo -e "\t\toverwriting existing hook since ${color_highlight}--overwrite${color_none} option was used"
    else
        # if the pre-commit hook already exists, back up the existing one
        if [ -f "$git_hooks_dir"/"$file_name" ]; then
            backup_file_name="$file_name"-"$(date +%Y-%m-%d-%H-%M-%S)"
            echo -e "\t\tbacking up existing $file_name as $backup_file_name"
            mv "$git_hooks_dir"/"$file_name" "$git_hooks_dir"/"$backup_file_name"
        fi
    fi

    cp "$hook" "$git_hooks_dir"
    chmod +x "$git_hooks_dir"/"$file_name"
done

echo -e "${color_highlight}Finished setting up git hooks!${color_none}"
