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 成功時才進行下一步操作
來自:http://my.oschina.net/jingxing05/blog/183131
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!