On Saturday October 14 2006 9:30 am, Kenney Westerhof wrote:
> Hm. This only describes a major release.
>
> I think that branches should be created off tags, and that a developer
> should do that, not a release plugin.
>
> The above process looks ok for major releases (with reservations), but
> we probably don't want to create a branch for each bugfix release.
>
> Say you're working on maven-2.0.x branch, currently at 2.0.5-SNAPSHOT.
> If we follow the above process, assuming that 'TRUNK' can also mean
> 'branch', we'd get a branch for 2.0.5, which will never change since
> there are no 2.0.5.x releases. You have to stop this recursion
> somewhere - otherwise you'd get 2.0.5.1.1.1.1 branches.
>
> Personally I like the following process when doing a bugfix release:
>
> 1) release:prepare: tag branch 2.0.x as 2.0.5-rc1
>
> 2) release:propose: stage 2.0.5-rc1
>
> 3) if there are -1's on the proposed release, work on 2.0.x branch
> (still at 2.0.5-SNAPHSHOT) and release 2.0.5-rc2, -rc3 etc, until the
> release is ACK'd. (so basically: work on the code, goto step 1,
> incrementing the rcX counter).
>
> 4) release:accept: tag 2.0.5-rcX (which should be the same as the
> branch) as 2.0.5, build tag 2.0.5 and deploy to the live site. Also
> update the 2.0.x branch's pom to 2.0.6-SNAPSHOT.

The problem is that this is not ALLOWED.   The artifacts that were voted 
on MUST be the artifacts that are released.   You cannot vote on one set 
of artifacts, then build a whole new set of artifacts for the release.

You also cannot go into the artifacts and start changing manifests and 
such and renaming version numbers/jars/etc.... 

That was kind of the purpose of the branch.    Create the 2.0.5 branch 
where the "proposals" are made from.   The proposals go to a "staging" 
area (not an official repository like the snapshot or release 
repositories) with the "real" version number of 2.0.5 where they are 
voted on.   If there are problems, fix it on the branch and rerun 
propose.  

Now, the "accept" could do "svn mv branches/2.0.5 tags/2.0.5" or similar 
to convert the branch to a tag.  

The branch name could also be something like "2.0.5_prepare_release" or 
something so we know it's a branch specifically being used to prepare a 
release and will be "removed" once the release is complete.

>
> 5) For a bugfix release: that's it. For a major release (say 2.1), also
> copy the 2.1 tag to a 2.1.x branch. (the pom's version in trunk will
> have been updated to 2.2-SNAPSHOT in step 4).
>
>
> Comments?
>
> -- Kenney
>


-- 
J. Daniel Kulp
Principal Engineer
IONA
P: 781-902-8727    C: 508-380-7194   F:781-902-8001
[EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to