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