SVN: Create a branch from branch and merge to trunk

Alagu picture Alagu · Jul 13, 2011 · Viewed 11.4k times · Source

We have a branch B1, and it is still not stable yet so it is not in trunk. But we want to work with changes from B1 so we create a branch B2 from B1.

So svn copy was done as follows

svn copy http://svn/trunk http://svn/B1

svn copy http://svn/B1 http://svn/B2 

After some days, B1 will be stable and B1 will be reintegrated to trunk.

Now, the problem lies with merging back of B2 to trunk. Do we reintegrate B2 back to B1 and then reintegrate to trunk or directly reintegrate B1->trunk and B2->trunk?

Answer

Doug Chamberlain picture Doug Chamberlain · Jul 13, 2011

Since you stated that you created B2 just to have the latest and greatest changes from B1, then I would say logically B2 is now dependent on B1, so I would go

B2 ---reintegrate branch--> trunk
B1 ---reintegrate branch--> trunk

Either reintegration can happen first.

You have to make sure that you keep B2 updated with any new Trunk or B1 commits, then you can pick during the update to B2 how to handle any conflicts.

As long as you do this, you can commit either branch first. You will be able to resolve any conflicts during the reintegrations.

When I branch, I branch even for very small changes, that way I have a branch per task and I can reintegrate them independently into the trunk in an order I need to...For the most part.