svn合并与共同祖先相同文件的冲突

时间:2016-02-25 10:52:29

标签: svn merge

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

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

我们做错了什么?

1 个答案:

答案 0 :(得分:1)

工作流程没有任何问题,这只是提高了预期,是SVN众所周知且仍然不可避免的弱点之一