mirror of
https://github.com/ossrs/srs.git
synced 2025-02-13 11:51:57 +00:00
95 lines
2.7 KiB
Bash
Executable file
95 lines
2.7 KiB
Bash
Executable file
#!/bin/bash
|
||
|
||
#############################################
|
||
# help for the first checkout.
|
||
#############################################
|
||
function first_checkout()
|
||
{
|
||
mirror_name=$1
|
||
git_url=$2
|
||
project_dir=$3
|
||
sync_script=$4
|
||
|
||
failed_msg "当前分支不是${mirror_name}镜像";
|
||
|
||
cat <<END
|
||
创建${mirror_name}镜像的过程如下:
|
||
1. 在${mirror_name}上创建项目,
|
||
可创建空项目,或从https://github.com/winlinvip/simple-rtmp-server拷贝过来。
|
||
2. 在本地虚拟机上:
|
||
git clone $git_url
|
||
cd $project_dir && git checkout master && git branch 1.0release && git push origin 1.0release
|
||
3. 创建同步的branch:
|
||
git remote add upstream https://github.com/winlinvip/simple-rtmp-server.git
|
||
git fetch upstream
|
||
git checkout upstream/master -b srs.master
|
||
git checkout upstream/1.0release -b srs.1.0release
|
||
4. 执行本同步更新脚本,更新。
|
||
bash $sync_script
|
||
END
|
||
}
|
||
|
||
#############################################
|
||
# branch master
|
||
#############################################
|
||
function sync_master()
|
||
{
|
||
for ((;;)); do
|
||
git checkout srs.master && git pull
|
||
ret=$?; if [[ 0 -ne $ret ]]; then
|
||
failed_msg "(master)更新github分支失败,自动重试";
|
||
continue
|
||
else
|
||
ok_msg "(master)更新github分支成功"
|
||
fi
|
||
break
|
||
done
|
||
|
||
git checkout master && git merge srs.master
|
||
ret=$?; if [[ 0 -ne $ret ]]; then failed_msg "(master)合并github分支失败, ret=$ret"; exit $ret; fi
|
||
ok_msg "(master)合并github分支成功"
|
||
}
|
||
|
||
#############################################
|
||
# branch 1.0release
|
||
#############################################
|
||
function sync_1_0_release()
|
||
{
|
||
for ((;;)); do
|
||
git checkout srs.1.0release && git pull
|
||
ret=$?; if [[ 0 -ne $ret ]]; then
|
||
failed_msg "(1.0release)更新github分支失败,自动重试";
|
||
continue
|
||
else
|
||
ok_msg "(1.0release)更新github分支成功"
|
||
fi
|
||
break
|
||
done
|
||
|
||
git checkout 1.0release && git merge srs.1.0release
|
||
ret=$?; if [[ 0 -ne $ret ]]; then failed_msg "(1.0release)合并github分支失败, ret=$ret"; exit $ret; fi
|
||
ok_msg "(1.0release)合并github分支成功"
|
||
}
|
||
|
||
#############################################
|
||
# push
|
||
#############################################
|
||
function sync_push()
|
||
{
|
||
mirror_name=$1
|
||
|
||
for ((;;)); do
|
||
git push
|
||
ret=$?; if [[ 0 -ne $ret ]]; then
|
||
failed_msg "提交${mirror_name}分支失败,自动重试";
|
||
continue
|
||
else
|
||
ok_msg "提交${mirror_name}分支成功"
|
||
fi
|
||
break
|
||
done
|
||
|
||
git checkout master
|
||
ok_msg "${mirror_name}同步git成功"
|
||
}
|
||
|