> From: Greg Noel [mailto:[EMAIL PROTECTED]]
> Sent: Sunday, September 10, 2000 11:04 AM
> On Sun, 10 Sep 2000 12:52:35 +0200 Guus Leeuw
> <[EMAIL PROTECTED]> wrote:
> >-d specifies (after co) the target directory on the client, so you
> >could say:
> >cvs co -d M/foo/bar/A A
>
> Yes, I've used it. That's why I wonder about the -d option
> that you can
> specify in the modules file. If that has a similar effect
> for one module,
> I'm pretty much home free.
Yes, this works as you hope.
> 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.
If you put the submodules outside of the repository directory containing the
base module, M, say in a directory S, then in the modules file, you can hove
modules like:
M M
A -d M/foo/bar/A S/A
B -d M/foo/baz/B S/B
C -d M/bletch/C S/C
One potential problem is that when you check out the modules with these
artificial paths, which don't exist in the repository, the ./CVS/Repository
entries in the intermediate directories will point to CVSROOT/EmptyDir. This
can happen when you use "cvs co -d somepath" also.
Jerry