Hi guys,
Toni and Jervis would like to start working on the release next
Friday,
so
anything that is committed before Thursday 16-DEC-2010
18:00 GMT (=branch day) makes the release
and anything that's later does NOT make the release.
At least, that's the general idea :)
If needed, you can ask Toni to port specific commits to the
release branch.
Please don't commit anything unstable Thursday, just to get it to
ship in the M1 release.
The release date will be
soon after that branch day, but
no sooner than it's ready :)
More info
======
- Release
branch: No release is done from trunk (including
milestone releases). Every release set gets a release branch,
for example:
- drools-5.2.x branch with tags:
- drools-5.2.0.RC1
- drools-5.2.0.RC2
- drools-5.2.0
- drools-5.2.1
- drools-5.2.2
- drools-5.2.0.M1 branch with tags:
- drools-5.2.0.M2 branch with tags:
- Branch day: the day (actually a timestamp) on which Toni
creates the release branch as a copy from trunk (master)
- Usually 1 or 2 weeks before the aimed release
day
- For
milestones 1 or 2 days can be sufficient
- This
gives them a chance to test the assemblies and release
artifacts and patch any blocking bugs
- without the other
developers adding stuff
- Compare
this to the linux kernel where they can commit for half
a month and the branch day is 2 and half months before
the release :)
- Stable
features can be added before the branch day. Unstable or
risky features must be added after the branch day.
- The branch day date is mostly unchangeable
for all developers (at least close to the date):
- Postponing
the timestamp for 1 developer = blocking all other
developers of adding their risky features to trunk.
- In or
out principle:
- Either
your commit is there, before the branch day, and it
makes the release.
- Either
your commit is not there, before the branch day, and
it will have to wait for the release.
- Either
you convince Toni that there is 100% no risk in adding
your commit and you commit it to both trunk and release
branch.
- Fight your inner feeling that says "I 'll just
add this improvement fast so it's part of the release. I
am sure it's fine."
- It
might not be fine. It's not worth the risk.
- Release
date: When the release branch is releasable. It's
ready when it's ready.
- The release date is irrelevant for most
developers. They should watch the branch day.
So to put this in effect:
- Branch day (timestamp) for M1 Thursday
16-DEC-2010 evening 18:00 GMT.
- Either your commit is in there
- Or it is NOT
- Don’t
worry, it will be in the next release
- Or you politely convince Toni so you can commit
it to both trunk and the release branch