#!/bin/bash

#echo $0    # 当前脚本的文件名(间接运行时还包括绝对路径)。
#echo $n    # 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是 $1 。
#echo $#    # 传递给脚本或函数的参数个数。
#echo $*    # 传递给脚本或函数的所有参数。
#echo $@    # 传递给脚本或函数的所有参数。被双引号 (" ") 包含时,与 $* 不同,下面将会讲到。
#echo $?    # 上个命令的退出状态,或函数的返回值。
#echo $$    # 当前 Shell 进程 ID。对于 Shell 脚本,就是这些脚本所在的进程 ID。
#echo $_    # 上一个命令的最后一个参数
#echo $!    # 后台运行的最后一个进程的 ID 号

usage () {
    echo "e.g. ./gitpulls.sh master master master master master master
    使用说明,参数要和下面库顺序一致,自动切换分支并更新如下库:
    BFAnalyzeKit
    BFCommonKit
    BFFramework
    BFMaterialKit
    BFNetRequestKit
    BFUIKit"
    echo "参数为空或个数不对,查看使用说明。"
    exit 0
}
echo '正确参数为6个,现输入:' $# '个' 
if (($# < 6)); then
    usage
fi
 

##更新所有库,1,进入到指定目录,2,切换指定分支,3,更新代码 4,回到上层目录
cd ../BFAnalyzeKit
git checkout $1
git pull
cd ..

cd ./BFCommonKit
git checkout $2
git pull
cd ..

cd ./BFFramework
git checkout $3
git pull
cd ..


cd ./BFMaterialKit
git checkout $4
git pull
cd ..

cd ./BFNetRequestKit
git checkout $5
git pull
cd ..

cd ./BFUIKit
git checkout $6
git pull
cd ..
 

echo "pull is done ..."