TortoiseSVN 1.7 能否针对 SVN 1.6 存储库正常工作?

Posted

技术标签:

【中文标题】TortoiseSVN 1.7 能否针对 SVN 1.6 存储库正常工作?【英文标题】:Will TortoiseSVN 1.7 work properly against a SVN 1.6 repository? 【发布时间】:2011-12-22 02:21:27 【问题描述】:

我想将我的 TortoiseSVN 安装升级到 1.7 版。我们有一个运行 SVN 1.6 存储库的 VisualSVN 服务器。

我是否需要将存储库升级到 1.7 才能更新我的客户端,还是 TortoiseSVN 向后兼容?

我知道在从 TortoiseSVN 1.6 升级到 1.7 期间,我需要将我的工作副本转换为新格式,但在提交期间是否有一些逻辑可以查看服务器版本并进行适当调整?

【问题讨论】:

【参考方案1】:

在release notes

较旧的客户端和服务器与 1.7 服务器透明地互操作,并且 客户

...

Subversion 1.7 服务器使用与 Subversion 相同的存储库格式 1.6.因此,可以在不改变服务器格式的情况下,在 1.6.x 和 1.7.x 服务器之间进行无缝升​​级和降级。 磁盘存储库

不需要做任何事情,你的工作副本将被升级,并且仍然能够与 1.6 服务器通信

【讨论】:

注意:TortoiseSVN 将更新工作副本格式,这会给老客户带来问题。如果您有一个使用多个不同客户端访问同一个工作副本的环境,这只是一个问题。例如。如果您从 TortoisSVN 和仅支持 1.6 工作副本格式的 IDE(例如 phpStorm)访问工作副本。 @ArtemGoutsoul 您可以在 SVN 1.6 上为客户端使用单独的 WC【参考方案2】:

是的,会的。

如果您在同一个工作副本(即检出目录)上使用不同版本的客户端,您可能会遇到问题。此外,如果您将旧客户端与新服务器一起使用,您可能无法使用某些新的服务器功能。

但是,新的 SVN 客户端向下兼容旧服务器,但一些新功能除外。所以在 Server 1.6 上使用 TortoiseSVN 1.7 应该没有问题。

请参阅 SVN 网站上的compatibility matrix。

【讨论】:

不幸的是兼容性矩阵不处理 1.7【参考方案3】:

它适用于 1.6 服务器(在我的情况下为 1.6.17)。

【讨论】:

【参考方案4】:

轶事时间:

服务器版本。 1.6.17 客户端 A Subversion 1.8.9(win,乌龟) 客户端 B 版本 1.6.17 (r1128011) (linux)

在客户端 B:

 - create branch_x with lots of files
 - commit
 - svn mv branch_x branch_xnew
 - log shows A branch_xnew, then thousands of D for each file in branch_x
 - commit
 - fails saying that branch_x is out of date.

 - out of desperation, revert --depth inifity... same
 - more desperation, checkout a clean working copy, svn mv, commit, fails "branch_x is out of date".

在客户端 A 上:svn mv,提交,完成。客户端 B 上的 svn up 显示没有冲突。全部完成。

【讨论】:

这如何回答这个问题? @crashmstr 问题是“TortoiseSVN 是否向后兼容?” ...这很好地暗示了答案是“YMMV”...

以上是关于TortoiseSVN 1.7 能否针对 SVN 1.6 存储库正常工作?的主要内容,如果未能解决你的问题,请参考以下文章

系统重做了怎么把以前SVN项目和SVN版本库连上

SVN 出现如下错误 怎么解决?

SVN小白使用攻略

SVN小白使用攻略

SVN与TortoiseSVN实战:TortoiseSVN新建及合并分支

SVN之工具tortoiseSVN