Experiences with CVS under Windows

Even though I (Gustav) volunteered to act as Administrator for AIM on SourceForge, I am actually a novice to software development in general and to CVS in particular. I nevertheless managed to get CVS up and running on my Windows PC. On this page I will describe how I did it, just in case this might save someone else some time in the future, and also to serve as a reminder to myself.

Installing CVS

The amount of documentation on SourceForge is rather overwhelming. However I found the instructions on WinCvs CVS Client Installation Instructions very easy to follow. It goes step by step through the installation of 7-zip (which you can skip if you already have a program like WinZip), PuTTY (an SSH and Telnet client) and WinCVS (a graphical user interface to CVS). Part of the instructions on PuTTY tell you how to create your home directory on cvs.sourceforge.net.

Starting CVS

If you have followed the instructions then you will have set up WinCvs and PuTTY to use a SSH key pair. This means that you will not have to type in your password as long as you have pageant.exe running. To start it do the following:
  1. Make use of Start->Run to execute 'C:\PUTTY\PAGEANT.EXE'
  2. Double-click on the Pageant (computer with hat) icon in your system tray.
  3. Click on the 'Add Key' button.
  4. Select the key file we saved during the key generation process (C:\PUTTY\SOURCEFORGE.NET.KEY).
  5. When prompted, enter the password you specified during the key generation process, then click 'Ok'.
While Pageant is running, Pageant will respond to any requests from other PuTTY applications (such as PuTTY.EXE and PLINK.EXE) that you enter your SSH key password.

When you then start WinCVS you will be connected automatically. I was initially worried by a message in red saying "TCL is *not* available, shell is disabled". As it turns out most red messages can be ignored unless they start with "Warning:".

Configuring the WinCVS client

In order to configure WinCVS to access the AiM module at SourceForge, choose Admin/Preferences from the menu and enter the value of CVSROOT on the General tab as:

username@aimmath.cvs.sourceforge.net:/cvsroot/aimmath/

where username is replaced with your sourceforge user id. Set Authentication to SSH server.

Initial Checkout

I found the WinCvs -- Daily Use Guide very useful because it is reasonably short. You can obviously ignore the section "Starting a New Module" because I have already done that. The module is called "AIM" and contains all necessary files except those that are generated automatically by AIM. The section "Getting a New Module from CVS" tells you how to do the initial checkout.

To checkout the AIM module choose the Create/Checkout module... menu in WinCVS, and type

AIM

for the module name and path value on the checkout tab of the dialog that appears. The documentation says "Set the Checkout read-only according to what the project leader tells you". Because SourceForge does not support the CVS watch feature there is no point to checking out read-only. So do not set the checkout to read only on the Globals tab of the Checkout Settings dialog.

During checkout you will have to decide where you want the AIM directory to go. A sensible place obviously would be the webapps subdirectory of the Tomcat directory, i.e., C:\Tomcat\webapps\. If you already have a running AIM installation there in the subdirectory C:\Tomcat\webapps\ROOT then it will not be affected by the checkout because a new directory C:\Tomcat\webapps\AIM will be created instead.  The local checkout directory can be specified on the Checkout settings tab of the Checkout settings dialog window.

Daily Use

The only thing that needs to be added to the WinCvs -- Daily Use Guide really are our own rules of etiquette.

If you want to get to know WinCvs better you can read the user's guide that you can download from SourceForge in .pdf format.


Written by Gustav Delius on 17/05/03
Additional details added by Ken Monks on 15/07/03
Last modified: Wednesday, 20 September 2006, 05:44 PM