# How do I set up CVS for group use?

I am completely new to CVS as well as linux terminal so please bear with me.

I need to setup cvs so my group members (on other machines) can access the repository and do all the good CVS stuff. How do I go about doing this? Do I need to setup my macbook as a server? Do I need to find a standalone server to host the files?

If I do need to use an external server can I/should I use dropbox in conjunction with CVS?

Hi guys, OP here. Thanks so much for all the answers!

Here are my requirements:

I have 5 group members, at any one time, all 5 group members could possibly have the files checked out and could be working on them. We have multiple critical files that will be used frequently.

NONE of us really know how to use the terminal, the source code management software we use will ultimately have to be very user friendly and very simple to use.

I've been looking into Git and it looks very promising, CVS has been a headache to find any help online with and so the documentation on the GIT page looks like it could really smooth things out.

Is there a way to set up Git so that other users on other machines could access the same repository?

-

Please don't use CVS. It is extremely obsolete for several reasons. Use subversion or a distributed version control system like git, mercurial, or bazaar. Which one depends a lot on how your group's workflow will go. Can you fill us in a little on that? Also, do you care if your files are accessible to the public or not? Both of those questions make a difference on recommending external servers.

-
come on, whether SVN is any better than CVS is really debatable. And it doesn't lose any code, like VSS, so the OP can always upgrade to hg, git or bzr later. –  knitti Oct 13 '10 at 23:24
You're honestly the first person I've met since the 90's who defended CVS. It was great in its time, but even its own FAQ mentions subversion multiple times as an alternative where CVS features are lacking. For a brand new project, it makes a lot of sense to get him into the best software for his needs right away. If he's talking about hosting it on a laptop I'm guessing distributed version control is probably going to factor strongly. –  Karl Bielefeldt Oct 14 '10 at 3:40

Setting up a simple CVS repository can be pretty easy.

• Create a repository

This is were all revision information will be stored.

$mkdir /path/to/CVS_REPO$ cvs -d /path/tp/CVS_REPO init


You can already set CVSROOT so you don't have to specify it anymore (assuming bash).

$export CVSROOT=/path/to/CVS_REPO  • Create a module Let's assume you already have some folder bla/ containg your stuff. $ ls bla/
your_stuff


Use cvs import to add it to the repository.

\$ cvs import -m "initial" bla blup START


Here the arguments are:

• -m "initial": commit message
• bla path to folder bla/
• blup: vendortag for import
• START releasetag for import

You probably should read Fogel's CVS book now. The section on "Password-Authenticating Server" goes into some detail how to set up a server process so people can check-out stuff.

Disclaimer In a very long time I have only used CVS to talk to legacy repositories. Everything new I set-up is git or sometimes subversion.

-