使用TortoiseSVN - 当我使用Test Merge时,我收到错误" http:// mysvnserver/svn/main/branches/ProjectA必须与http:// mysvnserver/svn/main/trunk/ProjectB有关. "
我该怎么做才能解决这个问题?
我刚刚遇到了类似的问题,想要添加我遇到的问题和解决方案.分支是由树干的SUBFOLDER而不是整棵树制成的.因此,当我试图重新融入时,我的等级制度不匹配.只需将整合重建为我的主干WD的正确子文件夹,就可以继续进行.
希望这可能有助于打击此Q/A的人.:)
让我猜一下:这些项目没有关系?查看历史,如果其中一个曾经分支或不分支.
立即解决方案:每手合并或尝试使用"svn merge --ignore-ancestry"命令行
正如davebytes所提到的,当你trunk\X
进入分支时会发生这个问题branches\Y
,但随后会X
进入一个新的文件夹Z
,即trunk\X\Z
.
如果你只是尝试合并在一个变化branches\Y
成trunk\X
,你会得到很多的冲突; 如果你只是尝试合并branches\Y
到trunk\X\Z
,你将看到"祖先相关的"错误.
但是,SVN手册描述了潜在的问题:svn merge
应该真的被调用svn diff-and-apply
.在这种情况下,您应该尝试描述的是,您正在尝试总结从r100到r200发生的更改branches\Y
,并将这些更改应用于trunk\X\Z\
.
在TortoiseSVN中,这是将两个不同的树场景合并到您的本地工作副本trunk\X\Z
,其中r100 branches\Y
设置为"from",r200 branches\Y
设置为"to".
由于以下原因,我们遇到了这个问题:
使用TortoiseSVN的repo浏览器创建了一个文件夹,并将其用作分支.之后我们尝试将手动创建的文件夹合并到工作文件夹中.
解决方案是:不要首先手动创建分支,而是使用TortoiseSVN - > Branch/tag ...选项创建分支.
希望这会有所帮助.