【发布时间】:2018-09-24 15:36:42
【问题描述】:
我正在尝试将我的 svn 分支合并到主干,但是主干和分支上的目录结构都发生了更改。
原来分支点的目录结构如下:
Main |---- Input | |---- A | |---- B, etc. | ... |---- Output |---- A |---- B, etc. ...
分支后,trunk上的目录结构变为:
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. ...
当我尝试天真地将分支合并到主干时,我与 Input 和 Output 文件夹发生了树冲突。 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
【问题讨论】: