Setting up WinCVS and MacCVS
Read/Write Access via WinCVS or MacCVS.
Read/write access to the CVS repository is more complex. This requires
several setup steps: getting a copy of a CVS client; getting the tools
necessary to generate a cryptographic key; posting the key on
sourceforge; and configuring your CVS client to download the software
from sourceforge.
Get Copy of WinCVS or MacCVS
You can obtain a copy of WinCVS or MacCVS at wincvs.org. These are stand-alone
GUI clients that allow you to check out or submit code to CVS
repositories. This example uses MacCVS 3.3a2, though the WinCVS GUI
client is very similar. Download and install a client.
Posting a Public Key
If you want read/write access you also need a cryptographic public key
installed on sourceforge.net. You must first generate a public/private
key pair, and then place the public key on sourceforge's servers. This
eliminates the need to use a password to authenticate yourself to
sourceforge's servers.
You need to have SSH (secure shell) installed on your machine to
generate the key. Cygwin provides
a free command line utility with this capability. Other options include
PuTTY,
which has a GUI interface for Windows boxes. Linux and Mac OS X
have ssh pre-installed.
If you are using Windows and have cygwin
installed, and the cygwin bin directory is included in the PATH
environment variable, type the following on the command line:
ssh-keygen -t
dsa
The interaction looks like this:
ssh-keygen -t
dsa
Generating
public/private dsa key pair.
Enter
passphrase (empty for no passphrase):
Enter same
passphrase again:
Your
identification has been saved in id_dsa.
Your public
key has been saved in id_dsa.pub.
The id_dsa file contains your private key, which you should not divulge
to anyone. The id_dsa.pub file contains the public key, which you will
post on sourceforge.net. These files may be placed in unusual places on
your filesystem. Often cygwin will place them in the directory
c:\cygwin\home\username\.ssh. (Note the period at the start of the
".ssh" directory name). Under Linux and OS X, the key is typically
placed in your home directory in the .ssh directory.
The private key may optionally be encrypted with a passphrase, so that
accessing its unencrypted form requires that you first type a password.
PuTTY has a similar key generation tool that is GUI-based. A
description of the process of creating a key using PuTTY is here.
To post the public key on sourceforge, first ensure that you are added
as a
developer to the XMSF sourceforge project. Without this step you will
not have access to the web page that allows public keys to be added.
You can be added as a developer by talking to a project manager, such
as Don McGregor, Don Brutzman, or Alan Hudson.
Log in to sourceforge and go to your account preferences page.
If you have been added as a developer to the project you should
see a link called [Edit CF SSH Keys]. Using a text editor, copy
the contents of the file id_dsa.pub to the clipboard and paste it to
the text edit box provided. Be sure that the entire key is on one line,
with no line breaks. Click on the OK button. It will take a few minutes
for the new key to processed.
The next step is to configure the GUI client. Open up WinCVS and go to
the preferences page. It should look similar to this Mac version:
Note that the username should be your "unix" sourceforge username and
that the authentication type should be ssh. Under Windows you will have
to manually specify the location of the private key on your machine, ie
the location of id_dsa.
One final step: SSH keeps a database of hosts it has connected to.
Before WinCVS or MacCVS can connect the sourceforge CVS host needs to
be added to this database. SSH to xmsf.cvs.sourceforge.net; you should
get an announcement asking if you want to add the host to a list of
known hosts. Say yes. You don't actually have to log in to the host (in
fact you can't), but this step is neccesary to add the host to the
database.
Checking out Sourcecode
Finally, you can select Remote->Check Out Module. Type in the module
name (eg, "disxml")
in the dialog box.