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

Reply via email to