[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: branching several times a day

From: Brad Appleton <brad_at_bradapp.net>
Date: 2004-03-23 17:48:03 CET

On Tue, Mar 23, 2004 at 04:57:20PM +0200, Nuutti Kotivuori wrote:
> Well, I guess we view complexity in a different way. For me, something
> like this is less complex:
> http://www.cmcrossroads.com/bradapp/acme/branching/branch-creation.html#BranchPerTask

You're absolutely right! I forgot my own advice about
the "wholeness" versus "separateness" value. I suspect
branch-per-task (private branch) approach will look
more appealing if a greater emphasis is placed on
separateness/separability, whereas the regularly rebased
branch-per-developer (private branch) approach will probably
look more appealing if a greater emphasis is placed on having
a continuously integrated whole and as few codelines as possible.

One thing I find interesting in all of this is the different
approaches exemplified by SVN, Accu-Rev and Bitkeeper:

- In SVN, branches and labels (tags) are both working-copies.
  One can take the POV that "everything is a copy" and branches
  and workspaces are equivalent in that regard.

- In Accu-Rev, the overarching concept is that of the "stream"
  (e.g., branch or codeline). In essence, everything is a stream.
  A workspace is an instance of a stream. A label is simply a
  "static" stream.

- In Bitkeeper, the overarching concept is that of the "workspace".
  In essence, a workspace is a first-class repository. Hence you
  automatically have "private versioning" where you can checkin
  private versions without making them visible to others, but
  without having to branch. Branching doesn't happen until you
  "pull" a change from another workspace, and then it only takes
  place for the files that had true parallel activity. Change-sets
  are supported, but labels are different beasts from workspaces
  or branches or change-sets.

> So such a person does not have the emotional baggage left over from
> other version control systems, or the conceptual baggage from reading
> branching and tagging operations as somehow special.

Yes. I think it was Piaget who said we tend to try to understand
the unfamiliar in terms of that which is already familiar to us.

> Obviously when dealing with humans, such things must be accounted for.


Brad Appleton <brad@bradapp.net> www.bradapp.net
  Software CM Patterns (www.scmpatterns.com)
   Effective Teamwork, Practical Integration
"And miles to go before I sleep." -- Robert Frost
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Mar 23 17:49:10 2004

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.