main-cvs

Using CVS for a CS559 (or CS679) Project

If you aren’t familiar with CVS, you might want to at least understand the basic concepts first.

What this page will help you do:

  1. Set up a CVS repository on the CS servers. The CS servers are for Linux.
  2. Access the CVS servers remotely from any Windows machine.

There is a CSL help page that doesn’t deal with #2.

Getting started

First pick a CSL Linux machine that you have an account on. Using “best-emperor” works OK.

Log in, and create a directory that you want your CVS repository to go into. Remember, that the repository is the database where CVS keeps all your old versions (not your working directory).

In that directory, type

 
cvs init 

to have CVS set itself up in that directory.

Also, notice that we’re setting up the repository on a Linux machine. Do not access this directly from a windows machine.

Make sure that everyone you want to have access to the repository has read and write access to the directory.

For testing here, I will do it in my home directory/private and make the repository called mycvs. Here “garagmel” is my linux server.

gargamel(22)% cd ~/private/
gargamel(23)% mkdir mycvs
gargamel(24)% cd mycvs
gargamel(26)% pwd
/afs/cs.wisc.edu/u/g/l/gleicher/private/mycvs
gargamel(25)% cvs -d /u/g/l/gleicher/private/mycvs/ init

Notice that I had to give the path to the init command - this is good practice for later.

Using the repository from Windows

There is a great Windows CVS client called TortoiseCVS. Its installed in the Storm Lab. You should install it on any machine you want to use to access the CVS repository.

On your windows machine, find the folder that you want to put into CVS and right click on it. You should see a “CVS” entry on the menu (if not, then Tortoise isn’t installed correctly). Pick “make new module”.

Here’s the tricky part: you now need to tell CVS how to talk to the Linux server.For each of the parts of the middle of the dialog do the following (NOTE: you DO NOT fill in the “CVSROOT” - Tortoise figures that out from the following questions):

  1. Protocol: Secure shell (:ext:)
  2. Server: gargamel.cs.wisc.edu (give the whole name of the server you want to use. include the “.cs.wisc.edu”
  3. Repository Folder: use what came from the “pwd” command above, skip the “/afs/cs.wisc.edu/”
  4. User name: you can figure this one out.

For the example, I see:

If you click OK, CVS will set things up for you. Be warned: it will ask you for your password multiple times.

Getting files into CVS

Note: the previous steps made an empty module, you now need to actually add files to it. You can do this two ways:

  1. Right click on the directory (which now has the tortoise icon to say its in CVS) and pick “CVS->Add Contents”
  2. Go into the directory, select the files you want, and right click and pick “CVS->add”

Remember: adding a file just tells CVS that you want it to keep track of the file. You still need to do a commit to put the first version in there.

Page last modified on November 18, 2007, at 10:29 PM