【问题标题】:Svn: Merging with directory changes on both branch and trunkSvn:合并分支和主干上的目录更改
【发布时间】: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

【问题讨论】:

    标签: svn merge


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-01
      相关资源
      最近更新 更多