Documentation : Hardware | Software | Tutorials    Wardrobe : Jackets | Applications
Papers : Notes | Proposals | Research    Administration : Stock | Minutes | Progress

CVS System

NOTE: this tutorial is intended for members of the wearable group.

The software for the bitsy is stored in a central CVS repository. Access to the repository is done over SSH.

Connecting to CVS

In order to use the repository you will need to set the following environmental variables:
NOTE: If you place these in your .bashrc file then don't forget to add these lines to make them visible to shells:
export CVSROOT
export CVS_RSH
ASIDE: Until we set up a CVS server to properly oversee our repository, we will be forced to use the CVSROOT string as given above. The best (and intended) way to run a CVS system is to have all members of the development group commit files with their own user ID (i.e. CVSROOT=:ext:<user_id>@machine:/path/to/repository). This is what makes tracking changes to their changers possible. However, since we are not currently running a CVS server we are faced with repository file ownership problems. More specifically, every time someone makes a change to a file and commits it, the versioned file in the repository becomes owned by that person. And since our repository is becoming very large (esp. this website!) developers will start running into quota issues. The quickest solution we could think of was to force everyone to commit files as the group/user wearable.

Using CVS

A complete guide to using CVS can be found here but the simple basics are:
  1. If you haven't already done so, create a directory in your own filespace to store files in. Cd into that directory and execute:
        cvs checkout . 
    This will fetch all of the modules in the repository. (you can also replace the '.' with the name of a specific module that you want to retreive.)
    Alternatively, if you already have working copy of the repository in your file space, cd into it and execute:
        cvs update .
    This will update your working directory with the latest versions of the files in the repository.
  2. Make your changes to the files, if you add new files then use:
        cvs add <filename> 
    If you remove any files from a module then as well as removing them from your filespace use:
        cvs remove <filename> 
  3. Test any changes (this is important, don't put files back into the repository that haven't been checked - at the very least check that they compile).
  4. To check your changes back into the repository:
        cvs commit <filename>

Each time you execute a commit, you will be asked to enter a comment about your changes (vi opens as the default comment editor). Please make your comments concise and descriptive. Not doing so makes tracking modifications extremely difficult!

NOTE: the third argument of each of the above examples is the name of the module, file, or directory that the command is to operate on. Not specifiying this argument invokes the command with the current directory as the default.


This archive stores the following modules:

The normal development process is to make any changes you want on your local copy of the CVS tree, and to debug them by transferring (using scp) files to the NFS'd directory on Waihona (/home/wearable/Exported is mounted as /home on the Bitsy). Once you are happy with your changes, you can commit them back into the repository.

This page last updated July 17, 2002
The material displayed is provided 'as is'. Contents may not be reused without prior permission.
For problems or questions regarding this web contact Cliff Randell.