Subversion
维基百科,自由的百科全书
Subversion是一个版本控制系统,相对于的RCS,CVS,采用了分支管理系统,它的设计目标就是取代CVS。Subversion是一个比较新的系统,目前在开源中应用还不是非常常见,不过已经有不少的项目采用它作为版本控制系统了。
[编辑] 优于CVS之处
- 原子提交。一次提交不管是单个还是多个文件,都是作为一个整体提交的。在这当中发生的意外例如传输中断,不会引起数据库的不完整和数据损坏。
- 重命名/拷贝/删除文件这些动作都保存在版本历史纪录当中。
- 对于二进制文件,使用了非常节省空间的方法保存。(简单的理解,就是只保存和上一版本不同之处)
- 目录也是有版本历史的。整个目录树可以被移动或者拷贝,操作很简单,而且能够保留全部版本记录。
- 分支的开销非常小。
- 优化过的数据库访问,使得一些操作不必访问数据库就可以做到。这样减少了很多不必要的和数据库主机之间的网络流量。
[编辑] 使用情況
雖然在 2006年 時 Subversion 的使用族群仍然遠少於傳統的 CVS,但已經有許多開放原碼團體決定將 CVS 轉換為 Subversion。已經轉換使用 Subversion 的包括了 Apache Software Foundation、KDE、GNOME、GCC、Python、Samba、Mono 以及許多團體。有許多的團隊換用 Subversion 是因為 Trac 所提供的專案管理環境。除此之外,SourceForge 除了提供 CVS 外,現在也提供專案開發者使用 Subversion 作為原碼管理系統,而 Google Code 以及 BountySource 則是只提供 Subversion 作為原碼管理系統。