我有一个干净的分支签出(没有修改),但我不能将主干重新集成到我的分支中,因为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
发布于 2011-02-25 10:01:39
看起来你不是唯一有这个问题的人。
修复方法是使用svn update --ignore-externals的等价物
发布于 2016-08-01 12:20:18
我得到了一个不同的解决方案,--allow-mixed-revisions
svn merge -c7777 https://repo/app/branches/1.0 . --allow-mixed-revisions更新时忽略外部变量并不能解决我的问题,即使我做了一个完全新的检查。
发布于 2015-03-31 18:15:32
请注意,此问题已从Subversion 1.7.0开始修复。从那时起,svnversion (和合并逻辑)在确定修订时忽略文件外部。
https://stackoverflow.com/questions/5046075
复制相似问题