[cvsnt] max number of repositories?

Ian Epperson iepperson at axiomdesign.com
Wed Nov 12 02:22:23 GMT 2003


You might also experiment with defining the sub-modules in the "modules"
file.  If you give them a descriptive name, and point that name to a
sub-module, it should work fine.

We had investigated going this route for a few of our modules but gave
it up as our modules (projects) are added to frequently.  It sounds like
your products are a bit more static, and you may benefit from this
approach.

So, your modules file might contain:
--------
1920-Mk6e-All            1920-Mk6e
1920-Mk6e-FirmwareOnly   1920-Mk6e/Z00-Firmware
1920-Mk6e-BootloaderOnly 1920-Mk6e/Z01-Bootloader

1680-Mk6-All             1680-Mk6
1680-Mk6-FirmwareOnly    1680-Mk6/Z00-Firmware
1680-Mk6-BootloaderOnly  1680-Mk6/Z01-Bootloader
1680-Mk6-ChechsummerOnly 1680-Mk6/Z03-Chechsummer

...

--------

When you "fetch list" in Tortoise, you should see a combination of the
"ls" command, and the contents of the modules file, so (alphabetical
order):
1680-Mk6
1680-Mk6-All
1680-Mk6-BootloaderOnly
1680-Mk6-ChechsummerOnly
1680-Mk6-FirmwareOnly
1920-Mk6e
1920-Mk6e-All
1920-Mk6e-BootloaderOnly
1920-Mk6e-FirmwareOnly
...

Keep in mind that if you added a new product or Z series folder, you'd
have to manually edit the modules file - but that can be done by anyone
on the client side with the correct permissions.

I would urge you to only divide items among repository lines when
necessary.  Keep in mind that EACH repository can be configured
differently, and requires server work to set up.  Here, we had set a few
repositories and only two are regularly used - and anytime something is
put in a repository that almost no one uses, half the users don't know
how to find it.

Generally, repositories are more difficult to manage and less flexible
than modules.  For instance, if you decide you want a common set of
libraries that lives in a module, and you want that to be a
automatically checked out into a subfolder of specific modules, you can
do that using ampersand (&) modules as long as both reside in the same
repository.  

For instance, if you had a "library" module and "bootloader" and
"firmware" subdirectories (or sub-modules) within that, your modules
file could like this (doing the syntax from memory):
-------
BootLoaderLibrary     Library/BootLoader
FirmwareLibrary       Library/Firmware

1920-Mk6e-FirmwareOnly   1920-Mk6e/Z00-Firmware   &FirmwareLibrary
1920-Mk6e-BootloaderOnly 1920-Mk6e/Z01-Bootloader &BootLoaderLibrary
-------

And you'd get FirmwareLibrary as a subdirectory to
1920-Mk6e-FirmwareOnly after checkout.  Not possible if they're in
different repositories.

The primary thing we use the second repository for is non-program admin
type files that are handy to have in CVS.


__________

The major difference between a thing that might go wrong and a thing
that cannot possibly go wrong is that when a thing that cannot possibly
go wrong goes wrong, it usually turns out to be impossible to get at or
repair.

   -Douglas Adams

-----Original Message-----
From: cvsnt-bounces at cvsnt.org [mailto:cvsnt-bounces at cvsnt.org] On Behalf
Of Christian Hack
Sent: Tuesday, November 11, 2003 4:55 PM
To: cvsnt at cvsnt.org
Subject: RE: [cvsnt] max number of repositories?



> -----Original Message-----
> From: cvsnt-bounces at cvsnt.org
> [mailto:cvsnt-bounces at cvsnt.org] On Behalf Of Bo Berglund
> On Tue, 11 Nov 2003 13:25 +0100, IVO.HECHMANN at SBB.CH wrote:
> 
> >--- Erhalten von  I0.U114371 0512 20 26 41                   
> 11.11.03 13.25
> >
> >hai all;
> >
> >i've just successfully installed CVSNT and now i found an
> old message at
> >http://www.cvsnt.org/pipermail/cvsnt/2002-May/002138.html
> which says that
> >cvsnt may handle only <=64 repositories; well i was shocked,
> but when i
> >added 70 repositories for testing it worked fine. i am using cvsnt 
> >v.2.0.0.9, is this an old limitation which has been removed?
> >
> 
> The limit has been moved up to some high value that I don't know. But 
> why in the world do you want to have so many repositories??? I think 
> that you might have misunderstood the workings of CVS here. You don't 
> need a *repository* for each project you want to maintain, instead you

> create a *module* for each. The only reason I can think of to separate

> stuff into different repositories is when you want to make sure there 
> can be no interaction between the modules of each. This can happen for

> example if you work on a consultancy basis and you want to keep 
> customer code well isolated.
> 
> However, dividing stuff into different respositories makes it 
> impossible to use the built-in cvs support for creation of logical 
> modules where some support files are part of many different projects. 
> This cannot be done across repositories.
> 

Excuse me kinda hijacking this thread

Bo (or anyone else who would like to comment),

I have read a few CVS type docs and I am a little confused as to how I
should set up our system. We have a number of embedded products with
fairly different versions of code. Each product can have more than one
distinct section of software though.

e.g. we have one product called 1920-Mk6e that currently has two
distinct sections of code: Z00-Firmware and Z01-Bootloader.

Likewise there is another device called 1680-Mk6 which has two sections
named the same and then some more like Z03-Checksummer.

As we only have around 10-15 devices, I was initially planning on
creating separate repositries (albeit on the same server) for each
project (i.e. repositries called 1920-Mk6E, 1680-Mk6. Then have each
code section (Zxx-abcdef) as a module. If I had everything under one
repositry using the device name as the module, checking out individual
(Zxx-abcdef) sections is possible but not as simple.

I am trying to use TortoiseCVS (for simplicity over command line -
otherwise the developers won't use it) and it doesn't easily support
directories below modules. i.e. the Fetch List button when doing a
checkout only gives the modules in the repositry and nothing lower. _IF_
I know the name of the lower directories I can add them only they will
be checked out. It's not that simple to use though and knowing the guys
around here they will whinge and complain.

Suggestions as to how I should implement things? I am sure others have
faced a similar if not an identical situation

Christian

_______________________________________________
cvsnt mailing list
cvsnt at cvsnt.org http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt


More information about the cvsnt mailing list