From MIKE2 Methodology
This page outlines the approach to release management for omCollab.
Release Management
omCollab is developed using Subversion as a version control system. Subversion is a very flexible system that can support effective software development only if accompanied by a structured release management and development process. Here are the key guidelines for the omCollab Release Management:
- Trunk hosts a stable version of omCollab
- Anyone committing to trunk is responsible for making sure Trunk is working
- All enhancements need to be part of the release process and roadmap
- Enhancements that are not part of the release process need to be developed in a separate branch
- Separate branches need to synchronise changes from Trunk at least on a weekly basis in order to not divert too far from the core development
- Separate branches need to QA and test independently before being merged into Trunk
- When merged into Trunk, separate branches need to be thoroughly tested to ensure Trunk is stable
- When Trunk is ready for a release Trunk is copied to a branch with the release name
- Release is properly tested before being released
- No more enhancements are allowed in the release branch
- Bug fixes are committed to the branch and then also merge into Trunk
- When release branch is ready for release a tag is created from the branch and packaged for release
- No changes to the tag are allowed
- Any bug fixes reported after release are fixed in the Trunk unless they are severe and a patch to a release is required. In that case the fix is applied to the release branch, retested and another tag created on release
- omCollab
- trunk
- branches
- RL1.002.0
- RL1.003.0
- open_omCollab
- tags
Patching
Trunk is only administered by a core set of developers. Becoming a member of the core set of developers is done by application and on a one by one basis. If you would like to submit a patch please email the patch to mike2@openmethodology.org or apply it to the branch open_omCollab.