You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
srs/trunk/scripts/csdn.mirror.sh

81 lines
2.3 KiB
Bash

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#!/bin/bash
echo "更新CSDN镜像的脚本"
# 创建CSDN镜像的过程如下
# 1. 在CSDN上创建项目从https://github.com/winlinvip/simple-rtmp-server拷贝过来。
# 2. 在本地虚拟机上:
# git clone git@code.csdn.net:winlinvip/srs-csdn.git
# 3. 创建同步的branch
# git remote add upstream https://github.com/winlinvip/simple-rtmp-server.git
# git fetch upstream
# git checkout upstream/master -b srs.master
# 4. 执行本同步更新脚本,更新。
# bash scripts/csdn.mirror.sh
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
. ${product_dir}/scripts/_log.sh
ret=$?; if [[ $ret -ne 0 ]]; then exit $ret; fi
ok_msg "导入脚本成功"
git remote -v|grep code.csdn.net >/dev/null 2>&1
ret=$?; if [[ 0 -ne $ret ]]; then
failed_msg "当前分支不是CSDN镜像";
cat <<END
创建CSDN镜像的过程如下
1. 在CSDN上创建项目从https://github.com/winlinvip/simple-rtmp-server拷贝过来。
2. 在本地虚拟机上:
git clone git@code.csdn.net:winlinvip/srs-csdn.git
3. 创建同步的branch
git remote add upstream https://github.com/winlinvip/simple-rtmp-server.git
git fetch upstream
git checkout upstream/master -b srs.master
4. 执行本同步更新脚本,更新。
bash scripts/csdn.mirror.sh
END
exit 0;
fi
for ((;;)); do
git checkout srs.master && git pull
ret=$?; if [[ 0 -ne $ret ]]; then
failed_msg "更新github分支失败自动重试";
continue
else
ok_msg "更新github分支成功"
fi
break
done
git checkout master && git merge srs.master
ret=$?; if [[ 0 -ne $ret ]]; then failed_msg "合并github分支失败, ret=$ret"; exit $ret; fi
ok_msg "合并github分支成功"
for ((;;)); do
git push
ret=$?; if [[ 0 -ne $ret ]]; then
failed_msg "提交CSDN分支失败自动重试";
continue
else
ok_msg "提交CSDN分支成功"
fi
break
done
ok_msg "CSDN同步git成功"
exit 0