Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

All new features should be integrated into the latest revision or the trunk. Once a new feature is implemented and integrated into the trunk it can then be decided which branches the new features should be applied to. There may be rare cases where a new feature only applies to a particular branch but in general all new features go to the trunk first and disseminated from there. The important thing is that all changes go into the trunk first, then get merged into the release branch as needed, so no changes ever get dropped by mistake.

Releases

Creating a release branch

  • A release branch should be made well in advance of the release to allow for stabilzation of release and the preparation of RCs
  • Make sure that everyone has checked in their local modifications before the branch is created.
  • Copy using URLs as everything will occur on the server and be faster.

...

No Format
svn copy -m "Create RB-1Maven 2.0.x branch" svn://svn.apache.org/repos/asf/maven/XXXcomponents/trunk svn://svn.apache.org/repos/asf/maven/XXXcomponents/branches/RBmaven-12.0.x

...

Working

...

on a release branch

To work on a release branch you can either checkout the branch or switch and existing working copy to the branch. It is probably easier to checkout the branch in a different directory so that you can work on the trunk and branch at the same time.

No Format
svn co svn://svn.apache.org/repos/asf/maven/XXXcomponents/branches/branch1

...

maven-2.0.x

Creating release candidates (RCs) from a release branch

Soak period for RCs

How to integrate bug fixes into an RC

RCs should be made available in succession until the community is satisfied that the RC in question is of release quality. The RC should be tagged and a standard release using the release plugin should follow.

  • need to sort out how they will be named, but i think they should be named rc1, rc2, etc. but this might make releasing a pita
  • we also need to sort out what to do with the rc that is release quality? just rebuild, or rename somehow (i don't think we could easily do this right now)

Soak period for RCs

RCs should be circulated for no less then three days so that we can accurately determine if there are any defects present.

How to integrate bug fixes into an RC

If bugs are found in the RCs, then the fixes should be applied to the trunk and then immediately be applied to the release branch.

Generating an official release

...

No Format
svn copy -m "Tag release 12.0.03" svn://svn.apache.org/repos/asf/maven/XXX/branches/branch1maven-2.0.x svn://svn.apache.org/repos/asf/maven/XXXcomponents/tags/RELmaven-12.0.03

...

How to integrate bug fixes into a release branch

If bugs are found in the release, then the fixes should be applied to the trunk and then immediately be applied to the release branch. The only time this would no apply is when there are features in the branch that are not present in the trunk i.e. deprecated features.

/----------/

This page serves as the touchstone for the development process that is used by Maven to manage branches and the trunk during the development leading up to releases.

...