如何使用 SubVersion
來源:互聯網
上載者:User
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 進去,然後開工吧!