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
脚本。有关详细信息,请参阅 此 FAQ 条目,并使用 --help
选项运行脚本以获取使用说明。
TortoiseSVN 1.6 不再支持通过 file:///
URL 访问 BDB 仓库。但这不会影响通过 svn://
或 http://
访问 BDB 仓库。
如果您的 BDB 仓库仍然通过 file:///
URL 访问,则必须使用 svnadmin 工具将仓库转换为 FSFS 格式,该工具在 SVN 命令行客户端中可用。
请按照 Subversion 手册中的说明转换仓库。
Subversion 1.6 可以在更新/合并/切换操作期间检测到树冲突。然后,这些项目将被标记为冲突,以指示问题。
请注意,Subversion 仍然将重命名视为“复制+删除”操作,因此,导致树冲突的文件重命名只能根据文件添加和删除来检测。因此,在树冲突检测期间可能会出现误报。
TortoiseSVN 1.6 在操作发生时显示这些树冲突,并在冲突覆盖和“检查修改”对话框中也显示这些冲突。
一个新的冲突解决对话框有助于解决此类冲突,指示树冲突的类型以及有关如何解决这些冲突的提示。
TortoiseSVN 1.5 中引入的日志缓存已得到改进,运行更加流畅。提供了广泛的选项集来控制缓存管理。有关详细信息,请参阅设置对话框。
此外,现在完全支持共享相同 URL 或 UUID 的仓库。
插件可以使用新的接口 IBugtraqProvider2 来更好地控制提交,并为用户提供更多信息。
这个新接口允许插件拒绝提交,在成功提交后执行任务(例如,在问题跟踪器中添加条目)。它还允许插件显示选项/设置对话框。并且插件可以在每次提交时添加版本属性。
有兴趣为问题跟踪器编写插件的开发人员可以从我们的 contrib 文件夹中获取 C++ 和 C# 示例插件的代码。
1.6 中还有许多其他值得一提的更改
当然,这些并非为此 1.6 版本完成的所有增强/更改。您可以从 changelog 或通过在我们的仓库上显示 SVN 日志来获取更详细的更改列表。
Subversion 1.6 现在支持单个文件外部项以及文件夹外部项。但是,在使用它们之前,您应该注意一些重要问题。
文件外部项是通过向文件夹的 svn:externals
属性添加值来创建的。但是,一旦添加了这样的文件外部项,即使您删除了 svn:externals
属性,也无法从工作副本中删除它。从工作副本中删除该文件的唯一方法是进行全新的检出。请参阅 Subversion 问题 #3351
目前无法将二进制文件添加为外部项。请参阅 Subversion 问题 #3368