Hosting documentation/Concurrent Versions System
From Bioinformatics.Org Wiki
Anonymous CVS access through pserver
Anonymous CVS access uses CVS pserver and does not require SSH.
On your local computer, type the following. When prompted for the password, just press Enter.
$ cvs -d:pserver:firstname.lastname@example.org:/cvsroot login
And then type the following, making the necessary obvious substitution for the modulename. Afterward, the -d flag need not be included.
$ cvs -d:pserver:email@example.com:/cvsroot checkout modulename
If you are using a Unix-variant, CVS clients are easy to find or may already be installed on your system. Simply type cvs to see if you have one.
For Windows, TortoiseCVS is one of the better clients and highly recommended.
Plus, Bioinformatics.Org has a Web interface for browsing and downloading source code from CVS.
For all developer (read/write) access, you will be using SSH (Secure Shell). The SSH (2.x or better) client must be available to your local machine. And the local environment variable CVS_RSH must be set to the SSH command.
You may also want to set the CVSROOT variable on your local computer. This tells CVS where to look for the modules. See below for instructions on using CVS without setting the CVSROOT variable.
These variables are set on most Linux (bash) systems by typing:
$ export CVS_RSH="ssh" $ export CVSROOT=":ext:firstname.lastname@example.org:/cvsroot"
For most UNIX (csh) systems, use:
$ setenv CVS_RSH "ssh" $ setenv CVSROOT ":ext:email@example.com:/cvsroot"
Note that the login command will not work with the SSH method. It is for the pserver method alone, and the pserver should only be used for anonymous access. You will need to type in your password for each command, unless you use ssh-agent with SSH keys. SecurityFocus has articles on generating SSH keys and setting up ssh-agent.
If you get "permission denied" errors with no prompt for a password, you either do not have CVS_RSH set properly or SSH is not available on your system. Fix this before suspecting a password problem.
Importing source code into the main CVS repository as a developer
You may choose any place on the server (to which you have access) to create a CVS repository and import your code. However, if you want the public to see and download your code, it has to be in the main repository, cvsroot.
Important: You may choose any place on the server (to which you have access) to create a CVS repository and import your code. However, if you want to enable anonymous downloads and access via the Web interface, the repository has to be in the directory /cvsroot.
On your local computer, change to the directory whose files (and subdirectories) you want to import. Everything now in the current directory and all subdirectories will be imported into the module.
Type the following, where modulename is the name of the new CVS root level module:
$ cvs import -m 'message about import' modulename branchname tagname
If you are importing a new module named "bioworks", for example, you would type the following:
$ cvs import -m 'Initial import.' bioworks MAIN HEAD
Initial checkout and other commands as a developer
On your local computer, change to the directory where you want the module to be placed. (This has to be a different directory from the one you used to import the module, since the module will be downloaded as a new directory with some version control files in it.) And then type the following, making the necessary obvious substitution for the modulename:
$ cvs checkout modulename
After the initial checkout, you can change into this directory and execute other CVS commands. For example
$ cvs update $ cvs add filename $ cvs delete filename $ cvs commit
Developer access without setting the CVSROOT variable
You can forego setting the CVSROOT variable simply by specifying the location of the modules with the -d option. This only has to be done for the commands such as import and checkout. Afterward, the -d flag need not be included. Here is an example of a module checkout:
$ cvs -firstname.lastname@example.org:/cvsroot checkout modulename