TortoiseSVN Logo

TortoiseSVN 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 选项运行脚本以获取使用说明。

新功能/增强

通过 file:/// 访问 BDB 仓库

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 的仓库。

版本图

版本图已发生巨大变化,几乎完全重写。

Revision Graph

新的版本图具有更多选项来调整输出。例如,现在可以隐藏/显示单个子树。

IBugtraq 提供程序插件增强

插件可以使用新的接口 IBugtraqProvider2 来更好地控制提交,并为用户提供更多信息。

这个新接口允许插件拒绝提交,在成功提交后执行任务(例如,在问题跟踪器中添加条目)。它还允许插件显示选项/设置对话框。并且插件可以在每次提交时添加版本属性。

有兴趣为问题跟踪器编写插件的开发人员可以从我们的 contrib 文件夹中获取 C++ 和 C# 示例插件的代码。

其他更改

1.6 中还有许多其他值得一提的更改

  • 按扩展名忽略多个文件
  • 在日志对话框中按错误 ID 筛选
  • 在日志对话框中否定过滤器
  • 更好地处理状态缓存中的 "runas"
  • 如果没有变更列表,则在对话框中按外部项分组
  • 状态列表中的覆盖层,用于检出深度和外部/嵌套项

当然,这些并非为此 1.6 版本完成的所有增强/更改。您可以从 changelog 或通过在我们的仓库上显示 SVN 日志来获取更详细的更改列表。

1.6 中的已知问题

文件外部项

Subversion 1.6 现在支持单个文件外部项以及文件夹外部项。但是,在使用它们之前,您应该注意一些重要问题。

文件外部项是通过向文件夹的 svn:externals 属性添加值来创建的。但是,一旦添加了这样的文件外部项,即使您删除了 svn:externals 属性,也无法从工作副本中删除它。从工作副本中删除该文件的唯一方法是进行全新的检出。请参阅 Subversion 问题 #3351

目前无法将二进制文件添加为外部项。请参阅 Subversion 问题 #3368