mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
use multiple remote to commit and sync with csdn+oschina.
This commit is contained in:
parent
4c67ddca26
commit
131f598ab5
5 changed files with 40 additions and 177 deletions
|
@ -8,7 +8,7 @@ RED="\\e[31m"
|
||||||
GREEN="\\e[32m"
|
GREEN="\\e[32m"
|
||||||
YELLOW="\\e[33m"
|
YELLOW="\\e[33m"
|
||||||
BLACK="\\e[0m"
|
BLACK="\\e[0m"
|
||||||
POS="\\e[110G"
|
POS="\\e[100G"
|
||||||
|
|
||||||
# if need to log to file, change the log path.
|
# if need to log to file, change the log path.
|
||||||
if [[ ! $log ]]; then
|
if [[ ! $log ]]; then
|
||||||
|
|
|
@ -1,95 +0,0 @@
|
||||||
#!/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成功"
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,37 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
echo "更新CSDN镜像的脚本"
|
|
||||||
|
|
||||||
echo "argv[0]=$0"
|
|
||||||
if [[ ! -f $0 ]]; then
|
|
||||||
echo "directly execute the scripts on shell.";
|
|
||||||
work_dir=`pwd`
|
|
||||||
else
|
|
||||||
echo "execute scripts in file: $0";
|
|
||||||
work_dir=`dirname $0`; work_dir=`(cd ${work_dir} && pwd)`
|
|
||||||
fi
|
|
||||||
work_dir=`(cd ${work_dir}/.. && pwd)`
|
|
||||||
product_dir=$work_dir
|
|
||||||
|
|
||||||
# allow start script from any dir
|
|
||||||
cd $work_dir && git checkout master
|
|
||||||
|
|
||||||
. ${product_dir}/scripts/_log.sh
|
|
||||||
ret=$?; if [[ $ret -ne 0 ]]; then exit $ret; fi
|
|
||||||
ok_msg "导入脚本成功"
|
|
||||||
|
|
||||||
source $work_dir/scripts/_mirror.utils.sh
|
|
||||||
|
|
||||||
git remote -v|grep code.csdn.net >/dev/null 2>&1
|
|
||||||
ret=$?; if [[ 0 -ne $ret ]]; then
|
|
||||||
first_checkout "CSDN" \
|
|
||||||
"git@code.csdn.net:winlinvip/srs-csdn.git" \
|
|
||||||
"srs-csdn" "$work_dir/scripts/csdn.mirror.sh"
|
|
||||||
exit 0;
|
|
||||||
fi
|
|
||||||
|
|
||||||
sync_master
|
|
||||||
sync_1_0_release
|
|
||||||
sync_push "CSDN"
|
|
||||||
|
|
||||||
exit 0
|
|
|
@ -20,14 +20,46 @@ cd $work_dir && git checkout master
|
||||||
ret=$?; if [[ $ret -ne 0 ]]; then exit $ret; fi
|
ret=$?; if [[ $ret -ne 0 ]]; then exit $ret; fi
|
||||||
ok_msg "导入脚本成功"
|
ok_msg "导入脚本成功"
|
||||||
|
|
||||||
source $work_dir/scripts/_mirror.utils.sh
|
function remote_check()
|
||||||
|
{
|
||||||
|
remote=$1
|
||||||
|
url=$2
|
||||||
|
git remote -v| grep "$url" >/dev/null 2>&1
|
||||||
|
ret=$?; if [[ 0 -ne $ret ]]; then
|
||||||
|
echo "remote $remote not found, add by:"
|
||||||
|
echo " git remote add $remote $url"
|
||||||
|
exit -1
|
||||||
|
fi
|
||||||
|
ok_msg "remote $remote ok, url is $url"
|
||||||
|
}
|
||||||
|
remote_check origin git@github.com:winlinvip/simple-rtmp-server.git
|
||||||
|
remote_check srs.csdn git@code.csdn.net:winlinvip/srs-csdn.git
|
||||||
|
remote_check srs.oschina git@git.oschina.net:winlinvip/srs.oschina.git
|
||||||
|
|
||||||
git remote -v|grep github.com >/dev/null 2>&1
|
function sync_push()
|
||||||
ret=$?; if [[ 0 -ne $ret ]]; then
|
{
|
||||||
echo "current not under github.com branch"
|
repository=$1
|
||||||
exit -1;
|
branch=$2
|
||||||
fi
|
|
||||||
|
|
||||||
sync_push "Github"
|
for ((;;)); do
|
||||||
|
git push $repository $branch
|
||||||
|
ret=$?; if [[ 0 -ne $ret ]]; then
|
||||||
|
failed_msg "提交$repository/$branch分支失败,自动重试";
|
||||||
|
continue
|
||||||
|
else
|
||||||
|
ok_msg "提交$repository/$branch分支成功"
|
||||||
|
fi
|
||||||
|
break
|
||||||
|
done
|
||||||
|
ok_msg "$repository/$branch同步git成功"
|
||||||
|
}
|
||||||
|
|
||||||
|
sync_push origin master
|
||||||
|
sync_push origin 1.0release
|
||||||
|
sync_push srs.csdn master
|
||||||
|
sync_push srs.csdn 1.0release
|
||||||
|
sync_push srs.oschina master
|
||||||
|
sync_push srs.oschina 1.0release
|
||||||
|
ok_msg "sync push ok"
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
|
@ -1,37 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
echo "更新OSChina镜像的脚本"
|
|
||||||
|
|
||||||
echo "argv[0]=$0"
|
|
||||||
if [[ ! -f $0 ]]; then
|
|
||||||
echo "directly execute the scripts on shell.";
|
|
||||||
work_dir=`pwd`
|
|
||||||
else
|
|
||||||
echo "execute scripts in file: $0";
|
|
||||||
work_dir=`dirname $0`; work_dir=`(cd ${work_dir} && pwd)`
|
|
||||||
fi
|
|
||||||
work_dir=`(cd ${work_dir}/.. && pwd)`
|
|
||||||
product_dir=$work_dir
|
|
||||||
|
|
||||||
# allow start script from any dir
|
|
||||||
cd $work_dir && git checkout master
|
|
||||||
|
|
||||||
. ${product_dir}/scripts/_log.sh
|
|
||||||
ret=$?; if [[ $ret -ne 0 ]]; then exit $ret; fi
|
|
||||||
ok_msg "导入脚本成功"
|
|
||||||
|
|
||||||
source $work_dir/scripts/_mirror.utils.sh
|
|
||||||
|
|
||||||
git remote -v|grep git.oschina.net >/dev/null 2>&1
|
|
||||||
ret=$?; if [[ 0 -ne $ret ]]; then
|
|
||||||
first_checkout "OSChina" \
|
|
||||||
"git@git.oschina.net:winlinvip/srs.oschina.git" \
|
|
||||||
"srs.oschina" "$work_dir/scripts/oschina.mirror.sh"
|
|
||||||
exit 0;
|
|
||||||
fi
|
|
||||||
|
|
||||||
sync_master
|
|
||||||
sync_1_0_release
|
|
||||||
sync_push "OSChina"
|
|
||||||
|
|
||||||
exit 0
|
|
Loading…
Add table
Add a link
Reference in a new issue