The ORAC code is managed using the Subversion version control software (SVN). This is free software and can be obtained from

Detailed information on using SVN can be found in the manual "Version Control with Subversion", which is freely available from

ORAC SVN Mini Guide

The following is also available as a PDF document - which is attached to this page (click "Attachments" below)

Basic commands for checking out and checking in svn code

  1. svn checkout : Checks out all the code and documents
  2. svn status –u or for a specific directory svn status -u Scia/ : Checks the status of the files in the directory against the BADC repository (svn status without “-u” checks status locally, no check against the repository). The status of each file will be denoted by one of the following codes:
    • A = flagged to be added, but not yet imported (from 'svn add')
    • M = modified compared to repository
    • C = conflict (something gone wrong! eg someone else updated the repository, your local copy is different)
    • ? = unknown status (generally in local dir but not in repository and not flagged to be added)
    • ! = confused (e.g. if deleted local copy with “rm”, rather than with svn delete)
  3. svn add {file1}: This doesn’t update the repository, just marks the file as ready to be added during next commit -only needs to be done once
  4. svn propset svn:keywords Id {file1}: This command is not for data files just fortran files. This command updates the version number in the file. -only needs to be done once.
  5. svn commit -m ' message very important' {file1} : Commits file to repository, or with no file specified commits all changes
  6. tkdiff {file1} : Shows the differences between a local file and what is in the BADC repository, or against a specific version tkdiff –r 34 {file1}
  7. svn log {file or dir} : View when code changes were imported and the user explanations of what changed
  8. svn move {file1} {file2 or dir} : Rename file1 to file2 or move file1 to subdirectory dir.
  9. svn delete {file1} : Remove file1 (original remains in the repository but subversion “removes” it from new revisions)
  10. svn mkdir {dirname} : creates a new directory
  11. svn revert {file1} : reverts file to repository version