On Dec 20, 2006, at 2:51 PM, Craig McClanahan wrote:
* Since the trunk is being continuously built by Continuum,
trying to do our release cutting there (including removing
SNAPSHOT from the version numbers) would cause Continuum
to publish a release, with the real version number, before
we had a chance to vote on it. Hence, we need to branch
for the actual release cutting process, and do it there.
So the first thing we'd do when we decide to release is - after
finishing up business - start a branch for the release. Then we work
up the release process in the branch. Once the release is ready and
voted on, we cut a tag from the branch and roll the release. Does
that sound reasonably close to what you have in mind? :-)
* I have a desire to push our further development process to a
model where we're doing "new feature" development only on the
trunk, but we maintain active branches for backporting bugfixes
and security patches as needed.
[...]
I've been seeing lots of projects get dinged because they mix
bugfixes and feature updates all the time, so you can't get one
without the other -- to say nothing about how it stretches out
your release cycles (just as we're seeing with 1.0.4 :-). Today's
thread on the MyFaces dev list is just one sample of this.
I'm definitely in favor of this approach. I've been following the
MyFaces discussion. As a MyFaces user I'm stuck in a place where I
have to depend on a snapshot simply because our application cannot
use any combination of core and tomahawk code I really don't want to
get into a situation like that with Shale and it could happen
easily. We're like MyFaces in that we have multiple sub-projects
that can live independently but have to be able to work together.
From a developer perspective, I think setting up a branch whenever
you want
to work on a new feature when it's not the right time to build it
into the
next release will help us remove that instinctive pressure to add
"one more
feature", but also satisfy the itch that I want to get my initial
work out
there shared someplace it can be collaborated on.
Yep, I had the first big Tiles refactor on my computer for at least a
month before I was able to commit it and that was a sandbox project!
I think this would also render moot the decision whether or not to do
separate or combined releases.
Greg