Archived

This topic is now archived and is closed to further replies.

Recommended Posts

Me and a friend have been TRYING to setup CVS for the past few weeks, but we can''t even get the @#%*ing commands to get the server running! Anyone out here have an EASIER way for an international team of 20 to all work on one engine at once? Please help me before I go insane (I''m already a TAD insane after trying to figure this out.)

Share this post


Link to post
Share on other sites
we got the NT version running after some time, but indeed it does take some patience.. (and watch out for those enviroment variables!)

cya,
Phil

Visit Rarebyte!
and no!, there are NO kangaroos in Austria (I got this questions a few times over in the states )

Share this post


Link to post
Share on other sites
Might be a better idea if you explained exactly what the problem is. General ranting about "it doesn''t work" isn''t helpful to anyone.
State clearly:
o What you did.
o What happened when you did it.
o What you expected to happen.



God puts an apple tree in the middle of the Garden of Eden and says, do what you like guys, oh, but don''t eat the apple. Surprise surprise, they eat it and he leaps out from behind a bush shouting "Gotcha." It wouldn''t have made any difference if they hadn''t eaten it... because if you''re dealing with somebody who has the sort of mentality which likes leaving hats on the pavement with bricks under them you know perfectly well they won''t give up. They''ll get you in the end. -- Douglas Adams

Share this post


Link to post
Share on other sites
Err?

The CVS for NT server comes with an installer. Are you sure you downloaded CVSNT[1]? If you want to install a CVS server on Windows, you need that one - the regular Win32 cvs distribution doesn''t cut it since it only contains the client tools.

Read those faqs and guides I pointed you to too.

[1]www.cvsnt.org



God puts an apple tree in the middle of the Garden of Eden and says, do what you like guys, oh, but don''t eat the apple. Surprise surprise, they eat it and he leaps out from behind a bush shouting "Gotcha." It wouldn''t have made any difference if they hadn''t eaten it... because if you''re dealing with somebody who has the sort of mentality which likes leaving hats on the pavement with bricks under them you know perfectly well they won''t give up. They''ll get you in the end. -- Douglas Adams

Share this post


Link to post
Share on other sites
I get cvs running, but it does not add repositorys and it gives init errors. But I cannot view the logs to them. I also cannot add user names, I get Initialization errors also.


After this.. I hate cvs..

You would think they would make it easy.

Share this post


Link to post
Share on other sites
*Before this post generates flames, I''d like to mention that everything below is my opinion and may not be true*

Forget CVS. I''ve tried to install and use it on several occasions and in my opinion it is complete and utter garbage. It is hard to set up, hard to use, hard to maintain and in my opinion it does a very poor job at source control.

We use FreeVCS. The software was written for Delphi but can be used for anything else. I use it with 2 other members on a .NET project and we store everything in it including C# files, html files, documents, images, database scripts etc. The software is free, and in my opinion is superior to CVS in every way possible. It is significantly easier to install, it''s easier to use, it''s more intuitive and it does a much better job managing your files. Try it, you won''t be disappointed.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
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

Share this post


Link to post
Share on other sites