Life in code, apps and OS's

Building a CVS Server on Ubuntu 6.06 Server

Posted on: November 6, 2006

Ok, CVS is used quite alot these days by development teams to control versions of Software/source code during development.

What is CVS?

CVS is a version control system. Using it, you can record the history of your source files.

For example, bugs sometimes creep in when software is modified, and you might not detect the bug until a long time after you make the modification. With CVS, you can easily retrieve old versions to see exactly which change caused the bug. This can sometimes be a big help.

You could of course save every version of every file you have ever created. This would however waste an enormous amount of disk space. CVS stores all the versions of a file in a single file in a clever way that only stores the differences between versions.

CVS also helps you if you are part of a group of people working on the same project. It is all too easy to overwrite each others’ changes unless you are extremely careful. Some editors, like GNU Emacs, try to make sure that the same file is never modified by two people at the same time. Unfortunately, if someone is using another editor, that safeguard will not work. CVS solves this problem by insulating the different developers from each other. Every developer works in his own directory, and CVS merges the work when each developer is done.

CVS started out as a bunch of shell scripts written by Dick Grune, posted to comp.sources.unix in the volume 6 release of December, 1986. While no actual code from these shell scripts is present in the current version of CVS much of the CVS conflict resolution algorithms come from them.

In April, 1989, Brian Berliner designed and coded CVS. Jeff Polk later helped Brian with the design of the CVS module and vendor branch support.

You can get CVS via anonymous ftp from a number of sites, for instance in `pub/gnu'.

There is a mailing list for CVS where bug reports can be sent, questions can be asked, an FAQ is posted, and discussion about future enhancements to CVS take place. To submit a message to the list, write to <>. To subscribe or unsubscribe, write to <>. Please be specific about your email address.

Work is in progress on creating a newsgroup for CVS-related topics. It will appear somewhere under the `gnu.’ hierarchy. Gateways to and from the mailing list will be set up.

The FTP site has some CVS material in the `/pub/cvs' subdirectory. Currently (late summer 1993) it contains an excellent FAQ (Frequently Asked Questions, with answers), and an improved (but unofficial) version of CVS.

My Goal…

In this tutorial I will be explaining how to build and configure a CVS Server on Linux, using my favorite Linux OS (Ubuntu). This tutorial was written for Ubuntu version 6.06.

The Tutorial:-

1. Edit /etc/apt/sources.list
sudo vi /etc/apt/sources.list

uncomment the following two lines:
deb dapper universe
deb-src dapper universe

uncomment the following two lines:update package:
sudo apt-get update

uncomment the following two lines:update package:

2. Install CVS.

Change to the system root directory first using this command:
cd /

Install CVS files:
sudo apt-get install cvs

install CVS server:
sudo apt-get install cvsd
When prompted in the cvsd installation process for Repository, type in “/cvsroot”.

3. Configure CVS
goto /var/lib/cvsd and build the cvsroot:
sudo cvsd-buildroot /var/lib/cvsd

create the folder cvsroot:
sudo mkdir cvsroot

and then initilize the repository
sudo cvs -d /var/lib/cvsd/cvsroot init
sudo chown -R cvsd:cvsd cvsroot

create a user and password:
sudo cvsd-passwd /var/lib/cvsd/cvsroot +username

and then change the AUTH type:
sudo vi /var/lib/cvsd/cvsroot/CVSROOT/config
uncomment the “SystemAuto=no” line.

4.Test it
cvs -d :pserver:username@localhost:/cvsroot login
cvs -d :pserver:username@localhost:/cvsroot checkout .

5. Should be all done 🙂

Note that you can checkout your changes using this command:   cvs -d :pserver:username@localhost:/cvsroot commit .

A good CVS Client for Windows is TortiseCVS and can be downloaded from here:


Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s


  • How To Dyndns Ubuntu | Order Goods: […] DynDNS Client Setup on Ubuntu | Life in code, apps and OS’s – May 18, 2008  · 7 Responses to "DynDNS Client Setu
  • lizrandolph10886: Wonderful article! We are linking to this particularly great post on our website.nKeep up the great writing. Click
  • waseem Ahmad: Dear. i have a separate application server and a separate mysql database server. when i want to access the application server to login from the local
%d bloggers like this: