Subversion 的版本庫(repository),就是位於服務器端,統一管理和儲存數據的地方。本文中,我們以 Linux 為例,介紹在服務器端配置和管理 Subversion 版本庫的基本方法。
要創建一個版本庫,首先要確定采用哪種數據存儲方式。在 Subversion 中,版本庫的數據存儲有兩種方式,一種是在 Berkeley DB 數據庫中存放數據;另一種是使用普通文件,采用自定義的格式來儲存,稱為 FSFS。
兩種存放方式各有優缺點,讀者可以參考 http://svnbook.org/ 上面的文檔來了解兩者詳細的比較和區別,這里,我們僅引用上述文檔當中的簡單對照表,給出一個簡明的比較。
特性 | Berkeley DB | FSFS |
---|---|---|
對操作中斷的敏感 | 很敏感;系統崩潰或者權限問題會導致數據庫“塞住”,需要定期進行恢復。 | 不 敏感 |
可只讀加載 | 不能 | 可 以 |
存儲平台無關 | 不能 | 可 以 |
可從網絡文件系統訪問 | 不能 | 可 以 |
版本庫大小 | 稍大 | 稍 小 |
擴展性:修訂版本樹數量 | 無限 制 | 某些本地文件系統在處理單一目錄包含上千個條目時會出現問題。 |
擴展性:文件較多的目錄 | 較慢 | 較慢 |
檢出最新代碼的速度 | 較快 | 可以 |
大量提交的速度 | 較慢,但時間被分配在整個提交操作中 | 較 快,但最后較長的延時可能會導致客戶端操作超時 |
組 訪問權處理 | 對於用戶的 umask 設置十分敏感,最好只由一個用戶訪問。 | 對 umask 設置不敏感 |
功能成熟時間 | 2001 年 | 2004 年 |
確定了具體的數據存儲類型,只要在命令行當中執行 svnadmin
命令就可以創建一個 Subversion 版本庫,命令如下:
# 創建文件夾 $ mkdir /etc/svn/ $ mkdir /etc/svn/repos # 運行創建版本庫的命令,指定數據存儲為 FSFS,如果要指定為 Berkeley DB,則將 fsfs 替換為 bdb $ svnadmin create --fs-type fsfs /etc/svn/repos
via:http://www.ibm.com/developerworks/cn/java/j-lo-apache-subversion/