CVS on MS Windows using winCVS and putty

Notes

Instructions for installation of CVS client for MS Windows (winCVS) with SSH (putty)

Steps in this process

  1. Download the required materials (WinCvs, PuTTY).
  2. Install the PuTTY SSH suite.
  3. Install WinCvs.
  4. Generate a SSH key pair.
  5. Upload your SSH key pair.
  6. Configure Pageant (a component of PuTTY).
  7. Test your automated authentication.
  8. Configure WinCvs.
  9. Start using WinCvs.

Details

  1. Download the required materials (WinCvs, PuTTY).

    1. from http://www.wincvs.org: download WinCvs 1.3.20.2.
    2. from http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html: download: PuTTY, Plink, Pageant, PuTTYgen.
  2. Install the PuTTY SSH suite.

    1. save all 4 files (PuTTY.exe, Plink.exe, Pageant.exe, PuTTYgen.exe) into one directory (for example: C:\putty\).
    2. Execute C:\putty\putty.exe.
    3. Enter cvs-bcl.cs.nuim.ie as the host name you wish to connect to, and select SSH as the desired Protocol. For clarity, select the Never radio button within the "Close window on exit" option, then click "Ok".
    4. Select the Connection→SSH category of the configuration frame on the left. Ensure the Preferred SSH option has the '2' radio button selected.
    5. Select the Session category of the configuration frame on the left.
    6. Type a name in to the "Saved Sessions" box, such as cvs-bcl.cs.nuim.ie. Click the save button. Next, click the 'Open' button.
    7. The connection to the given host will be initiated and you will be prompted to verify the host fingerprint for the cvs-bcl.cs.nuim.ie host. Click 'Yes' within the PuTTY window.
    8. You have successfully installed and tested PuTTY.
  3. Install WinCvs (it includes also CVSNT application installation).

    1. Unzip the file WinCvs13b20-2.
    2. Execute setup.exe.
    3. At the WinCvs installer welcome screen, click on the 'Next' button.
    4. At the WinCvs software license screen, review the license terms for the WinCvs software, and then click on the 'Yes' button to proceed.
    5. At the WinCvs information screen, click on the 'Next' button.
    6. At the WinCvs path selection screen, modify the installation path as needed (or leave the default of C:\Program Files\GNU\WinCvs 1.3), then click on the 'Next' button.
    7. At the WinCvs Component Selection screen, select the 'Full Installation (Recommended)' option from the pull-down menu, then click on the 'Next' button.
    8. At the WinCvs program folder selection screen, specify the folder name you wish to use for this application under the Program Files menu, then click on the 'Next' button. We recommend that you leave this option at the default selection of WinCvs.
    9. Select any additional options that you may want, including having a quick launch item create if desired, and then click on the 'Next' button.
    10. When prompted to proceed with the installation, click on the 'Install' button to start copying files. Once the installation has been completed, click on the 'Finish' button to exit the installer.
    11. Note: CVSNT should be installed during wincvs installation. Use the defaults if you are required to choose anything.
  4. Generate a SSH key pair.

    1. Execute PUTTYGEN.EXE
    2. Select the desired key type ("SSH2 DSA", within the "Parameters" section). NOTE: I used "SSH2 RSA" and it worked, but "SSH2 DSA" should be the right choice.
    3. Click on the "Generate" button.
    4. Follow the on-screen instructions ("Please generate some randomness by moving the mouse over the blank area"). Key generation will be performed immediately afterward.
    5. Enter the desired passphrase in the "Key passphrase" and "Confirm passphrase" fields. You must remember your passphrase!
    6. Click on the "Save private key" button; use the resulting dialog to save your private key data for future use. You may use a filename such as "MyPrivateKey.ppk". The .ppk extension is used for PuTTY Private Key files.
    7. Click on the "Save public key" button; use the resulting dialog to save your private key data for future use. You may use a filename such as MyPublicKey.ppk.
  5. Upload your SSH key pair.

    1. Send your puclic key saved file to barak@cs.nuim.ie or someone else able to create an account for you and wait for acknowledgment that you can log on to the CVS server. At this point you will be given a username, and a CVS directory for your project.

      NOTE: this only applies if you are in or working with someone in Barak's lab. Please do not email your SSH public key to us if you are (1) a moron, and therefore (2) don't realize that this document was not intended to be taken literally by the general public with regard to the particulars of server name or obtaining an account on the server.

  6. Configure Pageant (a component of PuTTY).

    The PuTTY SSH client suite includes an application to help reduce the frequency that you need to enter your password. Upon starting your workstation, you may execute C:\PUTTY\PAGEANT.EXE and configure it to have knowledge of your current SSH keys. By adding your key data to Pageant, you will need to enter your SSH key password only once, no matter how many SSH sessions you initiate while Pageant remains running. This step will need to be repeated each time you restart your workstation or Pageant.

    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\MyPrivateKey.ppk or something similar).
    5. When prompted, enter the password you specified during the key generation process, then click 'Ok'.
    6. The key in question will now appear within Pageant's active key list. 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.
  7. Test your automated authentication.

    1. Open a Command Prompt (Start→Run, CMD.EXE)
    2. At the command prompt, enter: c:\putty\plink.exe username@cvs-bcl.cs.nuim.ie (replacing username by the username you got from Barak).
    3. Since Pageant is working, you should be logged on to the CVS server without being asked for a password.
  8. Configure WinCvs.

    1. Execute the WinCvs client using its icon within the Start Menu.
    2. Use the Admin→Preferences menu option of WinCvs to access the Preferences dialog.
    3. Select the 'CVS' tab. Choose a target directory (in your computer) in the HOME tab.
    4. Use Remote→checkout module menu option of wincvs:
    5. In the checkout setting tab, choose the directory or file in the remote repository that you wish to get - in UNIX style. For example: papers/TrainPapers/p.tex. (You need to know it in advance, there is no way that I know of to explore the content of the remote repository. If you want to explore the repository content - do it with the SSH shell.)
    6. Mark the "CVSROOT" and add the following text in the text edit box: user@cvs-bcl.cs.nuim.ie:/home/cvs/, where user is your user name used to login to the cvs-bcl.cs.nuim.ie server, and '/home/cvs/' is an example for the UNIX path of the repository root.
    7. Disregard the Python warning message; installation of Python is optional and will not impact the basic operation of WinCvs. NOTE: I did install python from the web, but it was probably redundant.
  9. Start using WinCvs.

    1. First you have to run Pageant (steps 6.1-6.6).
    2. Open winCVS.
    3. Use the Remote→checkout module menu option to checkout files from the repository.
Note: The wincvs allow you to view files on your local machine. I did not find a way to view content of remote repository in the graphic window.