1、安装subversion
根据你的linux系统使用系统命令咯:
sudo apt-get install subversion
sudo yum -y install subversion
2、到某个目录下新建一个所有版本库的根目录
cd /home/jingxing05
mkdir svnrepos
cd svnrepos
3、创建多个库
svnadmin create repo1
svnadmin create repo2
svnadmin create repo___base
4、配置密码和权限
cd repo___base
echo "jingxing05=1234567890" >> conf/passwd
echo "[repo___base:/]" >> conf/authz
echo "jingxing05=rw" >> conf/authz
vi conf/svnserve.conf
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm= Svn Repo Base
:wq
其余两个库依法炮制
5、一个脚本来复制生成库
#!/bin/sh
if [ $# -lt 2 ]; then
cat<<TIP
two arguments: username and password
usage: ./svn_repo.sh username password
TIP
exit 1
fi
username=$1
upaswd=$2
svnbase='/home/jingxing05/svnrepos'
idespace='/home/jingxing05/idecloud9workspace/all'
#1 copy a repo_tpl
if [ -d "${svnbase}/${username}" ] ; then
echo 'WARN: ready exist,check it.'
exit 1
fi
cp -fR ${svnbase}/repo___tpl ${svnbase}/${username}
if [ $? -eq 0 ] ; then
#add user password
echo "${username}=${upaswd}" >> ${svnbase}/${username}/conf/passwd
echo "[${username}:/]" >> ${svnbase}/${username}/conf/authz
echo "${username}=rw" >> ${svnbase}/${username}/conf/authz
echo 'repo is freshly ready'
fi
# killall svnserve
# svnserve -d -r ${svnbase} --listen-host 192.168.1.100
# check if repo dir is ok, and also checkout a dir for cloud9 ide's workspace
if [ -d "${idespace}/${username}" ] ; then
cd ${idespace}/${username}
svn update --username ${username} --password ${upaswd}
else
cd ${idespace}
svn co svn://192.168.1.100/${username}@ --username ${username} --password ${upaswd}
fi
if [ $? -ne 0 ] ; then
echo 'failed'
rm -rf ${idespace}/${username}
rm -rf ${svnbase}/${username}
exit 1
fi
echo 'success'
exit 0
shell中的指令执行 成功大多返回 0 失败或有错误返回大于0 的值
但也有很多例外,所以有很多地方请用 if [ ] 进行测试 类似 assert 成功时才进行下一步操作