diff --git a/com.twin.app.shoptime/compare-branches.sh b/com.twin.app.shoptime/compare-branches.sh new file mode 100755 index 00000000..795bcef1 --- /dev/null +++ b/com.twin.app.shoptime/compare-branches.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +# 브랜치 비교 스크립트 +# 사용법: ./compare-branches.sh <파일경로> [브랜치1] [브랜치2] + +FILE_PATH=$1 +BRANCH1=${2:-develop} +BRANCH2=${3:-feature/si_log} + +if [ -z "$FILE_PATH" ]; then + echo "❌ 사용법: ./compare-branches.sh <파일경로> [브랜치1] [브랜치2]" + echo "" + echo "예시:" + echo " ./compare-branches.sh src/App/deepLinkHandler.js" + echo " ./compare-branches.sh src/actions/logActions.js develop develop_si" + exit 1 +fi + +FILENAME=$(basename "$FILE_PATH") +TEMP_DIR="/tmp/branch_compare" + +# 브랜치 이름에서 슬래시를 언더스코어로 변경 +BRANCH1_SAFE=$(echo "$BRANCH1" | sed 's/\//_/g') +BRANCH2_SAFE=$(echo "$BRANCH2" | sed 's/\//_/g') + +mkdir -p "$TEMP_DIR" + +echo "🔍 비교 중..." +echo " 📂 파일: $FILE_PATH" +echo " 🌿 브랜치1: $BRANCH1" +echo " 🌿 브랜치2: $BRANCH2" +echo "" + +git show "$BRANCH1:com.twin.app.shoptime/$FILE_PATH" > "$TEMP_DIR/${FILENAME}_${BRANCH1_SAFE}" 2>/dev/null +if [ $? -ne 0 ]; then + echo "❌ 오류: $BRANCH1 브랜치에서 파일을 찾을 수 없습니다." + exit 1 +fi + +git show "$BRANCH2:com.twin.app.shoptime/$FILE_PATH" > "$TEMP_DIR/${FILENAME}_${BRANCH2_SAFE}" 2>/dev/null +if [ $? -ne 0 ]; then + echo "❌ 오류: $BRANCH2 브랜치에서 파일을 찾을 수 없습니다." + exit 1 +fi + +echo "✅ 파일 추출 완료!" +echo "📊 라인 수:" +wc -l "$TEMP_DIR/${FILENAME}_${BRANCH1_SAFE}" "$TEMP_DIR/${FILENAME}_${BRANCH2_SAFE}" +echo "" +echo "🎨 Cursor에서 비교 화면 열기..." + +code --diff "$TEMP_DIR/${FILENAME}_${BRANCH1_SAFE}" "$TEMP_DIR/${FILENAME}_${BRANCH2_SAFE}" + +echo "✨ 완료!" +