【问题标题】:How can I downgrade the version of an SVN working copy?如何降级 SVN 工作副本的版本?
【发布时间】:2009-04-03 22:59:31
【问题描述】:

SVN 目录可以方便地在计算机之间移动,但这可能会导致工作副本和安装的 svn 客户端之间的版本不匹配,从而导致错误

svn: This client is too old to work with working copy '.';  
  please get a newer Subversion client

在一个完美的世界中,可以安装更新版本的 SVN 客户端,但是当这不可能或不方便时,能够将工作副本降级到已安装的客户端版本会很好——尤其是当您知道没有使用更高版本的功能。

只有在有问题的工作副本没有任何更改并且不会太大而造成不便的情况下,才可以使用旧客户端签出新的工作副本。

可以想象的场景类似于:Joe 向您发送一个包含大量嵌套目录(以及相关的版本化 .svn 文件夹)的大型工作副本。你在它上面工作。当你尝试提交它时,svn 会告诉你你的客户端太旧了。没有必要把它寄回给乔。不需要签出新的工作副本,并且在任何情况下合并更改都不方便。

有没有办法做到这一点?

【问题讨论】:

    标签: svn


    【解决方案1】:

    简短的回答:这不是微不足道的。

    幸运的是,开发人员预见到了这个问题,并在 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.
    

    【讨论】:

    • 所以我想这是微不足道的......感谢证明它有用的帖子
    • “它可以将 1.6.x 工作副本降级为 Subversion 1.4.x 和 1.5.x 可用的格式,但不能降级 1.7.x 工作副本。”
    • 如何递归地为所有子文件夹执行此操作
    • 1.7.x 及以上版本的任何解决方案?
    【解决方案2】:

    我刚刚删除了 1.7 创建的项目文件中的 .svn 文件夹,并使用 1.6 重新添加了解决方案。这对我有用,希望对其他人有帮助。

    【讨论】:

      猜你喜欢
      • 2011-12-20
      • 1970-01-01
      • 2014-11-27
      • 1970-01-01
      • 2014-11-07
      • 2015-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多