Linux下多版本庫svn獨立服務器搭建

jopen 11年前發布 | 36K 次閱讀 Linux Subversion 版本控制系統

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

來自:http://my.oschina.net/jingxing05/blog/183131


 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!