|
Boost : |
From: John Maddock (john_at_[hidden])
Date: 2008-08-21 13:09:57
Stefan Seefeld wrote:
> John Maddock wrote:
>>
>> In short: commit to trunk, wait for the test results to cycle at
>> least once, and when you're sure that the code is stable and release
>> ready on all supported platforms, only then merge to the release
>> branch.
> This description of 'trunk' sounds more like it should be called
> 'sandbox' to me.
> May be that would indeed be a good idea to clarify the process you are
> promoting.
Sandboxes are for experimental changes, Trunk is for stable changes that you
have tested locally to the best of your ability, but which needs the full
regression tests to be run before it's considered "release ready".
In fact, the *aim* is to keep Trunk release ready at all times, the trouble
is we've found that not to work in practice, as even with the best will in
the world unexpected breakages do occur. Separating Trunk and release
branch is intended to minimise this kind of unintentional (or down right
sloppy!) breakage.
>> The expectation is that most people will merge to the release branch
>> only periodically, when there are a number of release-ready changes
>> pending.
>
> As usual, this may get quite complex if changesets are interdependent.
> I.e., it may be that one patch that went into trunk only works because
> of another patch in trunk, but would fail in release without the other
> there applied first.
It does, been there, experienced that already :-(
Actually while it cost me a bit of extra time, it wasn't too bad after all,
HTH, John.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk