#!/bin/bash
# 用于将 dev 分支合并到 prod 分支，保留 prod 配置文件版本
# 支持第一次对齐历史 & 后续增量合并
# 使用方法：
#   sh merge_dev_to_pro.sh first    # 第一次合并
#   sh merge_dev_to_pro.sh          # 以后正常合并

CONFIG_FILES=("Jenkinsfile" "Dockerfile" "nginx.conf")

# 确保脚本在项目根目录运行
if [ ! -d .git ]; then
    echo "❌ 请在 Git 项目根目录运行此脚本"
    exit 1
fi

# 1. 更新两个分支
echo "📦 更新本地分支..."
git checkout prod && git pull origin prod
git checkout dev && git pull origin dev

# 2. 切回 pro 分支
git checkout prod

# 3. 第一次合并（建立历史关系）
if [ "$1" == "first" ]; then
    echo "🚀 第一次对齐历史，准备合并 dev..."
    git merge dev --no-commit
else
    echo "🔄 增量合并 dev..."
    git merge dev --no-commit
fi

# 4. 保留 prod 分支的配置文件
echo "🛡 保留 prod 配置文件版本..."
for file in "${CONFIG_FILES[@]}"; do
    if [ -f "$file" ]; then
        git checkout --ours "$file"
        git add "$file"
        echo "  ✅ 已保留 $file"
    else
        echo "  ⚠️ $file 在当前分支不存在，跳过"
    fi
done

# 5. 提交合并
git commit -m "Merge dev into prod (keep prod config files)"
git push origin prod

echo "✅ 合并完成！"
