1.SVN服務端的配置: html
安裝subversion (Setup-Subversion-1.7.6.msi),安裝到C:\Program Files\Subversion\
2.建立SVN存儲庫(repository)
創建版本庫,創建的是多庫,先在D盤創建一個文件夾svn,而後在這個文件夾裏創建版本庫,首先建立一個版本庫的名稱爲:repository
創建版本庫的方法:
svnadmin create D:\SVN\repository
repository建立完畢後會在目錄下生成若干個文件和文件夾:
db目錄就是全部版本控制的數據文件
hooks目錄放置hook腳本文件的目錄
locks用來放置Subversion文件庫鎖定數據的目錄,用來追蹤存取文件庫的客戶端
format文件是一個文裏面只放了一個整數,表示當前文件庫配置的版本號
3.配置SVN服務器
配置服務器的地方就是你所創建版本庫的地方
打開D:\SVN\repository /conf/svnserve.conf
找到下面的句子:
[general]
password-db = passwd
anon-access = none
auth-access = write
authz-db = authz
realm = My First Repository
去之每行開頭的#,其中第二行是指定身份驗證的文件名,即passwd文件anon-access = none 是匿名用戶不能訪問,必需要有用戶名和密碼。(注意:必定要注意格式去掉註釋後要頂格不能有空) 一樣打開passwd文件,將
[users]
# harry = harryssecret
# sally = sallyssecret
chenzongliang = 123521
chenqiang = 12365
viong = 12354
格式爲「用戶名 = 密碼」,如可插入一行:mm = mm,即爲系統添加一個mm,密碼爲mm的用戶.(注意頂格寫不要有空隙)。
4.運行SVN服務器
單庫下運行服務器的方式:
SVN服務器的執行以下命令:
svnserve --daemon --root D:\SVN\repository(此時svnserve只能爲一個版本庫工做)
能夠簡寫爲:svnserve -d -r D:\SVN\ repository (注意:這是臨時打開的服務,命令執行後不能關閉窗口)
用後臺服務的方式能夠設置開機自動執行,執行語句爲:
sc create SVNService binpath= "\"C:\Program Files\Subversion\bin\svnserve.exe\" --service -r D:\SVN\repository "displayname= "SVNService" depend= Tcpip start= auto
多庫下運行服務器的方式:
SVN服務器的執行以下命令:
svnserve -d -r D:\SVN (此時svnserve能夠爲多個版本庫工做)
用後臺服務的方式能夠設置開機自動執行,執行語句爲:
sc create SVNService binpath= "\"C:\Program Files\Subversion\bin\svnserve.exe\" --service -r D:\SVN" displayname= "SVNService" depend= Tcpip start= auto
5.用戶客戶端訪問 用戶訪問的地址能夠寫成:svn://IP地址/版本庫名稱
SVN服務端權限的制定
單庫下設置權限:
chenzongliang,chenqiang是repository的管理者,對repository有徹底權限
viong對repository只有讀權限
修改 D:\svn\Repository\conf\authz
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admin = chenzongliang,chenqiang
yunwei = viong
[/]
* = r
@admin = rw
對應的組及組的用戶:
group_CMMI:jsm
group_wjjc:wrl
group_xczh:sb
關於中文目錄,也是沒有問題的,只是注意要把authz文件轉化爲UTF-8無B 式,UltraEdit裏顯示的文件格式爲U8- DOS ,具體的作法是UltraEdit打開authz文件,而後選擇「文件->轉換->ASCII轉UTF-8」,而後保存。
利用UltraEdit咱們能夠將BOM 去掉。方法是:首先利用「UTF-8 TO ASCII」 件轉換成本地編碼,一般是GB2312碼,而後再使用「ASCII TO UTF-8(UN Editing)」來轉換到 UTF-8 便可
安裝服務
sc create SVNService binpath= "\"C:\Program Files\Subversion\bin\svnserve.exe\" --service -r D:\svn" displayname= "SVNService" depend= Tcpip start= auto
注意:
sc是windows自帶的服務配置程序,參數binPath表示svnserve可執行文件的安裝路徑,因爲路徑中的"Program Files"帶有空格,所以整個路徑須要用雙引號引發來。而雙引號自己是個特殊字符,須要進行轉移,所以在路徑先後的兩個雙引號都須要寫成\",--service參數表示以windows服務的形式運行,--root指明svn repository的位置,service參數與root參數都做爲binPath的一部分,所以與svnserve.exe的路徑一塊兒被包含在一對雙引號當中,而這對雙引號不須要進行轉義
displayname表示在windows服務列表中顯示的名字,不是任務管理器中的名字。 depend= Tcpip 表示svnserve服務的運行須要tcpip服務,start= auto表示開機後自動運行。若要卸載svn服務,則執行 sc delete svnserve 便可
sc對選項的格式還有要求,例如「depend= Tcpip」不能寫爲「depend = Tcpip」或「depend=Tcpip」,也就是「=」前不能有空格,然後面必須有空格
刪除服務
sc delete Svnservice
修改配置
sc config Svnservice binpath= "d:\subversion\bin\svnserve.exe --service -r E:\projectversion" displayname= "Svnservice" depend= Tcpip
設置爲自啓動
sc config Svnservice start= auto
啓動服務
net start Svnservice
客戶端:
客戶端版本 TortoiseSVN-1.7.8.23174-win32-svn-1.7.6.msi,安裝完成後,在其它盤建個文件夾而後右擊檢查,提示輸入帳號密碼就ok
能夠參考如下兩篇文章:
http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.html
http://hi.baidu.com/davice_li/item/b356fe5f0a852e0be6c4a5a1