Subversion 简称 SVN,是一个开放源代码的版本控制系统,相对于 RCS、CVS 采用的分支管理系统,它的设计目标就是取代CVS。互联网上越来越多的控制服务从 CVS 转移到 Subversion。
Subversion 特性:
- 统一的版本号。CVS是对每个文件顺序编排版本号,在某一
时间各文件的版本号各不相同。而Subversion下,任何一次提交都会对所有文件增
加到同一个新版本号,即使是提交并不涉及的文件。所以,各文件在某任意时间的版本号是相同的。版本号相同的文件构成软件的一个版本。
- 原子提交。一次提交不管是单个还是多个文件,都是作为一个整体提交的。在这当中发生的意外例如传输中断,不会引起数据库的不完整和数据损坏。
- 重命名、复制、删除文件等动作都保存在版本历史记录当中。
- 对于二进制文件,使用了节省空间的保存方法。(简单的理解,就是只保存和上一版本不同之处)
- 目录也有版本历史。整个目录树可以被移动或者复制,操作很简单,而且能够保留全部版本记录。
- 分支的开销非常小。
- 优化过的数据库访问,使得一些操作不必访问数据库就可以做到。这样减少了很多不必要的和数据库主机之间的网络流量。
- 支持元数据(Metadata)管理。每个目录或文件都可以定义属性(Property),它是一些隐藏的键值对,用户可以自定义属性内容,而且属性和文件内容一样在版本控制范围内。
- 支持FSFS和Berkeley DB两种资料库格式。
Subversion 不足:
- 只能设置目录的访问权限,无法设置单个文件的访问权限。
- 数据库为二进制格式,无法方便的利用其它软件读取数据库的内容。
查看发布公告
点击进入 Subversion 项目主页 |