2

我需要从主干获取最新的更改到我的分支,所以我执行了一个svn merge ^/trunk/FW到目前为止工作得很好(我已经能够手动修复的小冲突)。但是我现在遇到了一个我不知道如何解决甚至阅读/理解的冲突:

Conflict discovered when trying to add 'src/rtos_core/jpax_bsp_vip/jpax_vip_console'.
An object of the same name already exists.
Select: (mf) my version, (tf) their version, (p) postpone,
        (q) quit resolution, (h) help:   

这是什么意思,为什么会弹出,我该如何解决?

谢谢!

EDIT1
所以我试图将它移动到一个临时位置: mv src/rtos_core/jpax_bsp_vip/jpax_vip_console ~/tmp/jpax_vip_console然后我选择tf (their version)了我被告知的位置: svn: E155027: Tree conflict can only be resolved to 'working' state; '/home/ron/src/NextGen/branches/Ron/src/rtos_core/jpax_bsp_vip/jpax_vip_console' not resolved
好的,所以我再去一次,svn merge ^/trunk/FW现在它告诉我:svn: E195016: Merge tracking not allowed with missing subtrees; try restoring these items first: /home/ron/src/NextGen/branches/Ron/src/rtos_core/jpax_bsp_vip/jpax_vip_console
所以我想这不是正确的方法,但那是什么?

EDIT2
好的,所以现在,在解决了一些其他冲突之后,我已经完成了合并,现在在提交时我得到了这个:

$ svn ci -m " merged changes from trunk"
svn: E155015: Commit failed (details follow):
svn: E155015: Aborting commit: '/home/ron/src/NextGen/branches/Ron/src/rtos_core/jpax_bsp_vip/jpax_vip_console' remains in conflict

为什么它说它仍然存在冲突, svn stat 给我:

...
    > moved to src/rtos_core/jpax_bsp_vip/jpax_vip_console.2
...
...
  C src/rtos_core/jpax_bsp_vip/jpax_vip_console
  >   local dir obstruction, incoming dir add upon merge
...
4

1 回答 1

1

最初的冲突是因为jpax_vip_console文件/文件夹是独立添加到主干和您的分支中的。当你现在尝试合并主干时,svn 不知道该怎么做,因为这两个版本jpax_vip_console是不相关的。

最简单的解决方案是使用 svn 命令重命名有问题的实体,例如svn mv jpax_vip_console jpax_vip_console.2. 然后提交。之后,您应该能够合并主干而不会发生冲突。

如果你想真正合并 的两个版本jpax_vip_console,你必须在 trunk merge 之后手动进行,因为 svn 不允许你对不相关的项目进行内容合并。在这种情况下,您需要选择项目的一个版本,您希望为其保留提交历史记录,并将另一个版本手动合并到其中。

于 2016-01-24T08:18:18.053 回答