incubator-flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Justin Mclean <jus...@classsoftware.com>
Subject Re: How to Merge Unstable Branch (was: [POLL] Use Unstable Branch)
Date Wed, 08 Aug 2012 23:58:06 GMT
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
Mime
View raw message