The Linux Page

Remote CVS with SSH

To read files out of your repository via SSH, set your CVSROOT variable to something like this:

export CVSROOT=":ext:login-name@host//cvs/path/root"

What tells CVSROOT that it will get the data from an external host is the <em>:ext:</em> at the start of the URL.

The <em>login-name</em> is your name or whoever's login name you can use to connect to the computer.

It is assumed that you can already connect with SSH.

If you have a passphrase, then it will be asked before any processing is done by CVS. Note that it is SSH that asks you the password, not CVS.

The <em>host</em> is the IP address or name of your computer with the CVS repository. If necessary (i.e. if the source computer structure may change dramatically), you can declare the host and port in your .ssh/config file. That way, it is easy to change them later and the CVS checked out will still work without modifications.

The path following the <em>host</em> must point where you put the files on your hard drive.

Once the CVSROOT variable is properly defined, you can enter your CVS command line:

cvs checkout top-dir

The <em>checkout</em> keyword defines the action taken. It can be abbreviated to <em>co</em>.

<em>top-dir</em> is a path in the CVS repository from which you want to checkout. In general, that's the root folder.