[cvsnt] Re: Use of modules(2) to check out several separate directories into different directories.

Oliver Giesen ogware at gmx.net
Mon Jan 24 21:36:17 GMT 2005


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.


Richard Kerry wrote:

> I'd like to set up a module definition so I can do a single check-out
> to get the three parts of the project I need.
> 
> Each project has three parts.
> 1.  Source files.
> 2.  Include files.
> 3.  Executable (output file(s)).
> 
> Lets say the repository is in CvsRepo.
> 
> I'd like to set up a single module to check out all three parts (call
> it MyProject_develop).  The source files (in one directory, call it
> CvsRepo/Source/MyProject) are applicable just to one project.  The
> Include files (in another directory, call it CvsRepo/Source/Include)
> are applicable to several related projects.  The executable is one
> file (in another directory, call it CvsRepo/Binary, ie
> CvsRepo/Binary/MyProject.exe). It is produced by building the project
> in the appropriate manner (Visual Studio).  It is needed as it will
> be issued to another part of the team who need to be able to use it
> without being able to rebuild it themselves.
> 
> I'd like to set up the modules (and/or modules2) so I can check out
> all three parts in a single check-out.  Ie. I want to say 'cvs
> checkout MyProject_develop' to 'Develop', and have it :  1.  Get
> CvsRepo/Source/MyProject as Develop/MyProject, 2.  Get
> CvsRepo/Source/Include as Develop/Include, 3.  Get
> CvsRepo/Binary/MyProject.exe as Develop/Binary/MyProject.exe.
> 
> Cheking out a different project, set up in a similar way, would get a
> different source directory, the same include directory, and put a
> different binary file into the same Binary directory.

As I found out today (see thread "Aliasing with modules2 ?") modules2
is no good for this task. It's a perfectly common thing with the
"old-style" modules file though.


For the simple grouping example it'd be something like this:

MyProjectBinary Binary MyProject.exe
MyProject_develop -a Source/MyProject Source/Include MyProjectBinary


If you need to map paths along the way, e.g. if you want the binary in
a "bin" folder below the Source folder instead of in the top level
Binary folder, you could do something like this:

MyProjectBinary -d Source/bin Binary MyProject.exe
MyProject_develop -a Source/MyProject Source/Include MyProjectBinary

There might be yet another way for performing the path mapping using
ampersand modules but I've never used them myself and TBH I haven't
missed them so far. I was able to accomplish evertyhing I needed so far
by simply combining alias and regular modules (with target override if
necessary).

Hope this helps.

-- 
Oliver
----  ------------------
JID:  ogiesen at jabber.org
ICQ:  18777742     (http://wwp.icq.com/18777742)



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