#!/bin/bash

# ptyGitSubTreePull - Git subtree pull 스크립트
# 사용법: ptyGitSubTreePull <폴더명> [브랜치명]
# 예시: ptyGitSubTreePull ptyLibrary_PHP

if [ -z "$1" ]; then
    echo "사용법: ptyGitSubTreePull <폴더명> [브랜치명]"
    echo "예시: ptyGitSubTreePull ptyLibrary_PHP"
    exit 1
fi

FOLDER_NAME="$1"
BRANCH="${2:-main}"

# 폴더가 존재하는지 확인
if [ ! -d "$FOLDER_NAME" ]; then
    echo "오류: '$FOLDER_NAME' 폴더가 존재하지 않습니다."
    exit 1
fi

# remote가 등록되어 있는지 확인
if ! git remote get-url "$FOLDER_NAME" > /dev/null 2>&1; then
    echo "오류: '$FOLDER_NAME' remote가 등록되어 있지 않습니다."
    echo "먼저 ptyGitSubTreeAdd로 subtree를 추가하거나, git remote add로 remote를 등록하세요."
    exit 1
fi

echo "Subtree pull 중..."
echo "  폴더: $FOLDER_NAME"
echo "  브랜치: $BRANCH"
echo ""

git subtree pull --prefix="$FOLDER_NAME" "$FOLDER_NAME" "$BRANCH" --squash

if [ $? -eq 0 ]; then
    echo ""
    echo "완료: '$FOLDER_NAME' subtree가 업데이트되었습니다."
else
    echo ""
    echo "오류: subtree pull에 실패했습니다."
    exit 1
fi
