Linux Svn 配置

Svn 配置

本系統採用爲每個項目單獨建一版本庫的策略。配置文件,密碼文件,訪問控制文件等都放在版本庫的conf目錄下。所以每次開始一個新項目都必須新建一個版本庫,並重新配置各配置文件。還有很重要的一條,要求各組員重新配置客戶端,包括服務器版本庫路徑,本地路徑等信息。

 

1. 建立版本庫目錄(可建立多個,新建庫後以下各項都需重新配置。注意區別安裝目錄與版本庫目錄,以下講的都是版本庫目錄)

mkdir –p /opt/svndata/repos

 

2. 建立svn版本庫(與上面目錄對應)

svnadmin create /opt/svndata/repos

執行此命令後svn自動在repos目錄下添加必須的配置文件.

注意:版本庫不同於一般的文件夾直接在操作系統上新建文件無法被SVN識別必須使用import等命令將文件導入版本庫.

此爲svn內部指令,create用於新建版本庫。請使用svn help查看詳細說明。

 

3. 修改版本庫配置文件

vi /opt/svndata/repos/conf/svnserve.conf

各參數功能在配置文件的註釋中有說明此處配置如下:

[general]

anon-access = none # 使非授權用戶無法訪問

auth-access = write # 使授權用戶有寫權限

password-db = /opt/svndata/repos/conf/pwd.conf # 指明密碼文件路徑

authz-db = /opt/svndata/repos/conf/authz.conf # 訪問控制文件

realm = /opt/svndata/repos # 認證命名空間,subversion會在認證提示裏顯示,並且作爲憑證緩存的關鍵字。

其它採用默認配置各語句都必須頂格寫左側不能留空格否則會出錯.

其中pwd.conf 與 authz.conf 在新建版本庫時系統不會自動創建,需要自己創建。

指令簡介:這是svn配置文件的格式,請按照以上格式書寫。

 

4. 配置用戶

vi /opt/svndata/repos/conf/pwd.conf

輸入以下內容:

[users]

username1 = password1

username2 = password2

可以添加多個,此爲用戶名密碼對

 

5. 配置權限

vi /opt/svndata/repos/conf/authz.conf

指令簡介:此配置文件採用基於路徑的授權策略,中括號裏指定路徑,以下列出對各用戶的授權。包括只讀r,讀寫rw。沒有列出的用戶,則不允許訪問。還可以對用戶分組,具體請參考svn手冊,以下是簡單例子:

[/opt/svndata/repos]

user1 = rw

user2 = r

 

6. 使用import導入文件

新建好的版本庫是空的,需要導入工作目錄。

$ svnadmin create /usr/local/svn/newrepos

$ svnimport mytree file:///usr/local/svn/newrepos/some/project

但是在導入後,用來的目錄樹並沒有轉換成工作拷貝,爲了開始工作,還是需要運行svn checkout導出一個工作拷貝。因爲導入後,文件在版本庫中是以特殊的形式存在db文件夾中的,不能以明文的方式查看。必須使用svn checkout導出工作副本才能以正常方式查看。

 

7. 啓動服務

執行svnserve –d –r /opt/svndata/repos/ 啓動服務deamon方式運行。

本系統採用svnserve方式這是小團隊項目的推薦方法這種方法維護最少配置最簡單.

指令簡介:此指令用於啓動svn服務,-d指明以守護模式運行,svn自動在3690端口監聽。3690是默認端口,可以使用 “--listen-port=”或者“--listen-host=”來指定其它端口。-r選項用來指定svn服務的根目錄,這樣用戶就可以使用相對路 徑訪問,而不用提供完整路徑。

使用以下命令檢出:(svnserver方式)

svn checkout svn://127.0.0.1/dir

以上爲示例。IP需要根據具體情況調整,dir爲版本庫路徑,若在啓動時已指定則可省略。

版本庫信息在版本庫文件夾裏,所以要刪除版本庫只需要刪除版本庫所在的文件夾即可。

另外工作副本只是自己維護的文件夾,可以用Windows直接刪掉,對別人沒有影響。千萬不要使用版本庫的刪除命令,否則版本庫裏的內容也會被刪除。

 

 

8. 服務自動啓動腳本

svn-server.sh

這個腳本是可以正常工作的。

chkconfig --add svnserve

就可以ntsysv自由在啓動項裏進行設置了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章