TortoiseSVN安裝和配置

之前安裝過svn,今天在安裝時,居然搞了半天,還是覺得有必要記錄一下,主要是版本庫中的配置文件

1.安裝TortoiseSVN很簡單,百度上一大把文章,不會的可以搜下,主要說下配置文件

2.svn安裝好後,需要創建版本庫,兩種方式,第一種,手動創建,在需要的目錄下創建一個文件夾,然後鼠標右鍵選擇TortoiseSVN中的create repository here,會在文件夾下生成一些文件夾,conf,db,hooks,locks等,conf下有四個配置文件,後面會說怎麼配置。第二種方式,在cmd上使用命令svnadmin create D:/svn/repository創建版本庫,後面爲創建的版本庫。注:建立版本庫的路徑中的文件,文件名不能有空格,否則會建立不成功的。

3.配置用戶和權限(設置配置時,等號前後需要有空格,否則會報錯)

A.首先配置svnserve.conf

在D:/svn/repository/conf(這是我當時創建的版本庫路徑,具體根據自己實際創建的)打開svnserve.conf

[general]

anon-access = none        //未驗證用戶無任何權限 ,如果這裏不改,用戶不用輸入密碼即可獲得代碼版本。

auth-access = write      //已驗證用戶給予寫權限

password-db = passwd    //密碼數據存放到passwd文件中

authz-db = authz         //指定用戶保存路徑爲authz文件,這個需要有,不然配置未驗證用戶無任何權限,無法連接svn服務器,報authentication failed錯誤,即無權限。啓動服務器後需要,需重啓服務器。

注:可以將上面的內容複製到svnserve.conf尾部,也可在svnserve.conf中,將上面項前面的#去掉即可,其中可以寫成anon-access=read,表示無驗證用戶有讀的權限。去掉#前面不能有空格,後面也不能有空格,否則會報錯。修改svnserve.conf需要重啓svn服務器。

B.配置passwd文件

原來配置:    

[users]

#harry = harryssecret

#sally = sallyssecret

“=”號前面是用戶名,後面是密碼。

[users]

zhangsan = 123456      //賬戶 = 密碼  (例如)

C.配置authz文件(權限文件)

需要配置兩處,一個是組和用戶的設置,另一個是版本庫的目錄格式配置以及權限分配。

a.組和用戶配置。
(1)一個組group可以包含一個和多個用戶,其中用戶名必須在用戶配置文件中已經定義。
(2)可以將指定具體組,比如開發組和運維組等。

b.版本庫配置以及權限分配。
版本庫目錄格式爲  :
[版本庫:/項目/目錄]
用戶名 = 權限
@組名 = 權限
說明:
(1)權限,分爲r,w,rw和空。空代表沒有任何權限
(2)版本庫目錄多種寫法,如果只寫根/代表對這個項目以及下邊所有目錄都有權限,如果單獨制定目錄,可以加上具體目錄名。
其中根是svn啓動的時候我們指定的-r指定的版本庫。
舉例如下:

[/]   代表根目錄下的資源都可以訪問
[repo0:/] 代表對repo0所有版本庫設置權限權限
[repo0:/21yunwei]  代表對repo0版本庫下的21yunwei項目設置權限
[repo0:/21yunwei/demo]  代表對repo0版本庫下的21yunwei項目的demo目錄設置權限

21yunwei = r    #代表admin對上面的目錄(根目錄下)的資源只有讀權限 

4.TortoiseSVN  Repository Brower :url 中輸入svn://127.0.0.1,再輸入賬戶密碼,也可訪問。

5.自動啓動svn服務器

cmd輸入以下命令:

sc create SVNservice binpath= "D:/Program Files/TortoiseSVN/bin/svnserve.exe --service -r D:\svn\repository" displayname= "SVNservice" depend= Tcpip start= auto

解釋:SVNservice 爲服務的名稱。所有的系統服務可以在dos下通過命令手動啓動和停止。

啓動:net start SVNservice 停止:net stop SVNservice

binpath爲安裝subversion的路徑,可執行文件的路徑。

D:\svn\repository爲版本庫的路徑。

displayname= "SVNservice"爲註冊成的系統服務顯示名稱,註冊成功後,可以在系統服務中找到這個名稱。

depend= Tcpip爲依賴Tcpip協議。

start= auto爲註冊成的系統服務啓動類型爲自動。

刪除服務:sc delete SVNservice

6.svn報authentication failed錯誤,就是authz權限沒配置對,或者是svnserve.conf文件修改了,沒有重新啓動。

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