There are several ways to access a remote repository. This quickstart guide uses the ext method with the SSH protocol, but if your system administrator gives you different instructions, follow those. Chapter 8 explains the use of remote repositories in detail. The ext and SSH approach uses the ext repository access method, with an SSH client as the program that performs the connection. These are also explained in Chapter 8.
Your first step—at least, the first step that I recommend—is to install SSH on the client machine. Make sure that the client-end SSH protocol matches the server’s SSH protocol. Set up SSH keys or passwords and test the connection. Using SSH enables you to create a secure connection to the remote repository.
Next, if you’re on a Mac OS X, Unix, or Linux system, set the CVS_RSH environment variable on your client machine to the name of your SSH program; usually, this is ssh or ssh2. Graphical clients that support the ext and SSH approach may have ssh as an authentication type option in the dialog that requests the repository path. Check the documentation for your client.
In WinCVS and gCVS, call up the Preferences dialog under the Admin menu and select “ssh” as the Authentication method under the General tab. Under the Ports tab, you may need to enter the name of your SSH program in the option “Check for an alternate rsh name.”
In MacCVSX (for OS X), ssh is one of the authentication method options listed in the Preferences dialog. MacCVS for OS 9 and earlier versions do not support SSH as a standard option. Instead, you can make use of SSH from MacCVS via port tunnelling, as described in Appendix A.
If the repository is on the same machine as the client, the repository path is simply the full path to the repository’s root directory. On a remote machine, the repository path takes the form:
The method is the protocol used to connect to the repository. To use SSH, use ext as the method. Include the username and the at sign (@) if the username on the server differs from the username on the client. If you don’t have an SSH key on the host, the system asks you for a password when you try to log in.
The ext method doesn’t use the password or port portions of the repository path, and will ignore them if you include them. A full explanation of the repository path is given in Chapter 8.
Use the following command from your operating system prompt to run a CVS command against the remote repository:
cvs -d repository_path command
For instance, Example 2-9 shows how to import a project into a remote CVS repository that is located on the host named cvs_server.
Example 2-9. Remote repository import
bash-2.05a$ cvs -d :ext:cvs_server:/var/lib/cvsroot import example no-vendor release-0 N example/file1 N example/file2 No conflicts created by this import bash-2.05a$