[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Multi-branch modules possible?

From: Dennis Jones
Subject: Re: Multi-branch modules possible?
Date: Thu, 18 Mar 2004 19:05:12 -0800

----- Original Message ----- 
From: "Derek Robert Price" <address@hidden>
To: "Dennis Jones" <address@hidden>
Cc: "CVS Mailing List" <address@hidden>
Sent: Thursday, March 18, 2004 6:28 PM
Subject: Re: Multi-branch modules possible?

> Hash: SHA1
> Dennis Jones wrote:
> >Along the lines of Andy Jones' "Tagging across branches" thread posted
> >earlier today, I have a similar question.
> >
> >There have been many occasions in which I have wished it were possible to
> >have a module where some directories were on one branch, and some
> >directories were on another (and so on).  I know CVS does not have native
> >support for this feature (I've heard ClearCase does however -- is that
> >true?), but I was wondering if there were any plans to add this
> >to CVS at some point in the future?  Has it ever been considered?
> Why would you want to do that?

Simple.  Say you have a significant number of applications that are built
from a large directory tree, and all of the applications are co-related to a
single product.  That is, there are dozens of applications that make up a
released product, and they all share lots of code from many different

Now, suppose a branch gets created to provide a special version of just one
particular application (or a couple of applications), and that branch must
be maintained for a significant period of time (weeks, months, or even
years).  If any of the shared code on the main trunk gets modified, those
changes must be merged onto all existing branches in order for them to stay
in sync with the main trunk.  The more branches that exist, the more chance
there is for error, either during the merge process, or in developers
forgetting to merge his change(s) onto all live branches.

This might seem like a contrived example, but it is not.  I do some
part-time development for a company that tries to maintain mutliple versions
of their product simultaneously, and those versions are each on a separate
branch.  However, there is LOTS of code that is shared between the versions,
and relatively small sections that differ across versions.  When changes
occur that should affect all versions, it is a maintenance nightmare to get
all versions of the product up to date.  This problem is exacerbated by the
fact that this is an international application, translated into 16 languages
(currently, and more are planned), and any change to the UI must be
duplicated for each locale, and for each version.

I have made repeated efforts to talk the client into not trying to manage so
many simultaneous versions, but there is no talking them out of the way they
do things.  So, as their resident "expert" in CVS (and an expert I am not -- 
but before I came along, they weren't even using revision control -- now
just TRY to imagine this scenario without it!!!), I am looking for any way
to minimize the ever increasing painful experience of maintaining this
product's CVS repository.  The idea of branching directories separately
seems like it would be a reasonable solution to the disastrously painful
methodology they have today.

What would you suggest instead?  Separate repositories for each application?
I don't even want to think about how painful that would be.

- Dennis

[This E-mail Scanned for viruses by]

reply via email to

[Prev in Thread] Current Thread [Next in Thread]