Versions Compared

Key

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

...

This document serves as the touchstone for the development process that is used by the Maven project to manage branches and the trunk during the development leading up to releases.
In particular the following will be addressed:

  • Where new New features are developeddevelopment
  • Releases
    • Creating a release branch
    • Working on a release branch
    • Creating release candidates (RCs) from a release branch
    • Soak period for RCs
    • How to integrate bug fixes into an RC
    • Generating an official release
    • How to integrate bug fixes into a release branch
  • Experimental, complex bug fix, and high-risk change branches

The terminology used here is somewhat SVN specific as that is the tool the Maven project uses. At some point we would like to generalize these strategies for all SCMs and integrate these strategies into general tools where Maven SCM can deal with the operations outlined here in an SCM independent fashion.

...

New feature development

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.

...

No Format
svn copy -m "Create RB-1.0 branch" svn://svn.apache.org/repos/asf/maven/XXX/trunk svn://svn.apache.org/repos/asf/maven/XXX/branches/RB-1.0

 

Working in Release Branch

...

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

 

Creating release candidates (RCs) from a release branch

...

No Format
svn copy -m "Tag release 1.0.0" svn://svn.apache.org/repos/asf/maven/XXX/branches/branch1 svn://svn.apache.org/repos/asf/maven/XXX/tags/REL-1.0.0

 

How to integrate bug fixes into a release branch

...