[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: FW: Do people use the CVSROOT/modules file?

From: Paul Sander
Subject: Re: FW: Do people use the CVSROOT/modules file?
Date: Thu, 13 Feb 2003 12:00:36 -0800

The downside to the modules database is that it's not a first-class
citizen.  It's not subject to the same handling as other versionable
objects in the repository (it's checked into an RCS file, but only the
head version is ever used).  That means you can't change the definition
of a project over time and expect to reproduce any of its configurations
properly before the last change.  (This is true even if you check out
or export by tag or datestamp!)  It's also not subject to branching, so
you can't experiment.

The workaround, of course, is to perform ad-hoc versioning using
naming conventions within the modules database.  And some shops have
been successful using this method.  But it adds complexity to the
end users.

--- Forwarded mail from address@hidden

Thanks to Mark Cooper for the informative reply...


OK, say I have 3 projects in CVS, lets call them project-A, project-B

I also have a number of 3rd party development tools, also stored in cvs.

Lets say that in order for project-C to be built, it also needs
and that project-B in order to be built requires project-A. This isn't
unreasonable scenario, and one I have quite a few occurrences of.

Lets further assume that in order to build project-A it must use some of

those aforementioned 3rd party tools.

Lets then assume I have a new (to the project) developer, and I want to 
give him some concise instructions to be able to get hold of project-C
work on it, then build it. I tell him "using cvs, check out
- he does this, and by issuing the one command line instruction "cvs 
checkout C-PROJECT-ALL" he obtains a complete set of applicable build 
tools, the source files and/or distributables for project-A, the source 
files and/or deliverables for project-B and the source for project-C.


In the MODULES file I have entries like this:

BUILD-TOOLS -a build-tools/ant-1.5.1 build-tools/junit 
build-tools/jndi-1.2.1 build-tools/j2sdk-1.2.1-NT 
build-tools/java_xml_winter_01 build-tools/DB2Driver-v7.2FP7 
build-tools/pmd-0.9 build-tools/xalan-j_2_4_0
LATEST-BUILD-TOOLS -a build-tools/thingummy-widget1.0-NT..............

With a little forethought and the use of alias (-a) and ampersand (&) 
modules you can set things up so that an absolute minimum of cvs
are used by your users to check out everything they need for a related 
task, thus eliminating much user error in the process of obtaining a 
suitable development environment.

Of course, nothing prevents anyone from doing things the hard way. If
haven't had occasion to delve into the modules file before and have been

using cvs for a while, chances are that you won't need it. It doesn't
to be aware of possibilities though does it?

Hope this helps.

Mark Cooper
Reuse Manager
Microlise Limited

Info-cvs mailing list

--- End of forwarded message from address@hidden

reply via email to

[Prev in Thread] Current Thread [Next in Thread]