linux下經過yum安裝svn及配置

1.環境
centos6.4php

2.安裝svn
yum -y install subversionweb

3.配置apache

創建版本庫目錄
mkdir /usr/svncentos

svnserve -d -r /usr/svn  啓動svn服務服務器

4.創建版本庫svn

建立一個新的Subversion項目
svnadmin create /usr/svn/projectpost

配置容許用戶user訪問  將註釋去掉
cd /usr/svn/project/confspa

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

注:修改的文件前面不能有空格,不然啓動svn server出錯code

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自動同步程序執行流程:
一、用戶提交文件到SVN服務器,提交操做成功後觸發post-commit腳本
二、在post-commit版本文件中使用php_script.php執行PHP腳本
三、在PHP腳本中經過exec系統調用更新服務器上的版本庫工做副本
四、根據更新操做結果日誌,對另外一個SVN版本庫進行對應的操做處理

 

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

svn先把0版本的狀態壓縮成1個文件,而後每次版本更新時就針對變更的部分作一個壓縮文件,每次都是增長一個增量包,最後在服務器上能看到文件名爲從0開始到最終版本的一系列文件
相關文章
相關標籤/搜索