[Top][All Lists]

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

Re: Hierarchical team integration in CVS

From: Pierre Asselin
Subject: Re: Hierarchical team integration in CVS
Date: 14 Feb 2002 03:48:43 -0600

"Earl Williams" <address@hidden> writes:

>Thanks very much for your detailed suggestions.  It seems that in order to
>use CVS, the directory structure of my project must be driven by short-term,
>division-of-labor-during-development concerns (Team A, Team B, Shared)
>rather than by the conceptual structure of the classes in my project.  Too
>bad.  I guess I need to learn more about Software Configuration Management.

??  The division into teams doesn't follow the logical structure?
Strange.  Anyway if the division of labor is short-term, just ignore
it.  Everybody check out the full Monty, just mind your own files.

Actually there is a way out, but I'm not sure I would recommend
it.  Lay out your full project's repository (and sandboxes) any
way you want.  Check out a full sandbox.  Then selectively create
a branch tag for the files that belong to team A.  Similarly, create
a branch tag for team B's files.

After that, if you do "cvs checkout -rteam_A_branch project", you
get a sandbox for team A.  If you "cvs checkout -rteam_B_branch project",
you get a sandbox for team B.  If you do a plain "cvs checkout project",
you get a full sandbox...  with none of the changes your teams have
made on their branches!

To get their work on the full project, the teams have to merge their
branches to the trunk periodically (or have an integration guy do it
for them).  The merges have to be done often, with floating tags to
keep track of what's already merged, etc.  When your division of labor
changes, stop using the branches and create new ones.

Like I said, I wouldn't recommend that approach, because of 1) the
perils of branching selectively;  2) the need for frequent merges and
floating tags;  3) the minimal advantage if gives you in hiding files
that you could just as well ignore.

The big, big weakness of CVS surfaces when you want to massively
reorganize your source tree.  CVS just isn't good at that.  It does
ok on static layout, subject to constraints that personally I can
live with, but it's hard to get the right layout on the first try!

Pierre Asselin
Westminster, Colorado

-----= Posted via Newsfeeds.Com, Uncensored Usenet News =----- - The #1 Newsgroup Service in the World!
-----==  Over 80,000 Newsgroups - 16 Different Servers! =-----

reply via email to

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