[cvsnt] Re: CVSROOT/module2: how to merge multiple dirs into a common virtual root

Bo Berglund bo.berglund at telia.com
Thu Jun 1 12:33:40 BST 2006


Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.


On Thu, 01 Jun 2006 13:03:59 +0200, Alexander Kriegisch
<Alexander.Kriegisch at web.de> wrote:

>Hello Bo!
>Hi others!
>
>> 1. Development of the CVSROOT/modules2 file functionality is not
>> finished. There are still bugs there. AFAIK Tony has postponed working
>> on this until version 2.6 is done.
>
>Very well, I just gave it a try.
>
>> 2. CVS does not allow files from two or more folders on the server to
>> reside in the same sandbox folder. So if this is what you are trying
>> to do then you are out of luck no matter which flavour of modules you
>> use.
>
>> The source of a file is written into the CVS/Repository file and it
>> holds only one value that has to be valid for the whole directory
>> above. I.e. all files must come from this repository folder.
>
>I understand, but in this case there are no ambiguities, because my 
>src/conf/eclipse_projects/project1 package does not contain a src 
>directory of its own. Instead I am trying to "mount" my src directory 
>rooted somewhere else into that location. Would it help to somehow 
>explicitly disallow any possible src subdirectory of 
>src/conf/eclipse_projects/project1 to be checked out as part of my 
>virtual module? Could I "mount" my other src directory into the 
>virtual module's root? Unique CVS/Repository entries could then be 
>structurally guaranteed. (Just speculating and hoping, sorry.)
>

I guess I did not get your structure right then...
I have had trouble getting a directory from somewhere living below a
directory from somewhere else when I tried it. At first it kindof
seems to work but then later on it screws up on updates...
The only way I have been able to get all these different dirs
assembled is by creating a parallel structure like this:
moduletop
  |- dir1 (contains a directory from some/where/else)
  |- dir2 (this is from someother/place)
  |- source (this is my real source dir from projectx/src)
  |   |- subdir (a real subdir: projectx/src/subdir)
  |- bin (this is where my compiled binaries go: projectx/bin)

This structure can be done in CVSROOT modules:

_mydir1 -d dir1 some/where/else
_mydir2 -d dir2 someother/place
_mysource -d source projectx/src
_mybin -d bin projectx/bin myproject.exe myproject.ini mysupport.dll
moduletop &_mydir1 &_mydir2 &_mysource &_mybin

Checking out moduletop will create the structure above.
The bin folder will only hold the three named files even if there are
more in the physical repository folder.

What does not work is having:
moduletop
  |- dir1 (contains a directory from some/where/else)
  |- dir2 (this is from someother/place)
  |- source (this is my real source dir from projectx/src)
      |- subdir (a real subdir: projectx/src/subdir)
      |- bin (this is where my compiled binaries go: projectx/bin)

with this in CVSROOT/modules:

_mydir1 -d dir1 some/where/else
_mydir2 -d dir2 someother/place
_mysource -d source projectx/src
_mybin -d source/bin projectx/bin myproject.exe myproject.ini
mysupport.dll
moduletop &_mydir1 &_mydir2 &_mysource &_mybin

Don't ask me why, I don't get it. But experience says it will not
work.

HTH

/Bo
(Bo Berglund, developer in Sweden)



More information about the cvsnt mailing list
Download the latest CVSNT, TortosieCVS, WinCVS etc. for Windows 8 etc.
@CVSNT on Twitter   CVSNT on Facebook