How to Use our CVS Repositories

The UrbanSim project has a CVS repository stored on our fileserver which you can get to from any of the instructional machines. 

To connect to CVS via eclipse:

  1. Open eclipse
  2. Choose Window | Open Perspective | CVS Repository Exploring
  3. In the CVS Repositories window, right click in the big white rectangle.
  4. Choose New | CVS Repository Location...
  5. In the Add CVS Repository window, enter the following info:
    Connection type: extssh
    User: <your fiji user account name>
    Password: <your fiji password>
    Host: fiji.cs.washington.edu
    Repository path: /cse/courses/cse403/02su/repository
Production Code Repository
  • Purpose: The production code repository is to support our production code releases.
  • Access Control: Anyone can read from this repository (see below). Only authorized committers (in the Open Source terminology) can write to this repository. To attain the status of committer, the usual open source rules apply: new committers must be approved by the current group of committers. This approval is typically given only when the requestor has demonstrated consistently good design, documentation, testing, coding, and general engineering practices.
  • Access Methods: Via the CVS extssh protocol. Use:
    cvs -d :extssh:username@fiji.cs.washington.edu:/cse/courses/cse403/02su/repository
    where username is either your username (if you are a committer) or anonymous for read-only access.
  • Anonymous Access: This repository supports full anonymous read-only access.
  • Location: /projects/urbansim/production-code
  • Significant Contents:  
Instructors Repository
  • Purpose: The instructors repository is for the instructors to keep certain information confidential but still under CVS control (for example, grades).
  • Access Control: Only members of the 403admin can read or write this repository.
  • Access Methods: Either local or ssh access. For local access, use:
        cvs -d /cse/courses/cse403/02su/repository
  • Anonymous Access: No.
  • Location: /cse/courses/cse403/02su/repository

One of the important engineering practices is to always include descriptive commit messages. The commit messages are the communication mechanism between not only the current developers, but also between the past and future developers. Draconian measures, such as taking away committer rights, will befall those who skimp with their commit messages.

CVS has a concept of modules. The modules in our repositories are:

CVS uses directories both for modules and for directories. Keep this distinction in mind when looking at directory names. Thus UrbanSim/urbansim/databases is the directory for the module UrbanSim and then the directories for the urbansim.database Java package. Do not use UrbanSim/databases as a clever combination of the module and package directories.

Clients

Eclipse the Java IDE that many of us use, integrates well with CVS. WinCVS is another nice Windows client for CVS. And, of course, the CVS CLI works well too.

Use the following Preferences for setting up WinCVS. For CVSROOT use the appropriate access method described above. For Authentication use:

    "passwd" file on the cvs server

CVS Passwords

If you have a CVS password and you want to change it, check out the CVSROOT module and run the cryptout.pl Perl script with your desired password as the single command line argument. The crypted version of your new password will be printed on stdout. Mail that to Valentin and he will update the password files. For both obvious and various reasons, the password files are not user accessible. 

Note to Valentin: there are multiple password files - one per CVS root. Make sure the passwords in them stay synchronized.

Do you have a CVS password? You do if you are a committer for the production code repository. 


$Id: cvsrepository.html,v 1.12 2002/06/22 01:09:44 duisberg Exp $