Software Docs


Browse CVS, Git, or SVN
Repositories - SL6
Software Repositories
OS Security Updates
LIGO software virtual machine
VMware SL6 Install


SCCB - Software Change Control Board
Edit these pages
Mailing List


LDAS Tools
LDG Client/Server
LVAlert Administration
NDS Client

Legacy Projects


How to use the LSCSoft CVS archive

Table of contents

  1. The lscsoft CVS archive
  2. Etiquette
  3. Getting login access
  4. Accessing CVS repository
    1. Checking out a single module
    2. Checking out the whole lscsoft repository
  5. Making changes and committing them to the CVS archive
  6. Updating your copy with changes made by another developer
  7. Adding postscript or pdf figures to the archive
  8. Adding a new file

The lscsoft CVS archive

DASWG uses CVS -- Concurrent Version-control System -- as a collaborative code development and document control system. It is a tool to allow multiple developers to manipulate the same files, merging differences and identifying conflicts between changes if they arise.

The lscsoft CVS archive is structured as follows:

Repository Name:  lscsoft
                     |---->lal         (LAL          module)
                     |---->lalapps     (LALApps      module)
                     |---->glue        (Glue         module)
		     |---->matapps     (MatApps      module)
		     |---->lsware      (Temporary    module)


We operate the lscsoft CVS as an open development environment in which we rely on developers not to do deliberate damage to other people's code. This honor system has worked well up to now and we hope it will continue.

Some basic rules about checking in code:

Getting login access

If you already have a login and passwd, go to the next section. If you want access to the lscsoft CVS repository, please fill out and submit this form. Javascript must be enabled for this form to work.

Accessing the CVS repository

If you have a lscsoft CVS login, change to in the environment variables below.

export LSCSOFTPREFIX=${HOME}      # <---- Change this as appropriate
export LSCSOFTCVS=""

Note that the lscsoft pserver is running on port 2402 instead of the default port for cvs pserver. This is necessary to allow administrative access to the archives in a secure manner.

In the following commands, remember \verb+LSCSOFTPREFIX+ is the absolute directory path where you want to install your modules from lscsoft archive. If \verb+LSCSOFTPREFIX+ does not exist, you must create it:

    mkdir -p $LSCSOFTPREFIX
Then create the directory into which you wish to put the modules
  mkdir $LSCSOFTPREFIX/src
  cvs -d $LSCSOFTCVS login

Checking out a single module

Now, you can check out any one of the modules individually, for example to get matapps

  cvs -d $LSCSOFTCVS checkout matapps

Checking out the whole lscsoft repository

Alternatively, you can check out the whole repository as

  cvs -d $LSCSOFTCVS checkout lscsoft

Making changes and committing them to the CVS archive

Once you've made your changes and checked that everything builds ok, you want to commit the modified file to the CVS repository. To do this, first remove any auxilliary files by typing

  make cvs-clean
or the equivalent command for the particular module you're working on. Then commit the modified file to the CVS repository:
  cvs commit myfile.m
You will be asked to provide a comment for the change log. This does not need to be detailed, but should give some indication of the work you were doing.

Updating your copy with changes made by another developer

To update your entire directory simply type:
  cvs update -Ad
from the lscsoft directory. This will download and merge changes into the files from the repository. If you have been working on a local copy and your changes conflict with those made by the other person, you will receive a warning and will need to manually edit the file to remove the conflicts. It is usually good practice to update your local copy of the archive before working on the files; this avoids conflicts. It is also good practice to commit changes reasonably often.

Adding postscript or pdf figures to the archive

To add a postscript or pdf figure to the archive, first place it in the appropriate directory. Suppose the filename is Type:
  cvs add -kb
  cvs commit
The -kb flags are very important. They prevent certain substitutions from being done by CVS. If you commit postscript or PDF without these options, let the project maintainer know and we'll get it fixed.

Adding a new file

To add a file to the archive, first place it in the appropriate directory. For convenience, let the filename be myfile.m. Type:
  cvs add myfile.m
  cvs commit myfile.m
$Id: lscsoft-cvs.html 4990 2015-09-04 16:15:25Z branson.stephens@LIGO.ORG $