21

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

4 回答 4

22

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

解决方法是使用相当于svn update --ignore-externals

请参见此处: 在 SVN 中重新集成带有外部的分支失败

于 2011-02-25T02:01:39.073 回答
6

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

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

即使我进行了全新的结帐,在更新时忽略外部因素也不能解决我的问题。

于 2016-08-01T04:20:17.913 回答
2

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

于 2015-03-31T10:15:31.663 回答
1

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

于 2019-02-06T17:43:06.690 回答