The Pan-STARS CVS main repository can now be accessed if you have an account on the Pan-STARRS NIS domain. This document provides directions for checking out portions of the Pan-STARRS code. An intro to CVS can be found here.
To access the Pan-STARRS CVS tree, set these environment variables:
CVS_RSH = ssh CVSROOT = (username)@cvs.pan-starrs.ifa.hawaii.edu:/cvsroot/pan-starrs
You can also browse the CVS tree with View CVS
CVS is a tool for tracking changes in source code, documents, or other (usually text) files. A CVS repository is defined which contains all of the files to be tracked, stored in a format that maintains all of the change history. The user interacts with CVS by checking out some portion of the software into their own local copy. The user may then change files within the local copy as needed, and occasionally publish their changes to the CVS repository or download any changes in the repository into their local version.
The Pan-STARRS CVS repository currently has the following directory structure:
The top-level entries in the repository represent the Pan-STARRS subsystems, with lower-level directories representing the natural subdivisions of the subsystems.
Note the presence of IPP and IP3.
The IPP is unique within Pan-STARRS in having a two-stage development effort:
prototype code is being generated at the IfA for the IPP, while
MHPCC will be delivering the operational version of the software.
The IfA contribution is placed in IP3 (IPP Prototype), while the
MHPCC CVS repository directories are mirrored to IPP (read-only).
Also note that the CVSROOT directory is only used for CVS
administration.
| module name | repository dir | checkout dir |
|---|---|---|
| CVSROOT | CVSROOT | CVSROOT |
| project | project | project |
| latex | project/latex | latex |
| datasys | datasys | datasys |
| IP3 | datasys/IP3 | IP3 |
| IP3-doc | datasys/IP3/doc | IPP |
| IP3-pslib | datasys/IP3/pslib | pslib |
| IP3-utils | datasys/IP3/utils | utils |
| IPP | datasys/IPP | IPP |
| MOPS | datasys/MOPS | MOPS |
| www | www | www |
The organization of the directory structure in the CVS repository need not map exactly to the directory structure of the checked-out copies. This is because the user actually checks out 'modules', which represent specific CVS repository directories or collections of associated directories. In the Pan-STARRS CVS repository, we have specified modules to allow users to check out the lower-level systems as well as logical groups. Here is a list of the currently defined modules and their meaning:
With the modules, a user who prefers to have the document and source-code directories in different trees may do so by checking out the source code entries (eg, IP3-pslib, IP3-utils) in one directory and the documents (eg, IP3-doc) in another locations. It is possible to restrict write access to a given module to a subset of the possible users.
To make extensive use of CVS, you are advised to read the CVS manual. However, it is easy to use CVS to download the current version of documents, sample code, etc.
First, set the environment variable CVS_RSH to the value:
CVS_RSH = ssh
Next, set the environment variable CVSROOT to the value:
CVSROOT = (username)@cvs.pan-starrs.ifa.hawaii.edu:/cvsroot/pan-starrs
Where 'username' is the account name you would use to login to pan-starrs or poiserver0.
When initially downloading code from the Pan-STARRS CVS repository, you can use the following command:
cvs co [module]
where the entry [module] should be one of the module
names listed above. The result will be a new directory at your
current location with the name given by the last column of the
table above. For example, if you want to check out the code for
the prototype IPP library, you can issue the command:
cvs co IPP-pslib
And you will receive a directory called pslib.
At any point, if you want to update your version from the repository, you can go to the original directory level (which contains the module) and issue the command:
cvs update -dP [module]
Note that the -dP flags tell CVS to "build" and "prune"
directories which have been added to or removed from the repository.
or, if you are in the directory where you checked out the module, you can just type
cvs update -dP
and it will update everything at or below your current level.
As an example of the checkout process, we can examine the steps to
check out the Pan-STARRS latex style files and templates. The
user may choose to check out the entire project module,
which contains the latex components as well as other useful
examples (ie, emacs coding style template). Alternatively, the
user may simply checkout the latex module:
cvs co latex
This will create a local directory latex which contains:
If there are changes, the user may use cvs to download
the latest version by running the following in the latex
directory:
cvs update -dP
To use the style-files, there are various options available. The
user needs to get the *.cls, *.def files into their
TEXINPUTS path. If you have a personal TEXINPUTS directory in
your path, one option is to make a link from these files into that
directory. Another is to copy the style files to the directory
where latex will be used. A third option is to copy the files to
be latex'ed to the latex directory.