error when updating my branch by merging from trunk

4.9k views Asked by At

I need to get the latest changes from trunk into my branch, so i executed a svn merge ^/trunk/FW which until now has worked just fine (with minor conflicts that I've been able to fix manually). But I'm now getting a conflict that I don't know how to fix or even read/understand:

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:   

What does this mean, why does it pop-up and how can I fix it?

Thanks!

EDIT1
So I tried to move it to a temporary location with: mv src/rtos_core/jpax_bsp_vip/jpax_vip_console ~/tmp/jpax_vip_console and then I selected tf (their version) upon which I'm told: 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.
Okay, so I go again with svn merge ^/trunk/FW and now it tells me: 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
So I guess this is not the correct way to do it, but what is then?

EDIT2
Okay, so now, after resolving a few other conflicts, I have completed the merge and now on commit I get this:

$ 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

Why does it say it remains in conflict, svn stat gives me:

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

There are 1 answers

1
Michael Schlottke-Lakemper On BEST ANSWER

The original conflict arose because the jpax_vip_console file/folder was added in the trunk and your branch independently. When you try to merge trunk now, svn does not know what to do, since both versions of jpax_vip_console are unrelated.

The easiest solution would be to rename the problematic entity using svn commands, ie something like svn mv jpax_vip_console jpax_vip_console.2. Then commit. Afterwards, you should be able to merge trunk without conflict.

If you want to actually merge the two versions of jpax_vip_console, you have to do it manually after the trunk merge , as svn does not allow you to content-merge unrelated items. In that case you need to pick one version of the item, for which you would like to keep the commit history, and hand-merge the other version into it.