For participants only. Not for public distribution.

Note #26
Concurrent Version System server

John Nagle
Last revised July 16, 2003.

How to use the Team Overbot CVS server

We have a CVS server, a common repository for source code and other documents. It's a client-server system; the files live on the server machine, and everyone on the project can access and change them remotely. Old versions of files are retained, and can be retrieved, so there's history and changes can be undone if necessary. This is a brief summary of how to get started with CVS.

Preliminary steps

First, to use the CVS server, you have to have a login account on the server, which is named "overtux.overbot.org", and you need to know your password for it. Bruce Baungart or John Nagle can set one up for you.

QNX client setup

You need the following software installed:

  • CVS, version 1.11 or later
  • OpenSSH, version 3.5p1 or later

Our machines should already have this installed.

Place the following lines in the .profile file in your home directory:

export CVSROOT=:ext:yourloginname@overtux.overbot.org:/var/cvs
export CVS_RSH=ssh
export EDITOR=ped

(Note that "yourloginname" should be your login name on the CVS server, and that "ped" can be changed to some other editor if you have a preference.)

Log out from Photon, log in again, and type "set" in a terminal window to show your environment variables. The variables listed above should have the values shown.

To practice using CVS, open a terminal window, and create a directory someplace convenient (such as your home directory) named "overbot". Change to that directory. Then, check out the project "testproject", which is entirely junk files for practice. Type

cvs checkout

and enter your password when prompted. This should make you a local copy of everything in project "testproject". If this works, CVS is ready for use.

Windows client setup

You need the following software installed:

Once Tortoise CVS has been installed, Windows File Explorer will have some new menu items for CVS.

Start by opening a Windows File Explorer window, and select File->CVS->Preferences->SSH. The "SSH application" should be TortoisePlink.exe, which is installed with Tortoise CVS. If it's something else, browse and select the appropriate program.

To practice using CVS, create a directory someplace convenient (such as My Documents) named "overbot". Then, check out the project "testproject", which is entirely junk files for practice. Start by opening a Windows File Explorer window, and select File->CVS Checkout. Fill in the blanks as below:

Tortise CVS checkout dialog

Fill in the boxes as indicated, using your login name in place of "yournamehere".

This should make you a local copy of everything in project "testproject". If this works, CVS is ready for use.

CVS manuals and help

The CVS manual is here. This applies primarily to the command-line form of QNX and Linux.

For Tortoise CVS on Windows, select File->CVS->Help in any Windows File Explorer window.

Team Overbot's live files

The live files of Team Overbot live in the CVS system, and you can change them. While almost anything you do via CVS can be undone, these files are shared, and some conventions are required to keep things organized.

There are two real modules on the server, called "admin" and "gc". "admin" contains various administrative documents for the organization. "gc" contains all the source code and drawings for the Grand Challenge project. And, of course, there's "testproject", for CVS practice.

The layout of the files in project "gc" is in the file "README.txt" in the top-level directory of the "gc" project. Please read this before adding new files.

(More later).

Cautions

Practice a bit in "testproject" to become familar with the system before working with the real projects.

It's very difficult to rename a file under CVS, because of the history system. Choose your file names carefully, for they will not change.

Don't use the "add new module" command. That creates an entire new project directory tree. Add files and directories under the existing "admin" or "gc" project modules instead.

Don't modify the module called "CVSROOT". Those are CVS's internal control files.

Currently, a network problem requires that TCP connections to the server be made with an maximum transmission unit (MTU) size of 1492 bytes. This is a TCP and router configuration setting. If you get strange timeouts on CVS operations, that's probably the problem. We hope to remove this limitation shortly.

Currently, everyone who has access to our CVS repository using CVS can also get at the underlying files on the server directly. Please don't access the underlying files directly; data can be lost. Go through CVS.