[cvsnt] Re: How to check out multiple projects from different repositories...

Bo Berglund bo.berglund at telia.com
Tue Feb 1 06:42:44 GMT 2005


On Mon, 31 Jan 2005 17:11:51 -0700, "Lehman, Curtis"
<CLehman at carrieraccess.com> wrote:

>Has anyone setup an alias that will allow you to checkout to projects with
>one command with the following requirements?
>
>1. Checked out two projects with one command, call them Project_a and
>Project_b.
>2. Project_a and Project_b are on different CVS servers, one using SSPI
>protocol, one using pserver protocol.
>3. Project_b needs to be checked out such that it's a subdirectory of
>Project_a. i.e. Project_a\subdir1\Project_b
>
>I would like to set this up such that users can pull it from WINCVS. I'm
>open to making a script if I have to and adding it to the Macros list. I've
>been looking at the alias options in the modules file in CVSROOT, but I
>don't think the syntax will allow the nesting projects or pulling from a
>server other than the one the modules file is running on. Same seems to go
>for the modules2 file, but I'm not real familiar with what all it's capable
>of doing.
>

I have been doing this using a batch file (dependencies.bat) checked
into the main module. Then on cehckout the developer is required to
execute the batch file afterwards.
So it is not a one-operation thing, you have to get the batch file
first then execute it.
Of course the file could be a more sophisticated script (python?) with
user interaction too. In that case you could have the script in a
scripts collection and everyone first gets the scripts, then they
execute a script to get their specific module. The script will have to
ask the user where to put the output data of course, but can have any
number of checkout commands inside.

We use a similar technique for building our setups. We have a common
setup module where all batch files and innosetup scripts are stored.
In this we have a bunch of "GetModule.bat" files and these are real
simple, basically they move to a certain folder and export another
batch file (the main checkout file), which is called. Then this file
exports all needed files from several separate repositories into the
output folder. Finally it executes InnoSetup with the dedicated inno
script to build the setup.
This has worked fine for several years now and is by design not
limited to getting files from our own server (but that is what we do
of course).


/Bo
(Bo Berglund, developer in Sweden)



More information about the cvsnt mailing list