[cvsnt] Modules2 definition

Bo Berglund bo.berglund at telia.com
Thu Feb 8 21:42:40 GMT 2007


On Thu, 8 Feb 2007 12:38:05 -0700, "Van Quakebeke, Joe"
<Joe.VanQuakebeke at Ingenix.com> wrote:

>All;
>	I am trying to pull all the files in separate directories into
>one directory  ( I have a group I am migrating from VSS and they have
>linked files).  So I setup modules2 and I can get all the files I want
>from a parent dir through all the children dirs.  But all the files are
>in the respective subdirs, not in the top dir.  
>
>Here is my definition:
>[unix]
>/ = Symmetry-Products/Release65/ETG/win32/Grouper
>(^.*\.c$|^.*\.cpp$|.*/$)
>/ = Symmetry-Products/Release65/ETG/unix/classes_unix  
>
>classes_unix never seems to be seen.  I have 2 files there but they are
>never copied into my sandbox. 
>If I comment out the first line then I get them.
>
>So how do I define modules2 to get all the .c and .cpp in Grouper,
>Grouper sub dirs, and all the files in unix_classes into one single
>directory without sub directories?  
>
>I am making the assumption that there are no duplicate filenames.
>
>I was thinking it might be possible to use symbolic links in the repo
>but I understand that is not recommended. 
>

CVS does not work that way....
In every checked out directory on the client there is a CVS
subdirectory that contains the "metadata" that tells cvs from where
the files in the directory came from and what revisions they have on
the server.
There are basically three files:
Root - this contains the address of the cvs server and repository name
Repository - a misnomer because this holds the module specifier
Entries - this is a list oaf all the files with their revisions

Root and Repository has only one entry, so there can be files in the
directory from only a single repository and only from a single
physical module (=directory) on the server.

Entries holds only the file names, not their path. So there is no
place to stuff any source information and consequently all files must
come from the same server directory.

Since this is very basic to the way CVS works it is not possible to
bypass it through the modules or modules2 files by defining virtual
modules.

HTH

/Bo
(Bo Berglund, developer in Sweden)


More information about the cvsnt mailing list