首页 文章

SVN中无法修复的混合修订工作副本

提问于
浏览
18

我有一个干净的分支结账(没有修改),但是我无法将主干重新集成到我的分支中,因为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

4 回答

  • 18

    看起来你不是唯一有这个问题的人 .

    修复是使用相当于 svn update --ignore-externals

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

  • 3

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

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

    更新后忽略外部并没有解决我的问题,即使我做了一个全新的结账 .

  • 0

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

  • 2

    甚至在更新/推送我的整个存储库之后,我收到此错误消息只是为了尝试重命名文件夹 . 在重命名之前再次更新文件夹为我修复了这个问题 .

相关问题