代码之家  ›  专栏  ›  技术社区  ›  Steve Pitchers D V Santhosh Kiran

我怎样才能降低颠覆性收回的格式?

svn
  •  4
  • Steve Pitchers D V Santhosh Kiran  · 技术社区  · 16 年前

    是否有任何方法可以降低Subversion存储库的格式以避免出现以下消息:

    svn: Expected format '3' of repository; found format '5'
    

    当您从多台机器访问存储库,并且不能在所有这些机器上使用一致版本的Subversion时,就会发生这种情况。

    更糟糕的是,在不同的服务器上有多个具有不同格式的存储库,我无权升级其中一些服务器。 ~~~

    6 回复  |  直到 6 年前
        1
  •  12
  •   cjm    16 年前

    如果您不能在所有机器上使用相同版本的Subversion,那么您应该设置一个服务器进程(SVNServer或Apache),并且只通过服务器访问存储库。服务器可以在不同版本的Subversion之间进行中介;只有当您使用直接的存储库访问时,才会遇到此问题。

    如果服务器的版本比当前存储库格式旧(我不建议这样做),则需要使用较新版本导出存储库,并使用较旧版本导入。

        2
  •  5
  •   Sander Rijken    16 年前

    Svnbook说 this (关于文件:///access vs设置服务器)

    被这个简单的想法所诱惑 让所有用户访问 通过file://urls直接存储库。 即使存储库很容易 通过网络向所有人提供 分享,这是个坏主意。它移除 之间的任何保护层 用户和存储库:用户可以 意外(或故意) 损坏存储库数据库,它 很难获得存储库 离线检查或升级,以及 它会导致文件混乱 权限问题(请参见 the section called “Supporting Multiple Repository Access Methods” )注意这是 也是我们警告的原因之一 通过访问存储库 SVN+ssh://urls_ 站在立场上,实际上是一样的 作为本地用户通过文件访问:/, 它也可以包含所有相同的 如果管理员没有 小心。

    Subversion保证任何1.x客户机都可以与任何1.x服务器通信。通过使用服务器,您可以一次升级服务器,以及独立于服务器的客户机。

        3
  •  3
  •   zigdon    16 年前

    我怀疑您必须导出存储库并将其重新导入到旧版本中。不过,导出格式中可能存在一些格式不兼容的地方——但由于它只是一个大的文本文件,所以最好不要太难将其删除。

        4
  •  2
  •   Martin Marconcini    16 年前

    根据颠覆书,没有办法做到这一点。必须导出整个存储库,然后在运行旧版本时继续重新导入。

    无论如何,我建议您在客户机中相应地升级SVN工具,而不是在存储库中玩危险的游戏。

    决定一个版本,在准备升级到新版本之前不要触摸它。

        5
  •  2
  •   Community kfsone    7 年前

    如本文所述 How to downgrade a subversion tree from v1.7 to v1.6? 上面有python脚本 http://svn.apache.org/repos/asf/subversion/trunk/tools/client-side/change-svn-wc-format.py 它可以降级工作副本,但最多只能在1.6x版本下工作。

        6
  •  0
  •   Iacopo Dondarini admon_org    6 年前

    如果您降级到v1.4x,以下是另一种可能对您有帮助的方法: https://www.admon.org/scripts/downgrade-svn-from-1-6-to-1-4/