Hi,

>> How can you merge from unstable to trunk persons A changes when the unstable
>> branch contains persons A, B, C, D, E and F changes and each person may of
>> made multiple check ins at different (overlapping) times?
> You specify the revision number in the merge command.
And if they made multiple check ins you would need to specify each in turn?

So I think these are the steps involved (please correct if wrong this is off 
the top of my head).
1. Check out trunk and unstable vi svn co to make local copies (as you'll need 
two full copies of the SVN tree to make any changes)
2. Make changes in unstable.
3. Commit changes back to unstable via "svn ci". Note down all check in 
revision numbers.
4. Code is reviewed on list need a couple of fixes.
5. Make a few fixes/changes via more "svn ci" to unstable. Again note revision 
numbers.
6. Code is approved for trunk.
7. Make sure local copies of unstable and trunk is upto date via a "svn so" in 
both
8. Merge you local copy of unstable with you local copy of trunk. Do this by 
merging each changeset one by one via several "svn merge -c -XXX" using 
revision number above or find revision numbers by hunting though svn log.
9. Sort out any conflicts - hopefully none.
10. Check in changes to trunk via "svn ci"

Well actually that's not quite right as I think we've now lost the version 
history of changes in trunk (ie multiple check in unstable have become one 
check in in trunk). Any idea on how to get around this? It it possible to 
preserver history in some way?

Also lets go worse case and assume at step 9 there is conflicts (due to some 
other changes made in unstable that have not been merged into trunk as yet). To 
fix you would have to make extra changes to trunk not unstable, resolve and 
then check into trunk. But then unstable would be out of sync with trunk, so 
you would then have to merge unstable with trunk via "merge reintegerate" (I 
think but it getting rather confusing at this point) and then you would have to 
check in unstable.

Do we really need (or want) all this complexity?

Justin

Reply via email to