TortoiseSVN 1.6 的新功能
TortoiseSVN 1.6 是所有先前 TortoiseSVN 版本的超集,被认为是当前稳定且“最佳”版本。早期版本中的所有内容也包含在 1.6 中,但 1.6 包含早期版本中没有的功能和错误修复。
TortoiseSVN 1.6 是所有先前 TortoiseSVN 版本的超集,被认为是当前稳定且“最佳”版本。早期版本中的所有内容也包含在 1.6 中,但 1.6 包含早期版本中没有的功能和错误修复。
旧的客户端和服务器可以与 1.6 服务器和客户端透明地互操作。但是,某些新的 1.6 功能可能无法使用,除非客户端和服务器都是最新版本。在某些情况下,新功能可以正常工作,但如果客户端是新的而服务器是旧的,则运行效率会降低。
新功能 | 最低客户端 | 最低服务器 | 最低存储库 | 备注 |
---|---|---|---|---|
树冲突处理 | 任何 | 任何 | 任何 | 可以使用比 1.6 更旧的服务器,但某些类型的冲突将不会被检测到。 |
工作副本格式已升级。这意味着 1.5 及更早版本的 Subversion 客户端将无法使用 Subversion/TortoiseSVN 1.6 生成的工作副本。工作副本将自动升级。
警告:如果 Subversion 1.6 客户端遇到 1.6 之前的版本工作副本,它将自动升级工作副本格式,只要它接触到它,就会使其无法被旧版本的 Subversion 客户端读取。如果您在机器上使用多个版本的 Subversion,请注意在哪个工作副本中使用哪个版本,以避免意外升级工作副本。
如果您不小心将 1.5 工作副本升级到 1.6,并且希望降级回 1.5,请使用change-svn-wc-format.py
脚本。有关详细信息,请参阅此常见问题解答条目,并使用--help
选项运行脚本以获取使用说明。
TortoiseSVN 1.6 不再支持通过file:///
URL 访问 BDB 仓库。但这不会影响通过svn://
或http://
访问 BDB 仓库。
如果您有一个仍然通过file:///
URL 访问的 BDB 仓库,您必须使用svnadmin工具将仓库转换为 FSFS 格式,该工具可在SVN 命令行客户端中找到。
请按照 Subversion 手册中的说明转换仓库。
Subversion 1.6 可以在更新/合并/切换操作期间检测到树冲突。然后将这些项目标记为冲突,以指示问题。
请注意,Subversion 仍然将重命名视为“复制+删除”操作,因此导致树冲突的文件重命名只能在文件添加和删除方面检测到。因此,在树冲突检测期间可能会出现误报。
TortoiseSVN 1.6 在操作过程中遇到树冲突时会显示这些冲突,同时也会在冲突覆盖层和“检查修改”对话框中显示。
新的冲突解决对话框有助于解决此类冲突,它会指示树冲突的类型并提供有关如何解决这些冲突的提示。
TortoiseSVN 1.5 中引入的日志缓存已得到改进,运行更加流畅。提供了一套完整的选项来控制缓存管理。有关详细信息,请参阅设置对话框。
此外,现在完全支持共享相同 URL 或 UUID 的存储库。
插件可以使用新的接口 IBugtraqProvider2 来更好地控制提交并为用户提供更多信息。
此新接口允许插件拒绝提交,在成功提交后执行任务(例如,在问题跟踪器中添加条目)。它还允许插件显示选项/设置对话框。插件还可以为每次提交添加修订属性。
有兴趣为问题跟踪器编写插件的开发人员可以从我们的 contrib 文件夹 获取 C++ 和 C# 示例插件的代码。
1.6 中还有许多其他值得一提的更改。
当然,这些并不是 1.6 版本中所做所有增强/更改。您可以从 变更日志 或通过显示我们存储库上的 SVN 日志获取更详细的更改列表。
Subversion 1.6 现在支持单文件外部和文件夹外部。但是,在使用它们之前,您应该注意一些重要问题。
文件外部是通过向文件夹的 svn:externals
属性添加值来创建的。但是,一旦添加了此类文件外部,就无法从工作副本中删除它,即使您删除了 svn:externals
属性也是如此。从工作副本中删除该文件的唯一方法是进行全新检出。请参阅 Subversion 问题 #3351
目前无法将二进制文件添加为外部。请参阅 Subversion 问题 #3368