[darcs-users] darcs success story: Just-In-Time-Branching

Mark Stosberg mark at summersault.com
Fri Jul 22 19:03:11 UTC 2005


Here's positive story about how darcs helped me my job.

We recently needed to add a major feature to our 40,000 line Perl
project, while continuing to maintain the "stable" version of it until
was ready to launch.

We discussed branching and decided to put it off as long as possible.

The result was that eventually almost 150 patches accumulated on our
"alphasite", which we did not want to send yet to the "beta" repo and on
to production. At the same time, there were dozens of other changes that
we did want to send onto beta without pulling down the other work yet.

We found that we never needed to branch and had very few problems.
Eventually when I did pull the 150 patches from alpha to beta to sync
them, it took just a few seconds and had no conflicts.

In our case we were helped by our situation in which most of the work
was in new files that did not overlap with old ones. 

The "unpull" feature has also been very helpful in our controlled
environment. Sometimes we find a problem with a patch in beta or
production.  It's easy to unpull it and try different approach, even if
the patch we are unpulling is not the most recently applied.

This doesn't mean that every developer has to unpull the patch too,
since we can create a second patch to send to beta such that the
combination is satisfactory.

###

I had a similar positive experience with another project, when I wanted
to establish a "stable" branch of from an old tag on the development
branch. It was very easy to do that, and then cherry pick many features
from the development branch.

    
    Mark





More information about the darcs-users mailing list