|
Concurrent Version System a.k.a CVS is
a version control system. CVS seems to be the dominant version
control system in Open Source /Free Software development. CVS is
useful for everyone from individual developers to large, distributed
teams. You can find a lot of
information about CVS by searching the internet.
Why do we need to use CVS ?
CVS
supports internet
based distributed development. For example, people from different parts
of the world contribute to the SMC project and in order
to maintain a centralized code repository, CVS is used. CVS allows the
developers to access and update the files concurrently inspite of their
geographic locations.
- Its client-server access method lets
developers
access the latest code from anywhere there's an Internet connection.
- Its unreserved check-out model to
version
control avoids artificial conflicts common with the exclusive check-out
model.
- Its client tools are available on
most platforms.
There
are
many ways to access a CVS server. To use CVS on client side,
you should have an account on the server. Whenever you need a piece of
code, check out the code, modify it and then check it back in.
Most of the servers supports key based authentication, which means you
need to create a public key and post it.
Create a RSA
public key using the command .
$ ssh-keygen -t rsa
This creates a public key and a private key and places the keys
in $HOME/.ssh directory , by default. Goto .ssh
directory (ie, cd ~/.ssh ) and open id_rsa.pub
file. Do NOT modify anything.
tick, tick,tick .....wake up young sky walker !!!.
Let's try to access CVS, first thing what you need to do is to checkout
the files from your CVS server.
So, create a directory where you want to download the files. Change to
that directory.then try to checkout files. The command for checking out
the file is
cvs -d :ext:your-id@server:/cvsroot/projectname checkout
directory
so to checkout files from sarovar.org's smc project I use
the command as follows
export CVS_RSH=ssh
cvs -d
:ext:vpsuresh@cvs.smc.sarovar.org:/cvsroot/smc checkout malayalamgnome
If
everything
goes fine, then you should see something like this. (values varies
based
on the server and the project).
cvs -d :ext:vpsuresh@cvs.smc.sarovar.org:/cvsroot/smc co malayalamgnome The authenticity of host 'cvs.smc.sarovar.org (202.88.238.22)' can't be established. RSA key fingerprint is 40:9a:80:e1:15:06:c0:ab:6b:eb:a8:0e:30:3f:60:7e. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'cvs.smc.sarovar.org' (RSA) to the list of known hosts. cvs server: Updating malayalamgnome U malayalamgnome/acme.HEAD.ml.po ..........
If this
is the first time your box is trying to access, then you may get a
message saying something like you are trying access unauthorized
machine blah blah. Then it will shoot a question whether you like
to
add the server name into trusted server names, say yes. To create this
'trusting relation' only we created public and private keys for our
machine in the previous section.
If you
dint
get any error messages, that means you are in good shape, so you
should see the files downloaded to your directory. Grab a CVS
manual and familiarize the commands. add,update,diff and help are the
most useful commands in my openion. To get help, try 'cvs
--help' or 'cvs --help add' and so on.
Proceed to next only if you successfully compleated the previous step
and you like GUI than command line.
Here's how to setup 'Cervisia',
a CVS GUI client comes with RedHat and other distributions.
Open
Cervisia,
go to 'Repository' then select Repositories. Add a new entry in
repository
field enter everything from ":ext till your project name" and in second
field enter 'ssh'. People says a picture is beter than a thousand
words,
OK, here is a screenshot
of my setting.
Step 2.
Change
settings, I had to spend sometime to figure this out, it looks
like this is the command which gets executed when we try to use the
client.
Goto
Settings
menu and choose Configure Cervisa option, First field
should have your userid@server, for eg: vpsuresh@cvs.smc.sarovar.org,
if this is not correct,then correct it. In second field provide path to
your cvs executable, for eg: cvs. here is a screenshot
of my setting.
OK, you
are all set to use CVS GUI client. From File menu, select the
option open sandboxes then choose the folder, where you checked
out the files from server, you should be able to see all your checked
files there. Select a file and right click on it, it should show
list
possible commands. Here is a snapshot
of 'diff' command on gnome-build.HEAD.ml.po.
Leftover:
'konqueror' browser integrates Cervisia, so you may use Konqueror to
browse your CVS folder. When you click the red brick icon it
starts
Cervisia internally and start using Cervisia. I think it should be
similar
to setup other GUI clients also.
(C) Swathantra
Malayalam Computing
& Suresh VP. Thanks
to Vinod Saravana B for his valuable remarks
Trademarks are owned by their
owners.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License,
Version 1.2 or any later version published by the Free Software
Foundation;
A copy of the license is located at www.gnu.org/copyleft/fdl.html,
in the section entitled "GNU Free Documentation License".
The information given in this document is believed to be correct, the
author will accept no liability for the content of this document.
Use this document at your own risk.
|