Local CVS Instructions
Local CVS Instructions
In a nutshell you have a standard CVS repository hosted via pserver. You are able to do repository hacking via your server shell account (e.g., rename files, move directories, etc.). The only server side administration you have to do is manage user access to your CVS repository (which is detailed below). A simple google search should uncover reams of CVS documentation if you don't understand CVS and you can also look at the official CVS manual.
Your repository is located on the server in the directory you are provided, something like /cvs/prjname where prjname is your project's handle. You can change directory into this location and do server-side CVS administration. Use caution as you can cause damage to your work if you don't know what you are doing. However, given the well-documented limitations of CVS this is the only way to accomplish some configuration management tasks.
How do I connect to CVS?
We use pserver so if your project is called fluid and your user is joefluid then your CVSROOT would be :pserver:joefluid@fluid.cs.cmu.edu:/cvs/fluid
If you have a virtual host for your project (e.g., able.fluid.cs.cmu.edu) used for your web page you can change fluid.cs.cmu.edu to be that virtual host. This is recommended (but not required).
How do I manage CVS access for my project?
Our server allows users to interact with CVS via the pserver technique. You manage users by editing the CVSROOT/passwd file. To do this you need to login to your shell account on the server and change directory into your repository location (e.g., /cvs/fluid). You will then see the CVSROOT directory and the passwd file should be found within it (if not create one).
Each line in your passwd file contains: (1) a CVS userid, (2) an encrypted password, and (3) the Unix userid used for that user. The Unix userid is always the userid of your project's shell account. An example passwd file, for the fluid project, is shown below:
tim:RE34Jjkf9:fluid joe:%*(#$jklj:fluid tom:2343kjdfs:fluid
You assign the CVS userids as you see fit. To generate the encrypted text needed you can use the cryptout perl script which has been installed in your shell account. Suppose you want to make tim's password tim.rocks, you would:
{prompt} ~/cryptout tim.rocks
$#kj43kJfked5
{prompt}
You can then paste the output into the CVS passwd file.