On Jan 24, 2008, at 5:23 PM, David Jencks wrote:


On Jan 24, 2008, at 1:49 AM, Rick McGuire wrote:

David Jencks wrote:

Do not copy any code into branches under any circumstances.
I'm not sure I agree with this. The documented procedures for releasing involves moving the trunk version into branches using the eventual final release name. Once moved, the poms are updated to remove the -SNAPSHOT and the release candidates are built.
[...]

I guess I need to re-read the documentation for how to do a release, but I think it's wrong. In particular I thought what we voted on had to be built from a tag, not something in branches or trunk. I thought if a release vote failed we deleted the tag.

For the specs at least, which we release individually, there is no point in copying anything to branches. The release plugin can create the tag directly from trunk just fine and much better than I could by hand. When it constructs the release artifacts it checks out from the tag it created.

So, I don't see the point in branches unless we are actually going to branch or need to do manual cleanup before a release (such as with all of geronimo at present.... an unfortunate situation)

I was the one who drafted up the branching and release proposal (about the time I passed the releasing torch), so I recall all the discussion and motivation. The branching concept was really to deal with the incredibly manual act of finalizing versions, deps and other things. I was careful to put the motivation in the document so that we were clear on why we chose to do things that way and could continue to re- evaluate the benefit of the guidelines -- otherwise we forget and then the guideline becomes a rule with dogma (i.e. the "we've been doing it for years ... why change!!").

So, two things. One, there was no maven-release-plugin back then. Two, specs were still in the main build. Given those two things, I agree with David that branching for a spec wastes time rather than saving it. The problem the branching guideline was attempting to solve doesn't really exist for the parts we've bravely broken out as individual pieces (specs, connector, etc.). Now if only we could get our main build to be that easy....

-David

Reply via email to