1. When features targeted for a particular release are code complete, a RELEASE branch is created. All fixes and changes including service packs for the release are made in this branch. The system is built and released from this branch.
2. Changes for future versions of the system can continue to be made in the MAIN line while fixes are being made in a RELEASE branch to service live customers. Any fixes made in the RELEASE branch that are applicable to the code in the MAIN line can be merged from the RELEASE branch to the MAIN line.