.CVS 主要的功能,它幾乎都有 ~
Subversion 意即:更棒的 CVS

.目錄、檔案的 meta-data,甚至是 "重新命名" 都可以版本化/版本控制
泰半 CVS 皆不提供此功能;對 Subversion 而言,版本控制不單單僅針對檔案內容或檔案的存在與否…

.以 commit 為 "原子"
commit 的動作整個成功才算完成,沒有部份完成這回事。以每個 commit 作 revision 的編號、亦不會有像 CVS 那樣冗長累贅的 log 紀錄存在。

.提供 Apache 伺服器選項:WebDAV/DeltaV protocol

.Standalone 的伺服器選項

.輕輕鬆鬆 Branching 與 tagging

.原生 client/server 架構;輔以函式庫 (library) 設計

.client/server 的通訊協定,傳送雙方目錄的 diff
充份利用網路頻寬的效率作這件事。(CVS 僅 server 傳予 client,反之則否)

.處理的量,與 "改變部份" 的大小成比例,而非 "整個資料/專案" 大小

.repository 的運作/應用,可以選擇以資料庫 (Berkeley) 的方式,或是純文字 (可自訂格式)

.符號性連結版本化
Unix 使用者可於版本控制下置放符號性連結 (symbolic link);Win32 的使用者則否

.效率處理二進制檔
它使用二進制 diff 演算法傳送一連串的 revision,並儲存之

.好用的輸出
subversion 命令列的 client 端程式,可作出適於人類閱讀、自動化剖析;亦適於 script 的輸出資訊

.本土化的資訊
subversion 使用 gettext() 搭配當前的 locale 設定,顯示傳送時的錯誤訊息與相關的線上協助資訊

參考自 Subversion 網站 

nicaliu 發表在 痞客邦 留言(0) 人氣()