由於 CVS 的不少缺點,CVS 的主要作者(包括 CVS 用家必買"?#125;經" Open Source Development with CVS 的作者 Karl Fogel)在他們現職的公司的資助下開發了 subversion。Subversion 的新功能包括 atomic commit, directory versioning, file renaming 等等。除了使用 svnserver 作為服務器(可如 CVS 般使用 SSH 作認證),亦能配合 Apache httpd 2.0 使用以達到更 fine-grained 的 access control。
安裝步驟:
1、cd /usr/ports/www/apache2/
2、make WITH_BERKELEYDB=db4 install clean
3、cd /usr/ports/devel/subversion
4、make WITH_MOD_DAV_SVN=yes install clean
5、建立數據目錄,例如 make /data/svn
6、vi /usr/local/etc/apache2/httpd.conf
7、加入
代碼:
<Location /svn>
DAV svn
SVNParentPath /data/svn
# AuthType Basic
# AuthName "Subversion repository"
# AuthUserFile /usr/local/etc/apache2/svn-auth-file
# <LimitExcept GET PROPFIND OPTIONS REPORT>
# Require valid-user
# </LimitExcept>
</Location>
其中 SVNParentPath 項指示所有項目的父目錄,可以避免為每個項目獨立設置。
注釋掉的是存取的時候是否驗證密碼。密碼使用htpasswd 建立。
8、一般客戶端可能是windows平台,下載windows圖形客戶端
http://www.rapidsvn.org/download/RapidSVN-0.5.0.exe
9、建立項目容器
svnadmin create /data/svn/test
10、啟動 apache,安裝客戶端並執行
OK,完成了,客戶端的使用蠻簡單的。客戶端同時也有 X 的版本。
當然,喜歡的也可以使用命令行。