TortoiseSVN 1.8 中的新功能
TortoiseSVN 1.8 是之前所有 TortoiseSVN 版本的超集,被认为是当前稳定和“最佳”版本。早期版本中的任何内容也都在 1.8 中,但 1.8 包含早期版本中没有的功能和错误修复。
此页面仅描述主要更改。 有关更改的完整列表,您可以查看我们的提交日志和 1.8 版本的问题列表
不要忘记查看 Subversion 库中的所有更改,该库现在也已升级到 1.8 版本:所有这些更改当然也包含在 TortoiseSVN 中。 请参阅Subversion 1.8 发行说明中完整的更改列表。
TortoiseBlame 的着色
TortoiseBlame 现在不仅可以通过年龄/修订版为更改着色,还可以按作者为行着色,以便更容易发现谁更改了哪些行。

仅提交文件的部分内容
在处理任务时,经常会发现周围代码存在问题。 修复该问题会导致在同一文件中完成多个任务,因此也会导致在一个提交中完成多个修复/任务。
要仅提交与特定问题相关的文件的部分内容
- 在提交对话框中,右键单击文件,选择“提交后恢复”
- 在 TortoiseMerge 等工具中编辑文件:撤消您尚不想提交的更改
- 保存文件
- 提交文件
提交完成后,将恢复原始文件,其中包含您尚未提交的所有更改。
TortoiseMerge
TortoiseMerge,TortoiseSVN 附带的可视化差异/合并工具,也进行了许多改进。

- Ribbon UI
- TortoiseMerge 现在使用 Ribbon 功能区而不是普通工具栏来显示其命令。
- 搜索
- 新的搜索快捷键 Ctrl+F3,更好的搜索匹配指示,仅搜索活动视图。
- 转到行
- 用于转到特定行号的新命令。
- 内联差异
- 可以使用单个按钮切换内联差异的开/关,而无需进入设置对话框
- UTF-32 文件的处理
- TortoiseMerge 现在也可以处理 UTF-32 编码的文件,并识别更多 EOL 格式。
仓库浏览器
仓库浏览器经常被请求的功能是列出通过 SVNListParentPath 指令提供的所有仓库。 现在可以实现:将仓库浏览器指向根 URL,它将列出所有仓库。

在仓库浏览器对话框的底部,会显示一个摘要,指示文件和文件夹的数量以及当前显示的文件夹。
还有两个新的前进和后退按钮,就像在 Web 浏览器中一样。
第三方库
当工作副本中直接存储了第三方库时,即不是通过 svn:externals
属性存储时,更新这些库并不容易。
当然,直接复制新版本可以工作,但如果新版本删除了文件,则这些文件仍将保留在您的工作副本中。
在 1.8 版本中,TortoiseSVN 提供了一种更简单的方法来执行此操作:只需将包含新版本的库文件夹右键拖动到工作副本中存储的版本,然后从上下文菜单中选择SVN vendor branch here。
然后,TortoiseSVN 会扫描两个目录,复制所有新文件,删除新版本中不再存在的文件。
在 TortoiseSVN 更新文件夹后,您只需提交新版本即可。
进度对话框
显示各种操作进度的对话框现在可以更好地指示节/分组,例如,当更新设置了多个外部引用的工作副本时。
每个节/分组都以粗体显示的第一行表示。
至于更新外部引用:对话框中仅显示那些拉取修改的外部引用。 如果外部引用没有更改,则对话框不会显示任何相关信息。 这大大减少了无信息行的数量,特别是当您设置了很多外部引用时。
SubWCRev
SubWCRev 也进行了许多改进,主要改进如下
- UTF-16 编码的文件也可以使用,既可以作为源/模板文件,也可以作为目标文件。
- 一个新选项,用于指定工作副本修订版的偏移量。 如果您的仓库修订版号大于 65535,并且您想使用该修订版作为版本资源,则需要此选项:Windows 版本资源号只有 16 位,在这种情况下,您可以指定负偏移量,以便版本资源号低于 16 位限制。
- SubWCRev 可以检测未版本控制的文件和/或文件夹。 如果您希望在构建中返回错误,以防您的工作副本中存在此类未版本控制的项目,这很有用,这表明您可能错过了添加和提交这些项目。
自定义属性
如果您正在使用自定义属性,您现在可以配置 TortoiseSVN 以提供更好的对话框来编辑和修改它们。
属性 tsvn:userfileproperties 和 tsvn:userdirproperties 已扩展,因此您可以指定您拥有的属性类型。
请查看我们的文档,了解其工作原理。
可通过属性配置的客户端钩子脚本
在早期版本中,您只能通过设置对话框配置客户端钩子脚本。 如果您只有少数工作站/用户需要配置,这还可以。 但是,如果您希望一个大型提交者团队都运行您需要的钩子脚本,则需要大量设置工作。
在 TortoiseSVN 1.8 中,您现在可以通过项目属性配置要运行的钩子脚本。
为了避免在用户不知情的情况下运行可能不安全的脚本,TortoiseSVN 将首先询问是否运行这些脚本。
请查看我们的文档,了解其工作原理。
兼容性问题
本地客户端兼容性
Subversion 工作副本有时会使用多个不同的客户端访问,例如 TortoiseSVN、AnkhSVN 和 SVN 命令行客户端。 由于工作副本格式在此版本中已更改,因此 1.8 客户端必须先升级工作副本才能访问早期版本的工作副本。 1.8 之前的客户端根本无法访问 1.8 工作副本,并且没有降级选项。
迁移到 1.8 工作副本必须被视为单向操作。 如果您需要在同一工作副本上使用多个客户端,请确保您可以在升级工作副本之前更新所有客户端。
客户端服务器兼容性
旧客户端和服务器可以与 1.8 服务器和客户端透明地互操作。 也就是说,您可以将 1.8 客户端与旧服务器一起使用,也可以将 1.8 服务器与旧客户端一起使用。 但是,除非客户端和服务器都是最新版本,否则某些新的 1.8 功能可能不可用。 在某些情况下,新功能可以工作,但如果客户端是新的而服务器是旧的,则效率会降低。
日志对话框
日志对话框增强功能,以帮助进行代码审查
已添加新的上下文菜单“创建代码协作者审查”,以提供与 SmartBear Code Collaborator 审查工具的互操作性。
当在底部的“文件已更改”列表框中选择多个文件时,已向日志对话框添加了两个新的上下文菜单和命令。
- 显示多个更改...
- 打开多个本地...
有关这些命令如何工作的详细信息,其中包括对将工作副本文件加载到 Visual Studio 中的特殊支持,可以在 Subversion 帮助文件的“调用修订日志对话框”主题下找到。