...
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.
...