通过从主干合并更新我的分支时出错



我需要将最新的更改从 trunk 获取到我的分支中,所以我执行了一个到目前为止运行良好的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:   

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

谢谢!

编辑1
所以我试图将其移动到一个临时位置: 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
所以我想这不是正确的方法,但是那是什么呢?

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

$ 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
...

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

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

如果你想实际合并两个版本的jpax_vip_console,你必须在主干合并后手动完成,因为svn不允许你合并不相关的项目。在这种情况下,您需要选择要保留提交历史记录的项目的一个版本,并将另一个版本手动合并到其中。

相关内容

  • 没有找到相关文章

最新更新