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