一. 目录版本控制

CVS只能追踪单个文件的历史,但是Subversion实现了一个“虚拟”文件系统,可以追踪整个目录树的修改,文件和目录都是版本控制的,结果就是可以在客户端对文件和目录执行移动和复制命令。


二. 原子提交

提交要么完全进入版本库,要么一点都没有,这允许开发者以一个逻辑块提交修改。


三. 版本控制的元数据

每个文件和目录都有一组附加的“属性”,你可以发明和保存任意的键/值对,属性也会像文件内容一样被纳入版本控制。


四. 可选的网络层

Subversion在版本库访问方面有一个抽象概念,利于人们去实现新的网络机制,

Subversion的“高级”服务器是 Apache 网络服务器的一个模块,使用 HTTP 的变种协议 WebDAV/DeltaV 通讯,

这给了 Subversion 在稳定性和交互性方面很大的好处,可以直接使用服务器的特性,例如认证、授权、传输压缩和版本库浏览等等。

也有一个轻型的,单独运行的 Subversion 服务器,这个服务器使用自己的协议,可以轻松的用 SSH 封装。


五. 一致的数据处理

Subversion使用二进制文件差异算法展现文件的区别,对于文本(人类可读)和二进制(人类不可读)文件具备一致的操作方式,两种类型的文件都压缩存放在版本库中,差异在网络上双向传递。


六. 高效的分支和标签

分支与标签的代价不与工程的大小成比例,

Subversion建立分支与标签时只是复制项目,使用了一种类似于硬链接的机制,

因而这类操作通常只会花费很少并且相对固定的时间,以及很小的版本库空间。

Copyright © 李振超 2018 all right reserved,powered by Gitbook
该文件最后修订时间: 2018-10-18 03:20:27

results matching ""

    No results matching ""