CASA Flow Of Changes In Version Control
This page describes the flow of changes from CASA developers between and within version control systems used by CASA developers.
Status: DRAFT DESCRIPTION
Typical Case
During a CASA development cycle, before we start preparing a release package, changes flow from Trunk -> Test branch -> Stable branch -> Release branch as shown below:
Key:
- rectangles are groups of people,
- folders are change control repositories, and
- circles are processes controlling which changes move from repository to repository.
This set of branches was chosen to give developers some control over which changes are included in CASA packages.
Code is merged between most branches on a regular schedule [to be written elsewhere]. The merge from Google CASACORE Trunk to the NRAO CASACORE Fortk Trunk is an exception. Code is generally merged from Trunk to Test based on developer comments with a commit to change control. All changes on Test are merged to Stable, then Release.
The Test branch is a long lived branch. New Stable and Release branches are created while preparing to publish packages from those branches.
Preparing for Release
This describes the unusual flow of changes while preparing to publish a CASA release.
Patching a Release
This describes the unusual flow of changes while patching a published CASA release.
CASA Bug fixes to CSIRO ASAP
There is some overlap between ASAP Developers and CASA Developers. Members of the overlapping groups commit changes to the appropriate repository as required.
If a CASA Developer who not also an ASAP Developer finds an issue in ASAP, that developer reports the issue to an ASAP developer. If that CASA Developer thinks they have a change to fix the issue, they also provide the change to an ASAP Developer. It is the ASAP Developer's decision to commit that change to the CSIRO ASAP Trunk, or to commit an alternate change.
These changes flow back to CASA via the typical case flows above.
CASA Bug fixes to Google CASACORE
There is no overlap between CASACORE Developers and CASA Developers.
When CASA Developers finds an issue in CASACORE, some CASA Developers commit changes to the NRAO CASACORE Fork Trunk. Other CASA Developers report the issue to a CASACORE Developers. If that CASA Developer thinks they have a change to fix the issue, they also provide the change to a CASACORE Developer. It is the CASACORE Developer's decision to commit that change to the Google CASACORE Trunk, or to commit an alternate change. That CASACORE Developer may contact the CASA Packager and instruct them which Google CASACORE Trunk changes to merge to the NRAO CASACORE Fork Trunk.
These changes flow back to CASA via the typical case flows above.
--
ScottRankin - 2013-04-02