CVS

Started by
12 comments, last by TetsuoAkira22 21 years, 5 months ago
Woo! Where do I sign up for FreeCVS!?

---
Looking for a new gaming experince? Want something new that deals with everyday life. Ever wanted to be a theif, banker or a cop? Then come visit the newest thing in gaming today: Lejendz!
---Looking for a new gaming experience? Want something new that deals with everyday life. Ever wanted to be a thief, banker or a cop? Then come visit the newest thing in gaming today: Lejendz!
Other hosts turn you down? Need good tech support, excellent up time, and affordable prices? Come to cheapunixhosting.com/ to find a package right for YOU!
Advertisement
I had similar problems trying to get a working CVS server working on my machine. CVS is very very clunky. Once you get everything set up though, CVS should be pretty easy to use... I''m suprised you ahvent been able to find documentation. Try a google search for "info cvs", pick any page that ends with a .gz in the title. That should give you Unix info pages.

Ill post below the info I sent out to my group once I got the server running, maybe it can help you.

PS- If you are running a server, DO NOT use CVS''s mechanisms for password authentication. They are horribly insecure and allow developers to install backdoors. The only use for the password server is allowing anonymous read access to the repository. Use :ext: with ssh or a tool such as cvs_server instead.

-------------------------------------------------------------
Hi everyone, here are the instructions for using the CVS server we have
running. They should be comprehensive, so let me know if you have any
problems.


-= Backgroud =-
CVS stands for Concurrent Versioning System. Its a program that allows
multiple people on multiple computers keep in sync as they edit the same
set of files. It also keeps a log of who changed what, and eases the
making of patch files.

The cvs implementation isn''t perfect by any means, and looks pretty
ugly/hacky in some points. Eventually i think it will be replaced by
subversion, but for now it will have to do.

Nearly every cvs operation takes place on "modules", which is just a
directory with a subdirectory called CVS. To use cvs on an already
configured repository, you don''t need to know much. Here are the 5
basic commands you''ll need to know:

checkout: checks out a module from the directory. It contacts the
repository, downloads the source, creates a subdirectory in your current
directory, and puts the source there.

update: To be run in a module directory. This command patches in any
changes in the repositry, bringing the files on your machine up to date.

commit: Also to be run in the module directory. This command sends the
changes you made to the repository. You''ll be asked to enter a log
message.

add: adds a file to the module

remove: remove a file from the module

In conclusion, you don''t need to know very much about cvs to use it
effectively. If you want to work on some source code, checkout a module
and work on the source code. After you''ve made your changes, commit
your files to the repository. If your done, you can delete your local
coopy of the module directory. Its as simple as that.

-= Set-up =-
The installation for CVS can be divided into five separate parts:
1) Setting up CVS
2) Setting up ssh
3) Creating a public/private key pair
4) Setting up CVS to work with SSH
5) Using CVS

-= *Nix =-
Here are the instructions for using the CVS server on a *Nix system:

1.) Install CVS. I''ll assume most of you *nix people can do this. For
Debians, it should be as simple as apt-get install cvs. For Red-Hats,
you''ll have to find an rpm from somewhere.
2.) Since your on *nix, ssh should already be ready to go. Just make
sure youre running SSH2 (if you use debian or installed a *nix system
within the last two years, SSH2 should already be the default)
3.) Before you can use the CVS server, you''ll need to generate a
public/private key pair. The command to do this is ssh-keygen -t dsa.
Let ssh put the private key whereever it wants, and email me
(rblake@tulane.edu) the contents of the public key, along with your
preferred login name.
VERY IMPORTANT!!!!! If you enter in a password for your private key,
you''ll either have to do additional configuration or enter in your
password everytime you use cvs. Typing and retyping paswords gets old
fast, so i recommend not entering a password if you don''t feel like
jumping through extra hoops. The downside is that if someone gets your
private key, they can use cvs under your name. Big deal, right?
If you do want the extra security you''ll have to use ssh-agent, another
program in the ssh suite. ssh-agent can be run like so:

''ssh-agent'' with no parameters
In this mode, ssh-agent will send a series of shell specific commands to
stdout that set enviroment variables and so forth. You can
execute those lines by cutting and pasting them, or by using back ticks:
`ssh-agent`. ssh-agent then goes to daemon mode. DO NOT put this in
your login script. The program does not exit when you log out, and soon
you''ll find your process table filled with obsolete ssh-agents.
If you are interested, I have some shell/perl scripts that will manage
the extra ssh-agent processes created. They work for tcsh, but not bash
(mainly because i use tcsh everywhere)

''ssh-agent command''
In this mode, ssh-agent will start an ssh-agent, set up the environment
variables, and then fork/exec the command you specify in the parameter.
When the command exits, ssh-agent exits. In this mode, you don''t have
to keep track of extraneous ssh-agents. If you use ssh-agent, I
recommend that you use this form of the command. Here''s how its useful:

ssh-agent /bin/tcsh (or bash, whatever you prefer)
ssh-agent startx (any app run from X will use the ssh-agent)

anyway, once ssh-agent is running and set up, type ssh-add and enter
your password. Now, you''ll never have to enter that password again as
long as ssh-agent is open.
4.) Setting up CVS to work with SSH
To set up cvs to work with ssh, you''ll need to add 2 lines to your login
scripts
a) set eviroment variable CVSROOT to
:ext:<your login>@limbo.homeunix.net:/home/cvs
b) set enviroment variable CVS_RSH to ssh

5.) Using cvs
You can use CVS through the command prompt or through a GUI. If you use
the GUI, I recommend cervisia.

on the command prompt, the commands you''ll need are ridiculously simple.
Read the backgroud section above to find out what these commands do.
cvs checkout <module name>
cvs update
cvs commit
cvs add <filenames>
cvs remove <filenames>

Ok, i think thats about it. Let me know if you have any problems.
Keep in mind this howto works for the eecs computers.
I''m currently working on the windows version of this howto. I know
you''ll need the putty suite with pkeygen.exe and pagent.exe, along with
either tortoisecvs or wincvs. I''ve been able to get tortoisecvs working
on xp machines, but i havent tested the ssh interface yet...
give me access to a computer with xp or win98 for about 2 hours and I
should have a step by step giude.


ademus05@yahoo.com
Do a search for FreeCVS on google.
May I know what kind of project are u doing?, do u need more people?

This topic is closed to new replies.

Advertisement