SVN目录很容易在计算机之间移动,但是这可能导致工作副本和已安装的svn客户端之间的版本不匹配,从而导致错误
svn: This client is too old to work with working copy '.';
please get a newer Subversion client
在理想的情况下,可以安装较新版本的SVN客户端,但是在无法实现或不方便的情况下,能够将工作副本降级为已安装的客户端版本会非常好-特别是当您知道没有正在使用更高版本的功能。
仅在有问题的工作副本没有任何更改且大小不算太大时,才可以与旧客户端 checkout 新的工作副本。
可以想象的情况是:Joe向您发送了一个大型工作副本,其中包含许多嵌套目录(以及相关的版本化.svn文件夹)。您正在努力。当您尝试提交它时,svn会告诉您您的客户端太旧了。不需要将其发送回Joe。不必 checkout 新的工作副本,并且在任何情况下合并更改都是不方便的。
有什么办法可以做到这一点?
最佳答案
简短的答案:这不是小事。
幸运的是,开发人员预料到了这个问题,并在FAQ中进行了处理:
http://subversion.apache.org/faq.html#working-copy-format-change
结果是下载和使用其脚本的目的是:
http://svn.apache.org/repos/asf/subversion/trunk/tools/client-side/change-svn-wc-format.py
请注意,该脚本仅需要客户端的主版本号,因此,如果您具有客户端版本1.4.4,则命令为:
python change-svn-wc-format.py <WC_PATH> 1.4 [...other options...]
更新:
上面的脚本仅适用于降级版本1.6和更低版本。从1.7+降级显然是不可能的。消息来源:
# Downgrading from format 11 (1.7) to format 10 (1.6) is not possible,
# because 11 does not use has-props and cachable-props (but 10 does).
# Naively downgrading in that situation causes properties to disappear
# from the wc.
#
# Downgrading from the 1.7 SQLite-based format to format 10 is not
# implemented.
关于svn - 如何降级SVN工作副本的版本?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/716021/