我正在尝试将svn分支合并到主干,但是主干和分支上的目录结构均已更改。
分支时的原始目录结构如下:
Main |---- Input | |---- A | |---- B, etc. | ... |---- Output |---- A |---- B, etc. ...
分支后,中继上的目录结构更改为:
Main |---- A | |---- Input | |---- Output |---- B, etc. ...
但是,在分支上,文件夹A被分为两个单独的文件夹,因此目录结构变为:
Main |---- Input |---- A_1 |---- A_2 |---- B, etc. ... |---- Output |---- A_2 |---- A_1 |---- B, etc. ...
我想将分支合并到主干,以使其具有以下结构并保留分支上所有提交的历史记录:
Main |---- A_1 | |---- Input | |---- Output |---- A_2 | |---- Input | |---- Output |---- B, etc. ...
当我尝试将分支幼稚地合并到主干时,与输入和输出文件夹发生树冲突。 svn状态为:
M . ! C Input > local missing or deleted or moved away, incoming dir edit upon merge ! C Output > local missing or deleted or moved away, incoming dir edit upon merge Summary of conflicts: Tree conflicts: 2
感觉我可以只合并分支中的A_1和A_2文件夹,但它们不存在于主干中。我试图在主干上创建一个新的A_1 / Input和A_2 / Input文件夹,并从分支上的Input / A_1和Input / A_2合并,但是我没有共同祖先的问题。它们显然都来自文件夹A,但我不知道如何获取svn来考虑这一点。
有没有简单/任何方法可以做到这一点?
我正在使用svn,版本1.9.5
答案 0 :(得分:0)
我建议您将Subversion升级到1.10.x,因为该版本具有新的交互式冲突解决程序:https://subversion.apache.org/docs/release-notes/1.10#conflict-resolver。在这种情况下可能会有所帮助。