info-cvs
[Top][All Lists]
Advanced

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

Re: cvs - modules query


From: iag
Subject: Re: cvs - modules query
Date: Mon, 20 Nov 2000 07:16:14 +0000

James Youngman wrote:

> iag <address@hidden> writes:
>
> > I've just started looking at cvs and I have a quick question (novice
> > level).
> >
> > I have a number of modules in an archive each with their own
> > public_headers directory that I want to combine into a single
> > public_headers directory when the project is checked out.
> >
> > i.e.
> > $CVSROOT/module_a/src                        -> $WORKSPACE/module_a
> > $CVSROOT/module_a/public_headers    -> $WORKSPACE/public_headers
> > $CVSROOT/module_b/src                       -> $WORKSPACE/module_b
> > $CVSROOT/module_b/public_headers   -> $WORKSPACE/public_headers
> >
> > Is this achievable by simply modifying the $CVSROOT/CVSROOT/modules file
> >
> > in some way?
> >
> > If so how?
> >
> > If not - how do others handle source files from multiple archive
> > directories being required in a single project directory on checkout?
>
> You could make a separate top-level module "public_headers" and
> include it in both module_a and module_b by manipulating the modules
> file.
>
> --
> James Youngman
> Manchester, UK.  +44 161 226 7339
> PGP (GPG) key ID for <address@hidden> is 64A95EE5 (F1B83152).

Sorry Jay, I still don't follow. But I think you've described the opposite of
what I want?

The header files are specific to the repository directories. For example
$CVSROOT/module_a/public_headers may contain the files declaring extern and
struct info specific to the library files contained in $CVSROOT/module_a/src.
Logically it doesn't make sense to me to group all these declaration files
together until I get the files into the workspace area. Possibly I shouldn't
be trying to put them together at all? It just makes it easier to add a
single include directory on the compile line.

So what I'm trying to do is have files in a single workspace directory
contain files from multiple repository directories and having played around
with alias modules, etc., I still can't see how (or if?) cvs supports this.
It complains as soon as I try to specify a module which takes files from a
second repository directory and try to put them into a workspace directory
that's already got stuff in it from another repository directory.

Basically I tried the following in the modules file,

project    &project_headers  ....etc
project_headers   &module_a_public_headers   &module_b_public_headers
module_a_public_headers   -d public_headers   module_a/public_headers
module_b_public_headers   -d public_headers   module_b/public_headers

So when I check out project, module_a/public_headers is being checked out
correctly but when it tries to do module_b/public_headers it gives,

cvs checkout: existing repository /home/iag/cvsroot/public_headers
module_a/public_headers does not match /home/iag/cvsroot/public_headers
module_b/public_headers
cvs checkout: ignoring module module_b_public_headers

Can you be a bit more explicit with your proposed solution.


cheers,


Ian





reply via email to

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