large files and storage formats
Chad Dombrova
chadrik at gmail.com
Fri Jul 9 06:42:33 BST 2010
On Jul 8, 2010, at 10:14 PM, Robert Collins wrote:
> Hi.
>
> You certainly can implement a loose blob store for bzr. We had one in
> the past but they scale very poorly which is why we have the pack
> based formats today.
what aspects did you find did not scale well? status? update/checkout? i know that git uses a combination of loose objects plus packs. i might have to do something similar.
> Yes, you can add a new format - a git like one, or other weirder
> things - without altering the high level APIs. We currently have:
> - 2a
> - svn
> - git
> - hg
> - team foundation server
>
> implementations of the "repository' and 'branch' interfaces which the
> high level code can use. So you can cd to a svn directory and run 'bzr
> commit' or 'bzr status' and it will do the right thing.
>
> There are two challenges you'll have:
> - some of the higher level API's won't do what you want in terms of
> memory use; these will need adjusting (many should - we have been
> working on bigger and bigger file support incrementally for a while
> now).
> - the repository api (the one you need to implement) is fairly thick.
>
> I wouldn't want to judge man hours for you. I know I can whip up a
> crude blob store in a few hours; a polished one in a few days. But - I
> know the architecture and code backwards.
sounds promising.
before i go down this path, i'd like to better understand the current 2a format. is there a document somewhere that explains the inner workings of this? i've been digging through the docs and have not found anything useful in that regard. i made some commits and watched the .bzr directory and that gave me a very basic understanding: i gleaned that there is a pack file and a set of 4 index files for each commit, but (among other things) i'm curious if the packs contain deltas or full files.
to learn how to implement a new format should i start by looking through bzrlib.repofmt?
-chad
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.ubuntu.com/archives/bazaar/attachments/20100708/c78a95d1/attachment-0001.htm
More information about the bazaar
mailing list