CVS Server Version Control System

273

3. CVS Server

CVS is a version control system. You can use it to record the history of source files. 3.1. Installation To install CVS, run the following command from a terminal prompt: sudo apt-get install cvs After you install cvs, you should install xinetd to startstop the cvs server. At the prompt, enter the following command to install xinetd: sudo apt-get install xinetd 3.2. Configuration Once you install cvs, the repository will be automatically initialized. By default, the repository resides under the srvcvs directory. You can change this path by running following command: cvs -d yournewcvsrepo init Once the initial repository is set up, you can configure xinetd to start the CVS server. You can copy the following lines to the etcxinetd.dcvspserver file. service cvspserver { port = 2401 socket_type = stream protocol = tcp user = root wait = no type = UNLISTED server = usrbincvs server_args = -f --allow-root srvcvs pserver disable = no } Be sure to edit the repository if you have changed the default repository srvcvs directory. Once you have configured xinetd you can start the cvs server by running following command: sudo etcinit.dxinetd restart You can confirm that the CVS server is running by issuing the following command: 274 sudo netstat -tap | grep cvs When you run this command, you should see the following line or something similar: tcp 0 0 :cvspserver : LISTEN From here you can continue to add users, add new projects, and manage the CVS server. CVS allows the user to add users independently of the underlying OS installation. Probably the easiest way is to use the Linux Users for CVS, although it has potential security issues. Please refer to the CVS manual for details. 3.3. Add Projects This section explains how to add new project to the CVS repository. Create the directory and add necessary document and source files to the directory. Now, run the following command to add this project to CVS repository: cd yourproject cvs -d :pserver:usernamehostname.com:srvcvs import -m \ Importing my project to CVS repository . new_project start You can use the CVSROOT environment variable to store the CVS root directory. Once you export the CVSROOT environment variable, you can avoid using -d option in the above cvs command. The string new_project is a vendor tag, and start is a release tag. They serve no purpose in this context, but since CVS requires them, they must be present. When you add a new project, the CVS user you use must have write access to the CVS repository srvcvs. By default, the src group has write access to the CVS repository. So, you can add the user to this group, and he can then add and manage projects in the CVS repository. 275

4. References