#!/bin/bash
#==============================================================================
# post-checkout hook
# 브랜치 체크아웃 시 core.hooksPath 자동 설정
# clone/checkout 후 .githooks 디렉토리가 있으면 자동으로 hooksPath 설정
#==============================================================================

# post-checkout 파라미터: prev_HEAD, new_HEAD, branch_flag
# branch_flag=1: 브랜치 체크아웃, 0: 파일 체크아웃
BRANCH_FLAG="$3"

# 파일 체크아웃은 건너뜀
if [ "$BRANCH_FLAG" = "0" ]; then
    exit 0
fi

# .githooks 디렉토리 존재 확인
REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null)
if [ -d "${REPO_ROOT}/.githooks" ]; then
    CURRENT_HOOKS_PATH=$(git config core.hooksPath 2>/dev/null || echo "")
    if [ "$CURRENT_HOOKS_PATH" != ".githooks" ]; then
        git config core.hooksPath .githooks
        chmod +x "${REPO_ROOT}/.githooks/"* 2>/dev/null
    fi
fi
