Chapter 7. Articles, Tips and Tricks

Table of Contents

Using TortoiseCVS with SourceForge
How CVS Differs from Microsoft Visual Source Safe
Creating new icons for TortoiseCVS
Creating a new locale (translation) for TortoiseCVS
Gettext Documentation
How to start
Using PuTTY sessions
Using Pageant to avoid having to enter the SSH password every time
How TortoiseCVS manages line endings
Using other CVS clients

Using TortoiseCVS with SourceForge

TortoiseCVS Client Installation Instructions

This document provides instructions for installing and using the TortoiseCVS CVS client software. These instructions are designed for project developers who are using 32-bit Microsoft Windows platform. It is for developers who would like to work with the source code for a project which is hosted on For background information you may like to read the other available documents about CVS.

TortoiseCVS has advantages over WinCVS for work on SourceForge. It has a clearer interface which is integrated into Windows Explorer. WinCVS has a more complex and mature interface. For more obscure commands it may be easier or necessary to use WinCVS.

A particular benefit is that TortoiseCVS has an SSH client built into it, without special setup. Anyone can easily commit code to projects using TortoiseCVS.

Installing TortoiseCVS

  1. Go to and download the Download page.

  2. To install, run the executable and follow the instructions.

  3. Since TortoiseCVS is a shell extension, you need to reboot your machine.

Checking out an existing project

If you are working on an existing project first you now need to check out the code.

  1. Make sure you have made an account on, and that you have been added as a developer to the project you are going to work on. A project administrator needs to do this.

  2. In Windows Explorer go to the folder that you would like to check the code out into.

  3. Right click and from the context menu choose the command CVS Checkout...; it's next to the Tortoise icon.

  4. You will need your user name on, and the project UNIX name. Fill in the dialog as follows:

    • Protocol: Secure Shell (:ext:)

    • Server:

    • Directory: /cvsroot/projectname

    • Username: username

  5. Click Fetch List to get a choice of modules. You will need to enter your password in the dialog at this point. Then pick the module that you would like.

  6. Choose OK.TortoiseCVS will now check out the code. You will need to enter your password.

  7. You can now alter files and then select CVS Commit on the top level folder to make your changes in the repository. For more information read the TortoiseCVS User's Guide.

Get an error?

If you get an error saying something like Could not chdir to home folder /home/users/r/rd/rdonkin: No such file or folder then you need to log into the server with SSH to force creation of your home folder. Do this by connecting to either with Putty or a command line SSH.

Working on a new project

If you are working on a new project then you first need to create a new module in the repository.

  1. Create a folder with the name you would like the module to have.

  2. Put the files you would like to add in the folder.

  3. Right click on the folder, and choose Make New Module from the CVS submenu.

  4. Fill in the dialog as described in the previous section. Note that the module name is filled in for you.

  5. Choose OK. You will need to enter your password twice, and the module will be made for you.

  6. Proceed to add files and folders by right clicking on them and choosing CVS Add or CVS Add All Recursively from the context menu.

  7. For more information read the TortoiseCVS Daily User's Guide

Tired of entering your password all the time?

You need to make a public/private key pair. The public key goes on the server, and the private key sits on your hard drive. Now, when you connect the server can verify who you are because only you have your private key.

To further protect your private key it is encrypted on your hard disk with a passphrase. You can however choose an empty passphrase, in which case you never have to enter a password but anyone with access to your computer can access your SSH CVS account. Or you can use an SSH Agent (such as Pageant) which will remember your passphrase for the duration of one session, so you only have to enter it once.

TortoiseCVS uses a version of Plink as its SSH client. This means you can use PuTTYgen to make a public/private key pair, and you can use Pageant to point to where the private key is. First of all download them both from the PuTTY web site.

For information on how to use them read the PuTTY documentation on PuTTYgen and Pageant. In particular, make sure you read the sections "8.2: Using PuTTYgen, the PuTTY key generator" and "9.3.1 Making Pageant automatically load keys on startup".

After making your public key with PuTTYgen you need to upload it using the web interface. Log into the SourceForge web site, and go to your Account Preferences page. Down at the bottom is a section "Shell Account Information" with an entry "CVS/SSH Shared Authorized Keys". You need to add your public key there.