bzr to have shallow partial clones (stacked branches) soon

Giorgos Keramidas keramida at ceid.upatras.gr
Fri May 30 23:54:35 CDT 2008


On Fri, 30 May 2008 18:15:25 +0200,
Peter Arrenbrecht <peter.arrenbrecht at gmail.com> wrote:
> http://jam-bazaar.blogspot.com/2008/05/this-week-in-bazaar_29.html
>
> Maybe we can borrow some of the terminology once Hg gets there too.
>
> How's interest in such a feature here on the list?

It sounds like a nice feature.  The full history of the FreeBSD source
includes a couple of hundred thousands revisions.  Cloning the entire
src/ repository with 1-2 Gb of history just to hack on the src/bin/ls
directory is bound to be a lot of pain.

With something similar to the 'stacked branches', it would be wonderful
to be able to keep a *single* clone of the FreeBSD tree, i.e. at a
central place of a laptop disk like `/repos/bsd/src' and then create
`very cheap' clones for personal work at:

    WORKSPACE            DISK-SIZE DESCRIPTION
    ~/ws/ls-stat-fixes       80 KB (tiny userland tool)
    ~/ws/kernel-locking     128 MB (instead of ~= 1 GB)

If each `cheap' clone was a `lightweight branch' which only maintained a
reference to the parent tree, and required 2-3 KB of disk space, this
would make things a *lot* nicer.

It's almost 50% of the solution to the reasons why dVCS adoption is
difficult to `sell' for projects with such a big history:

    * Very large .hg/ history for all clones (which makes multiple
      clones a bit expensive in disk space where hardlinks are not
      always an option).

    * Lack of `partial checkouts' (which makes it a bit hard to work
      with only `src/sys/dev/sound/pci', if 500 MB of source have to be
      checked out to get a full `tip' checkout).

I'd be definitely interested in something that supported either of these
two or both :)



More information about the Mercurial mailing list