FEATURE REQ: Heavy branching vs. light branching

John A Meinel john at arbash-meinel.com
Mon Sep 12 13:20:18 BST 2005


Jari Aalto wrote:
> 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.

There are quite a few proposals for making branching lighter. Look in
the mailing list archives for comments about shared storage.
I think Aaron even just posted a revised version, named "Centralized
Storage, round 2" from 9/11.

>
> 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.
>

Someone else was playing around with doing something like this, since
the revision-history really only needs the last entries. But I don't
know that everything was fully tested.
There is also discussion about "bzr branch" defaulting to using
hardlinks for the .bzr files, which makes branches much lighter on
platforms which support it (pretty much everything but win & mac, mac
supports it, but their implementation is really bad).

John
=:->

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 253 bytes
Desc: OpenPGP digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20050912/6f986ed4/attachment.pgp 


More information about the bazaar mailing list