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 附带的视觉差异/合并工具,它也进行了很多改进。
- 功能区 UI
- TortoiseMerge 现在使用功能区而不是普通工具栏来显示其命令。
- 搜索
- 新的搜索快捷键 Ctrl+F3,更好的搜索匹配指示,仅搜索活动视图。
- 转到行
- 一个新的命令,用于转到特定的行号。
- 内联差异
- 可以使用单个按钮来切换内联差异的显示/隐藏,而无需通过设置对话框。
- 处理 UTF-32 文件
- TortoiseMerge 现在可以处理 UTF-32 编码的文件,并识别更多 EOL 格式。
存储库浏览器
存储库浏览器中经常要求的功能是列出通过 SVNListParentPath 指令提供的全部存储库。现在可以实现:将存储库浏览器指向根 URL,它将列出所有存储库。
在存储库浏览器对话框的底部,将显示一个摘要,指示文件和文件夹的数量以及当前显示的文件夹。
还有两个新的按钮用于前进和后退,就像在 Web 浏览器中一样。
第三方库
当工作副本中直接存储了第三方库(即,不是通过 svn:externals
属性)时,更新这些库并不容易。
当然,只需复制新版本即可,但如果新版本删除了文件,这些文件仍将保留在您的工作副本中。
在 1.8 版本中,TortoiseSVN 提供了一种更简便的方法:只需将包含库新版本的文件夹右键拖动到存储在工作副本中的版本,然后从上下文菜单中选择“在此处创建 SVN 供应商分支”。
TortoiseSVN 然后扫描两个目录,复制所有新文件,删除新版本中不再存在的文件。
TortoiseSVN 更新文件夹后,您只需提交新版本即可。
进度对话框
显示各种操作进度的对话框现在对部分/分组有更好的指示,例如,当更新设置了多个 externals 的工作副本时。
每个部分/组都由第一行以粗体显示的文字标识。
至于更新外部文件:只有那些拉取修改的外部文件才会在对话框中显示。如果外部文件没有改变,则对话框不会显示任何关于它的信息。这大大减少了无信息行,尤其是在您设置了许多外部文件的情况下。
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 帮助文件中找到,主题为“调用修订日志对话框”。