How to use the LSCSoft CVS archive
Table of contents
- The lscsoft CVS archive
- Etiquette
- Getting login access
- Accessing CVS repository
- Making changes and committing them to the CVS archive
- Updating your copy with changes made by another developer
- Adding postscript or pdf figures to the archive
- 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:
- Don't check in code that breaks the build
- Don't change another developer's code without checking with the developer
- Do help improve the code and documentation when you see problems
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-cleanor the equivalent command for the particular module you're working on. Then commit the modified file to the CVS repository:
cvs commit myfile.mYou 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 -Adfrom 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.psThe -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