Subversion
外观
File:Subversion.png | |
開發者 | CollabNet, Inc. |
---|---|
当前版本 | 1.5.0(2008年6月19日) |
源代码库 | |
操作系统 | 跨平台 |
类型 | 版本控制 |
许可协议 | Subversion許可證 |
网站 | http://subversion.tigris.org/ |
Subversion是一個版本控制系統,相對於的RCS、CVS,採用了分支管理系統,它的設計目標就是取代CVS。互聯網上免費的版本控制服務多基於Subversion。
優於CVS之處
- 原子提交。一次提交不管是單個還是多個文件,都是作為一個整體提交的。在這當中發生的意外例如傳輸中斷,不會引起數據庫的不完整和數據損壞。
- 重命名、複製、刪除文件等動作都保存在版本歷史記錄當中。
- 對於二進制文件,使用了節省空間的保存方法。(簡單的理解,就是只保存和上一版本不同之處)
- 目錄也有版本歷史。整個目錄樹可以被移動或者複製,操作很簡單,而且能夠保留全部版本記錄。
- 分支的開銷非常小。
- 優化過的數據庫訪問,使得一些操作不必訪問數據庫就可以做到。這樣減少了很多不必要的和數據庫主機之間的網絡流量。
使用情況
雖然在 2006年 時 Subversion 的使用族群仍然遠少於傳統的 CVS,但已經有許多開放原碼團體決定將 CVS 轉換為 Subversion。已經轉換使用 Subversion 的包括了 FreeBSD、Apache Software Foundation、KDE、GNOME、GCC、Python、Samba、Mono 以及許多團體。有許多的團隊換用 Subversion 是因為 Trac 所提供的專案管理環境。除此之外,一些自由軟體開發的協作網如SourceForge除了提供 CVS 外,現在也提供專案開發者使用 Subversion 作為原碼管理系統,JavaForge、Google Code以及 BountySource 則以 Subversion 作為官方的原碼管理系統。