Windows環境下面分了CollabNet / Tigris.org(Apache2.2和Apache2.0) / SlikSVN / VisualSVN 5個鏈接,我選的是Tigris Apache2.2,下載壹個目前最新的Setup-Subversion-1.6.6.msi,點擊,壹路安裝即可,很簡單。
開始菜單-》運行-》輸入Cmd回車,敲“svn --version --quiet”,會得到SVN的版本號。
(二)配置
1、創建repository
Rrepository是存儲數據的地方。
例如要在F:\svnroot下創建repository,就使用命令行svnadmin create f:\svnroot。如果執行正確的話,會在F盤下多壹個SVNROOT的目錄,目錄下有4個目錄和2個文件。
2、啟動SVN服務
使用命令行 svnserve -d -r f:/svnroot,這樣外部就可以它能夠過客戶端來訪問了。
我運行完才發現,這樣cmd窗口還不得不壹直開著,很難看,當然壹般大公司的代碼服務器是24小時開著的。
上網搜了壹下,也可以作為壹個服務自動啟動的。執行腳本 sc create svn binpath= "\"d:\Program Files\Subversion\bin\svnserve.exe\" --service -r\"f:/svnroot\"" displayname= "Subversion Server" depend= Tcpip start= auto 就可以將svnserve程序作為服務載入。安裝路徑和存儲數據的目錄要根據自己的情況修改。
執行完這個腳本,可以去管理工具-》控制面板-》服務那裏找找Subversion Server,如果沒啟動就啟動
3、基本設置
修改f:|svnroot\repos\conf\svnserve.conf,註釋很詳細。
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = My First Repository
[sasl]
# use-sasl = true
# min-encryption = 0
# max-encryption = 256
期中,anon-access = none表示要用戶名和密碼,password-db = passwd表示passwd是存身份驗證的用戶名和密碼。sasl,就是加密訪問用的,壹般也可以不用。
4、用戶管理
在f:|svnroot\repos\conf\passwd裏添加有權限的用戶名和密碼。例如添加用戶yobin,密碼123456,就這樣:
[users]
# harry = harryssecret
yobin = 123456
hh = 111
ss = 222
5、分組管理和權限設置
如果是所有文件對用戶都可見的話,上面幾步也足夠用了。但要想對壹些人可見,壹些人不可見的話,就要去修改authz文件了。
&別名:別名的引用
@用戶組名:某組用戶
$authenticated:所有已授權用戶
$anonymous:匿名用戶
* : 任何人
r:寫權限
rw:讀寫權限
:不能訪問(空,什麽都不寫)
設置用戶權限的時候,'='左側代表用戶名稱,可以是實際用戶名,也可以是定義的用戶組名,也可以是別名,但要用'@'作為前綴,或者是所有用戶'*'。'='右側代表設置的權限'r'、'rw'或者為空即代表用戶對於該目錄無任何權限。
authz文件中對版本庫路徑的表示方法。用'[/]'來表示版本庫的根目錄,如果有子目錄foo,設置該目錄權限時用'[/foo]'即可,其他任何目錄都以'/'為版本根目錄進行表示。註意了,別用”\“!!!
用戶某個目錄的權限是向子目錄遞歸的。如果用戶對於/foo目錄有讀寫權限,則該用戶對於foo目錄下的所有子目錄都有讀寫權限。如果不設置最上層的目錄沒有設置權限,那麽就相當於不設置,禁止訪問。
權限分配,只可以分配到某個目錄,而不能到某個文件。