【问题标题】:Unfixable mixed-revision working copy in SVNSVN 中不可修复的混合修订工作副本
【发布时间】:2011-02-18 20:15:37
【问题描述】:

我有一个干净的分支结帐(没有修改),但我无法将主干重新集成到我的分支中,因为 SVN 认为我有一个混合修订的工作副本:

c:\myproject> svnversion
2045:2047

问题似乎是由我的一个外部因素引起的:

c:\myproject> svn propget svn:externals tools
-r1448 ^/tools/external/trunk/gandalf/bin gandalf/bin
-r1508 ^/tools/external/trunk/gandalf/include gandalf/include
-r1508 ^/tools/external/trunk/gandalf/lib gandalf/lib
-r1428 ^/tools/external/trunk/jsdb jsdb
-r2045 ^/tools/external/trunk/java/lib/jing.jar jing.jar

你会注意到它们都是目录外部而不是单个文件外部,除了 jing.jar,它与“svnversion”认为是我的工作副本的最低范围的版本相同,应该是是 r2047 的干净结帐。

我该如何解决这个问题(除了不使用单文件外部)?

我尝试过更新、新结帐和 svn 清理,但仍然存在这个问题。我正在使用 TortoiseSVN 1.6.12

【问题讨论】:

    标签: svn merge svn-externals


    【解决方案1】:

    看起来你不是唯一一个遇到这个问题的人。

    解决方法是使用 svn update --ignore-externals 的等效项

    请看这里: Reintegrate a branch with externals fails in SVN

    【讨论】:

    • 谢谢,运行svn update 对我有用
    【解决方案2】:

    我找到了不同的解决方案,--allow-mixed-revisions

    svn merge -c7777 https://repo/app/branches/1.0 . --allow-mixed-revisions
    

    更新时忽略外部因素并没有解决我的问题,即使我进行了全新的结帐。

    【讨论】:

      【解决方案3】:

      请注意,自 Subversion 1.7.0 以来,此问题已得到修复。从那时起svnversion(和合并逻辑)在确定修订时忽略文件外部。

      【讨论】:

      • 我实际上对 svn 1.8.11 也有同样的问题。
      【解决方案4】:

      即使在更新/推送我的整个存储库之后,我也只是因为尝试重命名文件夹而收到此错误消息。在重命名之前再次更新文件夹为我解决了这个问题。

      【讨论】:

        猜你喜欢
        • 2015-12-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多