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

branching several times a day (was Re: Sourcesafe user needs primer on branching source control)

From: N. Thomas <nthomas_at_cise.ufl.edu>
Date: 2004-03-10 23:45:16 CET

* Lawrence Kesteloot <lk@teamten.com> [2004-03-10 12:07:53 -0800]:
> I must admit I'm similarly confused by people on this list who branch
> several times a day. I have a hard enough time keeping track of the
> one branch we do per release.

I don't do it as often as once per day, but every time I add a new
feature to the code that I'm working on, I will branch, do the write,
compile, test, commit cycle a bunch of times and then merge back into
the trunk, deleting the branch when I am done. (This is for a personal
project of mine, but I suppose if I were working on it full-time, and I
had enough bite-sized features, then I could imagine myself branching
more often.)

Two nice things about doing it this way:

    - the trunk always has the features I want fully implemented and is
      never in a state of unfinished, partly-working/partly-broken

    - I can work on adding multiple components to my system this way by
      putting them all in separate branches. It would be terribly
      confusing if I were to do it all in the main trunk.

Also, to quote a recent Slashdot posting:

    I don't know what your development model is, but branching and tagging are
    often some of the most frequent (and slowest, in CVS) operations.

    Many projects follow the "make branch, fix bug in branch, test branch and
    then merge" cycle, which makes a lot of sense.

                               -- Slashdot comment #8495286, by aurum42 (712010)

and here is another one:

    "Consider GCC"

    Once a week, a snapshot release is made. That means a tag is added. This
    operation takes, on average, 40 minutes, because the GCC source tree is
    large.

    Every time someome makes a branch, they create a tag just before branching
    (for use later on, with diffs and merging). 40 minutes to tag, another 40
    minutes to branch.

    All because these are, stupidly, O(n) operations instead of O(1).

                             -- Slashdot comment #8495755, by by devphil (51341)
                                (Obviously he is talking about CVS here.)

Branching in Subversion is cheap, so we exploit them to the max in this way.

Thomas

-- 
N. Thomas
nthomas@cise.ufl.edu
Etiamsi occiderit me, in ipso sperabo
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Wed Mar 10 23:45:42 2004

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