linux下多版本库svn独立服务器搭建

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 成功时才进行下一步操作



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值