[Top][All Lists]

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

Re: Branch aliasing

From: Kaz Kylheku
Subject: Re: Branch aliasing
Date: 31 Jan 2003 09:13:38 -0800

"Simon Scott" <address@hidden> wrote in message news:<address@hidden>...
> Hi,
> Please could I ask for any advice on the following.

[ Snip: description of scheme whereby branches are partially aliased:
in one subtree of the project, branch tags A and B are independent
branches. In another subtree, both point to exactly the same branch
numbers in every file, therefore coinciding. ]

I can't think of anything wrong with this scheme, other than this:
people can't independently work on branches A and B for that subtree
where it is aliased. Obviously, this is a ``feature'' of the scheme;
if you thought that this was a problem, you wouldn't propose it.

The aliased part of the tree may well be a highly stable code subject
to careful changes, so that rather than destructive interference
between the A and B streams, there is actually a positive
collaboration from instantly sharing critical bugfixes without having
to merge back and forth.

A variation of this practice occurs when people branch just a subtree,
switch it to that branch, and leave the rest of the working copy on
the trunk. They get their own independent stream over that subtree,
but pick up changes from the trunk whenever they update. This is
almost equivalent to your scheme, except that the trunk is not endowed
with the branch tag, so the checkout cannot be done all at once:
others who want to participate in the scheme have to do a full
checkout of the trunk, go to the branched subdirectory and update that
to the branch. If they try to just check out the branch, they won't
get the whole tree because the tag does not exist outside of the

This ``lazy branching'' is sometimes done by CVS users, and it works.
I have done it in the past, but usually I followed up on it by adding
the branch tag to the rest of the tree (hence the term ``lazy''
branching). In other words, just branch the part that you need to
branch *now* and then later extend it to the whole tree to make a
proper branch. I did this because I did not need to ``freeze'' the
rest of the project with respect to my changes; it was beneficial to
work in the subtree while integrating with the rest of it by simply
doing updates.

reply via email to

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