TortoiseSVN 的特性

是什么让 TortoiseSVN 成为一个好的 Subversion 客户端?下面是一个简短的特性列表。

外壳集成

TortoiseSVN 无缝地整合进 Windows 的外壳(例如资源管理器)。这意味着你可以继续使用已经熟悉的工具。而且当需要版本控制功能时你不用切换到不同的应用程序。

而且你并没有被限制在 Windows 资源管理器中; TortoiseSVN 的右键菜单可以在很多其它文件管理器中以及标准 Windows 程序的 文件/打开 对话框中被调出。不过,你应该记住 TortoiseSVN 是专门作为 Windows 资源管理器的扩展进行开发的。因此,有可能在其它程序中整合的不那么完整,例如重载图标可能不显示。

重载图标

每个版本控制的文件和目录的状态使用小的重载图标表示,可以让你立刻看出工作副本的状态。

图形用户界面

当你列出文件或文件夹的更改时,你可以点击任意版本查看提交注释。也可以看到更改过的文件列表 - 只要双击文件就可以查看更改内容。

提交对话框列出了本次提交将要包括的条目,每一个条目有一个复选框,所以你可以选择包括哪些条目。未版本控制的文件也会被列出,以防你忘记添加新文件。

Subversion 命令的简便访问

所有的 Subversion 命令存在于资源管理器的右键菜单,TortoiseSVN 在那里添加子菜单。

因为 TortoiseSVN 是一个 Subversion 客户端,我们也很愿意为你展示一些 Subversion 本身的特性:

目录版本控制

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

原子提交

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

版本控制的元数据

每个文件和目录都有一组附加的属性,你可以发明和保存任意的键/值对,属性是版本控制的,就像文件内容。

可选的网络层

Subversion 在版本库访问方面有一个抽象概念,利于人们去实现新的网络机制,Subversion 的高级服务器是 Apache 网络服务器的一个模块,使用 HTTP 的变种协议 WebDAV/DeltaV 通讯,这给了 Subversion 在稳定性和交互性方面很大的好处,可以直接使用服务器的特性,例如认证、授权、传输压缩和版本库浏览等等。也有一个轻型的,单独运行的 Subversion 服务器,这个服务器使用自己的协议,可以轻松的用 SSH 封装。

一致的数据处理

Subversion 使用二进制文件差异算法表达文件的差异,对文本文件(人类可读)和二进制文件(人类不可读)进行相同的处理方式,两种类型的文件都压缩存放在版本库中,之后差异结果在网络上双向传递。

高效的分支和标签

分支与标签的成本不需要与工程的大小成比例增长,Subversion 建立分支与标签时只是单纯的使用一种类似于硬链接的机制复制项目。因而这类操作通常只会花费很少并且相对固定的时间,以及占用很小的版本库空间。