我正在评估subversion的分支/合并功能,我决定做一个简单的测试 - 我分支现有项目,在一个文件中更改注释,然后通过Tortoise重新合并.
它失败了:
命令:将https:// oscar/svn/Baxtech/ViM/Branches/Test3重新集成到C:\ Inntec\VS2008\Baxtech\ViM
错误:无法从' https:// oscar/svn/Baxtech/ViM/Branches /重新集成TEST3 "又:
错误:某些版本已在它没有被合并的合并
错误:到重返社会的目标; 首先合并它们,然后重试.
我搜索了这个,我发现一些帖子说这与在旧版本的Tortoise中重命名和目录更改创建的mergeinfo有关.
我最近从之前版本的Tortoise升级到1.5.5,但似乎这个问题是1.5之前的版本.*... 而且我只在一个文件中更改了一些注释.我没有做任何重命名或目录结构更改.
然后,我们一直在使用主干一段时间(没有任何分支),所以可能存在问题?
所以,如果有一个解决方案,我将非常感谢一些帮助.而且,这是典型的吗?这真是一个非常简单的测试,遗憾的是现在我有点害怕使用Subversion进行分支.
颠覆:1.5.4(通过VisualSVN服务器)
乌龟:1.5.5
我们也使用Visual Studio 2008.
谢谢!
布赖恩
这也发生在我不久前.
我不记得我究竟做了什么来触发这个问题,但我可以说我还在使用1.5之前版本,然后切换到1.5.0.
Subversion使用每个目录的svn:mergeinfo属性跟踪合并.此属性应仅出现在工作副本的根路径上(如果我错了,请纠正我).当我看到这个错误时,我注意到1.5之前的版本在工作副本内的文件上创建了显式的mergeinfo,这阻止了稳定版本正常工作.正如您在上次回复中所说,删除那些额外的mergeinfo条目也为我解决了问题.
我的建议是试用一个新的存储库,没有来自测试版的提交,看看是否会再次发生这种情况.
问题(更常见的情况)是当合并源有一些子树合并信息时,svn 1.5会发出特定的错误消息.您正确指出的解决方法是删除任何子树mergeinfo.详细的权威答案可以在以下网址找到:http://blogs.collab.net/subversion/2008/07/subversion-merg/