Using CVS To Collaborate on HFAG Papers

Accessing the HFAG CVS repository

In order to access the HFAG CVS repository, you need an HFAG SLAC account and you must be logged on to a machine that supports AFS client access to SLAC, and has Concurrent Versions System (CVS) software installed.

To authenticate yourself with the SLAC AFS server, you need a token. On most unix systems, you request a token with the klog command, e.g.

  klog -princ  -cell
where is your SLAC HFAG username.

To configure your CVS software, set the CVSROOT environment variable to point to the HFAG repository at SLAC via AFS, e.g.

  setenv CVSROOT /afs/

Downloading the latest version of a paper for the first time

Once you have configured AFS and CVS, use the checkout (co) command, e.g.
  cvs checkout Papers/Summer04
to create a new subdirectory Papers/Summer04 of your current working directory. The newly created Papers and Summer04 directories will contain CVS directories that contain the info needed to link your checkout version with the repository and track any subsequent changes on either side. Do not modify anything in these directories.

Updating a previously checked-out version to the latest version in the repository

Use the CVS update (up) command from the directory whose contents you wish to update, e.g.
  cd Papers/Summer04
  cvs update -d
The "-d" option instructs CVS to create any subdirectories for you of Summer04 that were added to the repository since your last checkout.

Building a postscript file from the LaTeX and EPS sources in your local version

If you are on a unix system with GNU make you can simply type:
to only run LaTeX on files that have changed, and then create a PS file from the top-level source (e.g.,

Otherwise, you will need to run LaTeX and dvips by hand. Papers are organized with a top-level skeleton (e.g., Summer04.tex) that \input's other LaTeX sources in the same directory. All figures are in a figures/ subdirectory.

Storing changes to your local version in CVS

Tell cvs about any new files that you have created with the add command, e.g.
  cvs add new_section.tex figures/osc/new_figure.eps
Transfer any new files and any changes to old files with the commit command, e.g.
  cvs commit -m 'Put a helpful comment here...'
At this point, CVS will check that none of the files you modified were independently modified by someone else and then store your changes in the repository for anyone else to access.