Linux下SVN配置


 

1.安裝svn
yum install subversion

 

2.創建版本庫fengyu
(版本庫的名字取來和你web項目的名字相同,否則你在服務器檢出后會變成web項目里還有一層版本庫的目錄,里面才是項目,名字相同的話就不用創建web項目目錄,直接在www下面進行檢出就OK。)
mkdir -p /var/svndata/fengyu
svnadmin create /var/svndata/fengyu

 

4.進入conf目錄
cd /var/svndata/fengyu/conf

 

5.添加一個用戶為zhangsan密碼123456
vi passwd
添加zhangsan=123456

 

6.設置權限
vi authz
添加如下信息
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admin=zhangsan

[/]
@admin=rw
*=r

將zhangsan設置為admin用戶組
在本庫中,用戶組為admin的用戶有讀寫權限,其他用戶只有讀權限

 

7.全局配置
vi svnserve.conf
在最底下添加如下信息
[general]
anon-access = read #匿名用戶可讀
auth-access = write #授權用戶可寫
password-db = passwd #使用哪個文件作為賬號文件
authz-db = authz #使用哪個文件作為權限文件
realm = fengyu # 認證空間名,版本庫所在目錄


8.啟動svn版本庫:
svnserve -d -r /var/svndata/fengyu
注意 如果要配置多個版本庫 那么就啟動版本庫的上一級目錄
如:我要搭建一個fengyu2和fengyu3與fengyu同級 那么就啟動svndata這個目錄 這樣就可以在客戶端鏈接svn://ip/fengyu2


9.服務器檢出
cd /var/www 進入你的www目錄
svn co svn://localhost/fengyu
先輸入服務器root密碼再輸入svn的賬號密碼然后再選擇yes


10.自動更新
cd /var/svndata/fengyu/hooks
cp post-commit.tmpl post-commit
chmod 755 post-commit
vi post-commit
將最下面三行注釋掉 添加如下內容 請注意路徑填實際路徑
export LANG=zh_CN.UTF-8
REPOS="$1"
REV="$2"
WEB_PATH=/var/www/fengyu
LOG_PATH=/var/log/svn_commit.log
CURDATE="date"

/usr/bin/svn update $WEB_PATH --username zhaobl --password Z5201314 >> $LOG_PATH


11.強制添加注釋
cp pre-commit.tmpl pre-commit
chmod 755 pre-commit
vi pre-commit把文件下面的全部注釋 然后添加如下內容


REPOS="$1"
TXN="$2"
# Make sure that the log message contains some text.
SVNLOOK=/usr/bin/svnlook
LOGMSG=$($SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c)
if [ "$LOGMSG" -lt 10 ]; then
echo -e "\n 提交文件時請添加注釋,提交中止."1>&2
exit 1
fi


PS:這個限制字數,如果是數字英文會嚴格計算字符,但如果是中文就不管用了,如果有哪位兄弟懂的話請告知一二,感謝。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM