###
 # @Author: wangyingliang@yonyou.com
 # @Date: 2024-03-29 11:14:20
 # @LastEditors: wangyingliang wangyingliang@yonyou.com
 # @LastEditTime: 2024-04-18 17:02:56
 # @FilePath: /mtl-api-project/git-shell.sh
 # @Description: git 仓库操作
 # Copyright (c) 2024 by Yonyou, All Rights Reserved.
### 

### 
 # 同步dev分支代码到 develop、daily、release
### 
function synchroGitData() {
    clear

    echo "$gitCodeBranchName 开始向 develop 分支同步"
    git checkout develop
    git rebase $gitCodeBranchName
    git push
    echo "develop 分支同步完成"
    
    echo "$gitCodeBranchName 开始向 daily 分支同步"
    git checkout daily
    git rebase $gitCodeBranchName
    git push
    echo "daily 分支同步完成"

    echo "$gitCodeBranchName 开始向 release 分支同步"
    git checkout release
    git rebase $gitCodeBranchName
    git push
    echo "release 分支同步完成"
    exit 2
}

function synchroDevelopGitData() {
    clear

    echo "$gitCodeBranchName 开始向 develop 分支同步"
    git checkout develop
    git rebase $gitCodeBranchName
    git push
    echo "develop 分支同步完成"

    exit 2
}

function synchroDailyGitData() {
    clear

    echo "$gitCodeBranchName 开始向 daily 分支同步"
    git checkout daily
    git rebase $gitCodeBranchName
    git push
    echo "daily 分支同步完成"

    exit 2
}

function synchroReleaseGitData() {
    clear

    echo "$gitCodeBranchName 开始向 release 分支同步"
    git checkout release
    git rebase $gitCodeBranchName
    git push
    echo "release 分支同步完成"

    exit 2
}

echo "请依次输入要进行的\033[31m操作标识符\033[0m\n"
echo "\033[31m1\033[0m表示\033[31m：同步dev分支代码到 develop、daily、release\033[0m"
echo "\033[31m2\033[0m表示\033[31m：同步dev分支代码到 develop\033[0m"
echo "\033[31m2\033[0m表示\033[31m：同步dev分支代码到 daily\033[0m"
echo "\033[31m3\033[0m表示\033[31m：同步dev分支代码到 release\033[0m\n"

read -p "操作标识符: " handleNum
read -p "请输入需要同步的分支名称: " gitCodeBranchName

#获取上一级目录中的文件
all=$(ls $(dirname $(pwd)))

# #判断输入分支名称
# if [ $handleNum -eq 1 -o $handleNum -eq 2 ]; then
#     read -p "请输入分支名称:" newBranchName
# fi

#根据指令执行函数
for i in $all; do
    echo "handleNum：$handleNum"
    if [ $handleNum -eq 1 ]; then
        synchroGitData $gitCodeBranchName
    elif [ $handleNum -eq 2 ]; then
        synchroDevelopGitData $gitCodeBranchName
    elif [ $handleNum -eq 3 ]; then
        synchroDailyGitData $gitCodeBranchName
    elif [ $handleNum -eq 4 ]; then
        synchroReleaseGitData $gitCodeBranchName
    fi

done