SVN:合并分支和主干上的目录更改

时间:2018-09-24 15:36:42

标签: svn merge

我正在尝试将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

1 个答案:

答案 0 :(得分:0)

我建议您将Subversion升级到1.10.x,因为该版本具有新的交互式冲突解决程序:https://subversion.apache.org/docs/release-notes/1.10#conflict-resolver。在这种情况下可能会有所帮助。