#!/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