[cvsnt] Project structure in repository as it relates to branching

Nick Duane nickdu at msn.com
Tue Aug 15 22:07:59 BST 2006


"Bo Berglund" <bo.berglund at telia.com> wrote in message 
news:pva1e2pc6djo3s6disk994frqthcv7k0cc at 4ax.com...
> On Mon, 14 Aug 2006 11:58:33 -0400, "Nick Duane" <nickdu at msn.com>
> wrote:
>
>>Our project consists of several applications and several static libraries
>>that most of these applications make use of.  Currently when a release is
>>done only the applications which have changes are built and released.  I'm
>>not sure if this is the best approach, as when I started working on 
>>cleaning
>>up the build several applications no longer built because of changes that
>>were made to the shared libraries.
>
> Welcome! THis is one of the reasons to use virtual modules instead!
> We have many applications that we need to maintain all the time. They
> have their own sources but they also use a lot of common code.
> So what we have done is to create a virtual module (using the
> CVSROOT/modules file) for each of tghese applications.
> The sources needed are checked out to subfolders below the application
> main folder using ampersand modules so we get a structure
> approximately like this:
>
> application
>  |- source (main sources for the application)
>  |- common
>  |    |- classxx
>  |    |- classyy
>  |    |- classzz
>  |    |- utils
>  |    |- libs
>  |- bin (where the executable go)
>

Along these same lines, I have a thirdParty module that contains thirdParty 
code (headers & libs from external sources).  My current thinking is that 
I'll put this under each and every top level module as opposed to it being a 
top level module under the repository.  The reason is that if someone 
updates any of these I don't want it to affect all modules.  Each module 
should be able to upgrade to a third party version on their own timetable.

And in order to confidently be able to say I can reproduce any past release 
it seems as if I should also put the development tools and sdk's (VS.NET, 
Platform SDK, etc.) under CVS control also.  Is this what others do?

Thanks,
Nick 




More information about the cvsnt mailing list