On Thursday, 20 December 2012 at 05:32:30 UTC, H. S. Teoh wrote:
On Thu, Dec 20, 2012 at 05:48:13AM +0100, deadalnix wrote:
On Thursday, 20 December 2012 at 04:11:00 UTC, Jesse Phillips
In my mind, after a release, the contents of staging are
updated to be
exactly the same as master. This can be done either via a
merge, or
simply deleting the current staging and making a new one by
branching
from master.
Yes, exactly!
No, staging does not receive new features except immediately
after
release. But it will get bugfixes that do not introduce new
things.
Example timeline:
- time=0: we just made a release, so staging := master.
- time=1: a crash bug is discovered in master. Walter checks in
a fix.
Fix is propagated to staging because it doesn't introduce new
things,
only fixes existing problems.
- time=2: Walter decides to merge UDA implementation into
master (for
example). Staging does NOT get UDA merged in, because UDA is
new.
- time=3: more bugs are found in master. Fixes are checked in.
Fixes get
propagated to staging.
- time=4: a UDA bug is fixed. Fix is NOT propagated to staging,
because
staging doesn't have UDA (yet).
- time=5: we decide that it's time to release. So:
- we tag a release on current staging
- we merge master into staging, so now staging gets UDA
- time=6: Walter adds HalfFloat to master. HalfFloat is NOT
propagated
to staging, because it's new.
- time=7: users running staging find a nasty design flaw in
UDA. Walter
makes a (breaking) fix in master, and the fix is propagated to
staging, because UDA is already in staging.
- time=8: Walter finds bugs in HalfFloat. Fixes are checked
into master,
but NOT staging.
- time=9: Walter adds more new features to master. These are NOT
propagated to staging, because they're new.
- time=10: it is decided that UDA design is stable now, and
we're ready
for release. So:
- we tag a new release on current staging
- we merge master into staging, now staging gets HalfFloat.
- etc.
Hopefully this makes it clearer what we're trying to achieve.
Yes, fully agreeable with me!
T
Thanks for writing that out so well. Excellent!
--rt