[Top][All Lists]
[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