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

Nick Duane nickdu at msn.com
Mon Aug 14 16:58:33 BST 2006


It appears you can branch any module, but does it make sense to branch 
anything but a 'root' (top level module in repository) module?

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.

My initial thinking of the structure of our project was/is :

Group1 (repository)
    ProjectA (our current project)
        src
            app1 (contains all sources for app 1)
            app2 (contains all sources for app 2)
            .
            .
            .
            lib1 (contains all sources for static lib1)
            lib2 (contains all sources for static lib 2)
            .
            .
            .
        include (common include files)
        lib (contains the built libraries for the common static libs, 
checked in by build machine)
        thirdParty (contains third party packages)

Another approach would be to get rid of src and move all the modules under 
src up one level so that they're under ProjectA.  Note sure what, if 
anything this would buy us, but that's what I came up with when I started to 
think that these applications are independent and could possibly be 
built/released on different schedules.

But then I started to think about branching and where you branch.  Let's say 
our next release will only contain changes to app1.  Do we just branch the 
app1 module or do we branch ProjectA?

Thanks,
Nick 




More information about the cvsnt mailing list