FEATURE REQ: Heavy branching vs. light branching

Jari Aalto jari.aalto at cante.net
Mon Sep 12 12:09:06 BST 2005


While I was preparing a patch for the better 'status' command documentation
string, I though the SVN way:

    ... ok, let's make a quick branch to isolate this change

    $ mkdir branch
    $ bzr-dev branch/bzr-dev.commands.py-status-help

    fetching revision   1/1193 0:25:07

Ooopps! Okay, so the branches are not light in bzr. This is
distributed, so it copies everything, including history.
Understandable.

My PC isn't very fast, so no wonder it takes 25 minutes. But If I were
to make 10 isolated changes I would pack the bzr devel sources to SVN
and make branches there. With bzr 10 x 25 minutes the math is
unbearable.

I looked at the 'bzr help branch' and noticed that there is option
--revision, so I assume I assumed I could use it for faster operation
to just have quick copy of the tip

    $ bzr branch --revision $(cd bzr-dev; bzr revno) \
          bzr-dev \
          branch/bzr-dev.commands.py-status-help

    fetching revision   1/1193 0:25:07
    
Ahem? No such luck. Still takes 25 minutes.

PROPOSAL
============

Add feature + options that creates light branches, something like

    $ bzr branch --light --tip FROM TO

The --tip would just be a special case of '--revno LATEST'.

The above would copy only the latest revno, with no histories etc. The
idea is that the original branch contains only one isolated change,
which could then be merged into other branches.







More information about the bazaar mailing list