【问题标题】:svn merge conflict for identical files with common ancestor具有共同祖先的相同文件的svn合并冲突
【发布时间】:2016-02-25 10:52:28
【问题描述】:

当从一个长期存在的分支合并回主干时,我遇到了数百个类似以下的冲突。

Conflict discovered when trying to add 'src/main/python/application/mail.py'.
An object of the same name already exists.
Select: (mf) my version, (tf) their version, (p) postpone,
        (q) quit resolution, (h) help: tf
svn: warning: W155027: Tree conflict can only be resolved to 'working' state; '/home/me/dev/trunk/src/main/python/application/mail.py' not resolved
svn: E205011: Failure occurred resolving one or more conflicts

但是这些文件是相同的(svn diff 不返回输出)并且共享一个共同的祖先。

svn mergeinfo ^/branches/2_3_RELEASE/src/main/python/application/mail.py ^/trunk/src/main/python/application/mail.py
    youngest common ancestor
    |         last full merge
    |         |        tip of branch
    |         |        |         repository path

    20821              20831
    |                  |
       --| |------------         branches/2_3_RELEASE/src/main/python/application/mail.py
      /
     /
  -------| |------------         trunk/src/main/python/application/mail.py
                       |
                       20831

我们是一个大型项目,同时有多个版本在进行中。 2.2 是从主干中切出的,2.3 从 2.2 中创建,然后 2.2 合并回主干,2.3 从主干重新设置。

Trunk
|
|\ create 2.2
| *
| *
| |\ create 2.3
| * |
| |  \
| |\ /
| | * merge 2.2 to 2.3
|/  *
*   |  2.2 released and merge to trunk
|\ /
| *  rebase 2.3 from trunk
| *
|/
*   merge 2.3 to trunk, what I'm attempting now

我们做错了什么?

【问题讨论】:

  • 考虑使用这种分支迁移到 Mercurial

标签: svn merge


【解决方案1】:

工作流程没有错,只是提高了期望,也是 SVN 众所周知且仍然无法避免的弱点之一

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-24
    • 2023-03-20
    • 1970-01-01
    相关资源
    最近更新 更多