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 存储库正常工作?的主要内容,如果未能解决你的问题,请参考以下文章