linux下通過yum安裝svn及配置


1.環境
centos6.4

2.安裝svn
yum -y install subversion

3.配置

建立版本庫目錄
mkdir /usr/svn

svnserve -d -r /usr/svn  啟動svn服務

4.建立版本庫

創建一個新的Subversion項目
svnadmin create /usr/svn/project

配置允許用戶user訪問  將注釋去掉
cd /usr/svn/project/conf

vi svnserve.conf
anon-access=read
auth-access=write
password-db=passwd

注:修改的文件前面不能有空格,否則啟動svn server出錯

vi passwd
[users]
#<用戶1> = <密碼1>
#<用戶2> = <密碼2>
user=123456

vi authz  添加用戶組

此時版本庫已經建好了

######################################

客戶端使用svn

svn co svn://ip/project

 

6.實現SVN與WEB同步,可以CO一個出來,也可以直接配在倉庫中

1)設置WEB服務器根目錄為/var/www/webroot

2)checkout一份SVN

svn co svn://localhost/njlrxx /var/www/webroot/njlrxx

修改權限為WEB用戶

chown -R apache:apache /var/www/webroot/njlrxx

3)建立同步腳本

cd /var/www/svndata/njlrxx/hooks/

cp post-commit.tmpl post-commit

編輯post-commit,在文件最后添加以下內容

復制代碼
REPOS="$1" REV="$2" BASEPATH=/var/www/webroot/njlrxx WEBPATH="$BASEPATH/" export LANG=zh_CN.UTF-8 svn update $WEBPATH --username jiqing --password 123456 --no-auth-cache
復制代碼

 

增加腳本執行權限

chmod +x post-commit

最后操作是關閉服務然再打開服務:

svn服務的關閉:

killall svnserve

svn開啟:

svnserve -d -r /var/www/svndata

 

===============================================================

SVN自動同步程序執行流程:
1、用戶提交文件到SVN服務器,提交操作成功后觸發post-commit腳本
2、在post-commit版本文件中使用php_script.php執行PHP腳本
3、在PHP腳本中通過exec系統調用更新服務器上的版本庫工作副本
4、根據更新操作結果日志,對另一個SVN版本庫進行對應的操作處理

 

svn有兩種存儲方式:BDB和FSFS,目前用的最多的是FSFS方式,這種方式的話,一般是存儲在\db\revs文件夾下,里面有一堆以版本號命名的文件,如:0、1、2、3、4......,那個就是了。

svn先把0版本的狀態壓縮成1個文件,然后每次版本更新時就針對變動的部分做一個壓縮文件,每次都是增加一個增量包,最后在服務器上能看到文件名為從0開始到最終版本的一系列文件


免責聲明!

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



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