CASA Source Code Change Control

Page Status: Obsolete - see


This page is written for

  • new CASA developers, so they can learn how to work within the CASA source code change control system, and
  • existing CASA developers, so we can use the CASA source code change control system consistently.


After reading this page, a CASA developer should understand,

  • Which source code change control tool is used by CASA,
  • general guidelines for using that tool with CASA, and
  • where to find code and data for different parts of CASA.


All code and data required to deliver CASA packages to users shall be kept in source code change control, unless doing so will create a security issue for any of the organizations hosting CASA development.

CASA uses Subversion for source code change control.

Note: I have not seen the reasons for selecting Subversion documented.

Learning to use Subversion

Version Control with Subversion is a freely available tutorial and reference describing the basics of Subversion and how to use the command line tools developed by the Subversion project. Requests for assistance with Subversion are likely to be answered by referring developers to sections of Version Control with Subversion.

Server and Client Software

CASA uses the Subversion server included with Redhat Enterprise Linux 5.9 installation provided by the NRAO Helpdesk on At this time (2013-03-2), this is Subversion 1.6.11.

CASA uses the version of Subversion client included with either Redhat Enterprise Linux installation provided by the NRAO Helpdesk, or OS X pre-installed on Macs and updated by the NRAO Helpdesk. At this time (2013-03-2), this is Subversion 1.6.11 on both RHEL 5.7 and 6.3, and Subversion 1.6.17 on OS X 10.6, and Subversion 1.6.18 on OS X 10.7 and 10.8.

Any Subversion clients that can communicate with the CASA Subversion server without corrupting data or producing errors on the server are allowed. This includes the command line clients developed by the Subversion project, and any 3rd party Subversion tools, (command line, GUI, web based, whatever) CASA developers find useful.

CASA developers using 3rd party Subversion tools are responsible for using them correctly and ensuring these tools do not create issues for other CASA developers.

CASA Source Code Change Control Repositories

CASA code and data is split between several source code change control repositories based on

  • who is responsible for maintaining the code or data, and
  • how often the code or data changes.

The goal is to keep everything required to deliver CASA in source code change control while keeping code and data not needed by most developers out of their way.

Repositories below are listed in order of interest to most CASA developers.

Repositories Containing the Majority of CASA Code

  • casa
  • casa-data
    • distro - contains all CASA data distributed with CASA
    • trunk - Contains a developer updateable copy of all CASA data distributed with CASA, as well as most but not all data used in CASA testing.
  • casa-3rd-party
    • Contains source code for all 3rd party libraries used by CASA that we are allowed to redistribute.

There is a proposal to add a new Subversion repository to CASA:

  • casa-test
    • If approved, this will contain all CASA end-to-end tests and supporting data. This includes:
      • existing tests that require a complete CASA build to run, from casa repository above,
      • data from casa-data repository above that supports existing tests in the previous line,
      • new tests and data that require a complete CASA build to run.
    • this proposal is new. This repository does not exist now. Whether we add it or not depends on future plans to improve CASA testing.

Repositories Containing the CASA Single Dish Code

* asap

Repositories Containing the CASACORE Main Line of Development

CASA Repository Organization

CASA Subversion repositories are organized mostly per Subversion conventions:
  • details TBW

-- ScottRankin - 2012-07-24
Topic revision: r8 - 2013-09-11, 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