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:

flowOfChangesInChangeControl-Typical.dfd.svg

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

Topic attachments
I Attachment Action Size Date Who Comment
flowOfChangesInChangeControl-Typical.dfd.dotdot flowOfChangesInChangeControl-Typical.dfd.dot manage 5 K 2013-04-05 - 14:42 ScottRankin Graphviz source for flowOfChangesInChangeControl-Typical.dfd.svg
flowOfChangesInChangeControl-Typical.dfd.svgsvg flowOfChangesInChangeControl-Typical.dfd.svg manage 28 K 2013-04-05 - 14:43 ScottRankin Flow of Changes in Change Control - Typical Case
This topic: Software/CASA > Software > WebHome > CASASoftwareEngineering > CASAFlowOfChangesInVersionControl
Topic revision: 2013-04-05, ScottRankin
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding NRAO Public Wiki? Send feedback