info-cvs
[Top][All Lists]
Advanced

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

RE: Branching bug ??? (was Re: Bug is tagging the head of a branch head?


From: Paul Sander
Subject: RE: Branching bug ??? (was Re: Bug is tagging the head of a branch head???)
Date: Wed, 19 May 2004 17:53:25 -0700

Your method is a fine one.  The thing is, if the parent branch is
empty, then you don't need to create it.  You just need to track
its sprout point from its parent so that its children sprout from
the same version.  This is mathematically equivalent to creating
a placeholder that is identical to the sprout point, which is what
you seem to want.

Another way to look at it is to compress a bunch of adjacent
identical versions to the earliest point, and sprout any branches
from there as needed.

>From the user's perspective, the commands used to do the everyday work
are identical:  Checkout or update a workspace for any given branch,
commit new work as needed, perform merges by specifying one or two
versions (or a version and a branch) not in the workspace.  There might
be some confusion when reviewing the version history and trying to
map it to the logical branching required by the project, but having the
logical branch structure documented and handy during the reviews
exposes the optimization in a way that should be clear to the
casual observer.

--- Forwarded mail from address@hidden

No, no, no, I'm NOT trying to "make" CVS work like ClearCase. I
perfectly
understand that it DOES not and CAN not.

It's just when I branch I want to see the "physical" branch, regardless
where it's coming from.

I just have a development philosophy I've used in the past that has
worked
for me. I treat the trunk as THE release branch, meaning only code that
has
been tested and verified is submitted to the trunk. So I create a
development
branch off the trunk and make this an "integration" branch. Individuals'
branches=20
are off this development branch, where they do their own work, i.e.,
their=20
sandboxes are checked out using their individual development branch, and
code
and "unit test" off their development branch. When all are ready, then
they
merge their code onto the the "integration" branch. Then the
"integration"
branch is tested, etc. Once proven the "integration" branch is merged
onto
the trunk, which is the release branch.

IOW, all tested code is funneled back to the trunk, which is the release

branch.

--- End of forwarded message from address@hidden





reply via email to

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