是什么让 TortoiseSVN 成为如此优秀的 Subversion 客户端?以下是功能简短列表。
TortoiseSVN 无缝集成到 Windows shell(即资源管理器)。这意味着您可以继续使用您已经熟悉的工具。并且每次需要版本控制功能时,您不必切换到不同的应用程序。
而且您不限于使用 Windows 资源管理器;TortoiseSVN 的上下文菜单在许多其他文件管理器中以及大多数标准 Windows 应用程序通用的“文件/打开”对话框中也有效。但是,您应该记住,TortoiseSVN 有意开发为 Windows 资源管理器的扩展。因此,在其他应用程序中,集成可能不完整,例如,可能不会显示图标覆盖。
每个版本化文件和文件夹的状态都由小的覆盖图标指示。这样您就可以立即看到工作副本的状态。
当您列出文件或文件夹的更改时,您可以单击修订版本以查看该提交的注释。您还可以看到已更改文件的列表 - 只需双击文件即可查看具体更改内容。
提交对话框列出了将包含在提交中的所有项目,并且每个项目都有一个复选框,因此您可以选择要包含的项目。未版本化的文件也可以列出,以防您忘记添加新文件。
所有 Subversion 命令都可以从资源管理器上下文菜单中访问。TortoiseSVN 在那里添加了自己的子菜单。
由于 TortoiseSVN 是一个 Subversion 客户端,我们还想向您展示 Subversion 本身的一些功能
CVS 仅跟踪单个文件的历史记录,但 Subversion 实现了一个 “虚拟” 版本化文件系统,该系统随时间推移跟踪整个目录树的更改。文件 和 目录都被版本化。因此,存在对文件和目录进行操作的真正的客户端 move 和 copy 命令。
提交要么完全进入存储库,要么根本不进入。这允许开发人员将更改构建和提交为逻辑块。
每个文件和目录都附加了一组不可见的 “属性”。您可以发明和存储任何您想要的任意键/值对。属性会随时间推移进行版本控制,就像文件内容一样。
Subversion 具有存储库访问的抽象概念,使人们可以轻松地实现新的网络机制。Subversion 的 “高级” 网络服务器是 Apache Web 服务器的一个模块,它使用 HTTP 的变体 WebDAV/DeltaV。这为 Subversion 在稳定性和互操作性方面带来了巨大优势,并免费提供了各种关键功能:例如,身份验证、授权、线路压缩和存储库浏览。一个较小的独立 Subversion 服务器进程也可用。此服务器使用自定义协议,可以轻松地通过 ssh 进行隧道传输。
Subversion 使用二进制差异算法来表达文件差异,该算法在文本(人类可读)和二进制(人类不可读)文件上以相同的方式工作。两种类型的文件都以相同的压缩方式存储在存储库中,并且差异在网络上双向传输。
分支和标记的成本不必与项目大小成正比。Subversion 通过简单地复制项目(使用类似于硬链接的机制)来创建分支和标记。因此,这些操作仅需花费非常少的常量时间,并且在存储库中占用很少的空间。