[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