Partial & shallow branches

Alex J. Champandard bazaalist-100806 at ai-depot.com
Fri Aug 11 07:47:56 BST 2006


Hi,

In the IRC channel, I've been discussing ways to use Bazaar NG for
distribution, and was referred to this list.


Here's my problem; say a user downloads a minimal tarball (containing a
small part of a "full release" repository).  The tarball should contain
enough information for bzr to be able to update its working tree to the
latest version in the release repository.  It should also be possible
for the users to be able to download additional parts of the full
repository on demand.

As far as I can tell, bzr can almost do this now, but there seems to be 
two issues.

1) A lightweight checkout seems to be the best candidate for storing in
the tarball.  Once they are supported, it should be possible to convert
this to a shallow branch without using any extra bandwidth.  Users
should then be able to make changes to their local branch, and not
directly update the release repository.  (I was asked on IRC to add a
use-case to http://bazaar-vcs.org/HistoryHorizon under "low contribution
barrier", but I'm not sure if it's appropriate there.)  Am I correct in
assuming that there's currently no way to convert a lightweight checkout
into a local branch without downloading the history from the original
repository?

2) Is there a way to create a repository/working tree/checkout that
contains only certain files from the original repository? I've not found
a command that can do this, though I'm willing to implement my own.
However, I'm not sure if there would be any issues with the storage
format of the repository itself, or any quirks with other commands that
wouldn't support such partial working trees...


Any help or advice would be greatly appreciated!

Thanks,
Alex






More information about the bazaar mailing list