SubVersion 是一個近期才開始流行起來的版本控制系統。而其作者也就是CVS系統的主要作者本人。最早在 PHP & More vol.4 上看到簡介文章,沒怎么入心,近來因為需要,自己嘗試配置了一個輕量服務器型的。雖然劍走偏鋒,還是把經驗心得拿出來與大家分享一下。
如果大家有條件,可以多看看 PHP & More vol.4 上的簡介文章,畢竟上面說大部分需求都是與 Apache 相結合應用,而且說明也比我詳細得多。或者英語好的朋友可以自己去查詢幫助手冊,直接找到最合適最直接的答案。整套系統共分為:
SubVersion,從
http://subversion.tigris.org/ 下載,是實現服務系統的軟件。
TortoiseSVN,從
http://tortoisesvn.tigris.org/ 下載,是很不錯的 SVN 工作程序,結合到文件管理器中,用起來很方便。
SVNService.exe,從
http://dark.clansoft.dk/~mbn/svnservice/ 下載,是專為 SubVersion 開發的一個用來作為 Win32 服務掛接的入口程序。
安裝好 SubVersion,然后使用 svnadmin create 創建工作區域,比如 svnadmin create d:\subversion\proj1。嘗試使用文件管理器去查看 proj1 這個目錄,里面密密麻麻配好了版本控制需要的數據庫結構。
然后如簡介文章中所言,通過 svnserve -d -r d:\subversion 就可以創建以 d:\subversion 為工作根目錄的 svn 服務器實例。不過這個實例如 tomcat 一般,是必須通過命令行窗口掛著的。
然后我嘗試了一下使用微軟提供的 sc.exe 來將 svnserve.exe 升為服務,結果發現無法通過這種方式來掛成服務。只好轉回頭去老老實實的使用 SVNService.exe 。達到同樣效果的 SVNService.exe 命令是 SVNService -install -d -r d:\subversion。最后在服務管理中將 SVNService 更改為自動啟動。
到這個時候,一個可以正常使用的輕型 svn 服務器就已經搭建成功了。通過 svn 程序可以實現大部分需求,如果覺得麻煩,使用 TortoiseSVN 在 GUI 界面下操作也可以完成同樣的需求。
但是到目前為止,這個 svn 服務器尚無任何權限機制。打開 d:\subversion\proj1\conf\svnserve.conf 文件。將其中 #??開始的行前注釋去掉,形成如下有效結構:
[general]
anon-access = none
auth-access = write
password-db = PASSWD
realm = Input your password ^_^
保存 svnserve.conf ,那么一個非驗證用戶無權訪問,驗證用戶有讀寫權限的 svn 服務器就基本成型了。而最后剩下的一個步驟,就是在 conf 這個目錄下創建一個合適的 PASSWD 密碼管理文件了。
這個地方我自己的體會是簡介文章上說的是錯的…我嘗試過使用 htpasswd.exe 來創建密碼表,結果 svn 服務器告訴我它不認識這玩意-_-!。我將 PASSWD 文件內容改為諸如:
[users]
snakevil = 123
root = 234
這樣的結構,就可以正常登陸了。
呵、到此為止,所有準備工作完畢^_^將開發項目的內容 svn import 進去,然后開工吧!
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=470107