Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Eclipse Merge Branch into Trunk

I am trying to merge my development branch back into the trunk of my repo. Steps I took:

  1. Switch to trunk
  2. check that it is up to date, resolve any conflicts
  3. Go to Team->Merge
  4. Select URL : development branch
  5. Start Revision: Revision when branch was created
  6. End Revision: HEAD
  7. OK

This should do the magic - it opens up the syncronize view which is fine, shows me all the conflicts, but there the problem happens:

In the compare editor I see two files: Local File | Remote File (306)

This is really strange, the revision number of the remote file is actually the one of the file in the working copy (trunk) and so is the content. The local file has the content of the file in the branch.

Now the arrow shows correctly that I am merging from left to right (branch to trunk). This also happens when I click ok.

BUT I can only move changes from right to left!!! That's not what I want - I do not want to overwrite the changes in the branches with the old content of the trunk. I want to move the content from left (branch) to right (trunk). But I can't even write in the right file.

I do not know why it writes remote file there?? It's clearly showing the working copy file in the remote file window, and the file from the branch (for merging) is shown in local file.

Some bug in Subversive?

Thx, Martin

like image 354
martin Avatar asked Jan 19 '10 11:01

martin


1 Answers

Merges are never been easy with subversive (as mentioned in this old SO question), so may be doing the merge externally (or with subclipse) would be easier here.

If your client and repository are both at least in SVN1.5, Subversive new merge capabilities are better, but still dangerous as illustrated by this thread.

Since Subversive has been modified for SVN 1.5 the whole merge behavior has changed. One thing I really liked is the ability to choose what changes I wanted, apply that to my working copy and then commit to trunk.
Subversive now no longer does that but forces all changes onto your working copy and then you choose what to put in the trunk.

This is not only undesirable behavior but it's also dangerous (if you ignore the possibility of a revert anyway). I prefer to commit things I know work. We have a release branch which gets changes which may or may not need to be migrated to the trunk.

like image 99
VonC Avatar answered Sep 28 '22 07:09

VonC