-   Programming (
-   -   How can I set this up as a CVS module? (

CaptainRandom 06-06-2004 07:08 PM

How can I set this up as a CVS module?
Okay, I've used CVS for quite a while on the client side, but I've rarely had to do the actual admin of the repository.

I'm working on one repository that is already set up with a few modules in /usr/lib/cvs that can be checked out and modified by the members, but the root (/usr/lib/cvs) isn't set up as a module, so anyone who wants the entire repository still has to check out the individual modules.

How can I set up the root directory as a module itself, so that our users can checkout the entire repository, or just check out the modules that they choose?

I've read through a couple of online faqs on CVS, but I've still got a ways to go in comprehension.

I appreciate any suggestions/comments.


Dark_Helmet 06-06-2004 09:19 PM

I don't think you (as administrator) want to allow users to checkout the cvsroot entirely. The reason I say that is because if you do, then that means every user will have access to the CVS administration files located in $CVSROOT/CVSROOT. That has "bad idea" written all over it.

More than likely what you want to do is edit your modules file. From some working directory:

$ cvs checkout CVSROOT
<edit contents of modules file>
$ cvs commit
$ cd ..
$ cvs release -d CVSROOT

If I understand correctly, what you want in the module file is something like this:

your_module_name &regular_module_1 &regular_module_2 ...
Replace your_module_name with whatever you like; a name to refer to the complete module collection. Then replace each "regular_module_X" reference with whatever names have been given to the chunks of code to check out. So, assuming you wanted to set things up so you could check out "all_modules", and have it snag "display_code", "sound_code", and "network_code", you would get this directory structure on a cvs checkout all_modules:

all_modules/display_code/<display_code hierarchy>
all_modules/sound_code/<sound_code hierarchy>
all_modules/network_code/<network_code hierarchy>

Clear as mud?

CaptainRandom 06-07-2004 05:44 AM

Yup, definitely clear as mud.

True, setting up the root as a module is pretty insecure, but I need to set this up to check out all modules at once.

Most of the users of this repository will be accessing it via TortoiseCVS, so I just need to make sure that they can run a cvs update and get back all the modules with one click.

I'll try to edit the CVSROOT modules file in /usr/lib/cvs, and I'll see how far I get.

All times are GMT -5. The time now is 05:43 PM.