Hullo,

I'm not a member of this mailing list; please be sure to copy me on any reply.

I've been hunting through the CVS FAQ-O-Matic and didn't find anything like
this.  The closest was a message about common submodules, but that isn't
what I want.

Let's say I have a module M and several submodules, A, B, and C.  What I'd
like to do is be able to do a CVS checkout like this:
        cvs -d ... checkout M           # Just the base module
        cvs -d ... checkout M B         # The base plus one submodule
        cvs -d ... checkout M A C       # The base plus two submodules
The trick is that I'd like A to be checked out as M/foo/bar/A (within the
base module's tree), B is checked out as M/foo/baz/B, and C checked out
as M/bletch/C.

I know I can do it by (essentially) listing all the files/directories _NOT_
in A, B, and C for M, but that's a maintenance horrorshow---every time a
file is added to M's tree, you have to remember to add it to the modules
file as well.  And we will have developers who will be working on the base
module with little/no knowledge of where the submodules are attached, so
asking them to remember to update a file they may not even have checked out
is counterproductive.

In other words, I'm asking if it's possible to splice these trees together
dynamically, yet keep the checkins separate, so checkins to one of M's
directories are to M while checkins to one of A's directories go to A.

So, is there any way to do this?

If it's any help, so far, M is in CVS, but not any of the modules, so we can
put them whereever they will work best.

Reading this back, it's pretty confusing, even to me; I hope I've gotten the
problem across.  If not, write me back and I'll try again.

Tks,
-- Greg Noel, retired UNIX guru

Reply via email to