Search


DASWG LAL Doxygen

Docs

How-To's
Technical
Software Docs
Minutes

Download

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

Participate

SCCB - Software Change Control Board
Edit these pages
Sub-committees
Mailing List
Telecon

Projects

aLIGO Planning
BAYESTAR
DMT
Glue
GraceDB
gstlal
LALSuite
LDAS
LDG Client/Server
LDM
LDR
ligoDV
LIGOtools
LIGOtools
LVAlert Administration
LVAlert
MatApps
LSCGIS
Metaio
NDS Client
OSG-LIGO
PyCBC
PyLAL
LSCSOFT VM

Legacy Projects

geopp
Onasys

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)
                     |
		     |---->

Etiquette

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 anonymous@gravity.phys.uwm.edu to your_user_name@gravity.phys.uwm.edu in the environment variables below.

export LSCSOFTPREFIX=${HOME}      # <---- Change this as appropriate
export LSCSOFTCVS=":pserver:anonymous@gravity.phys.uwm.edu:2402/usr/local/cvs/lscsoft"

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
  cd $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 figure.ps. Type:
  cvs add -kb figure.ps
  cvs commit figure.ps
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 1861 2008-04-01 19:42:12Z bmoe $