> 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

Reply via email to