[MERGE] Add simple Storage object

Aaron Bentley aaron at aaronbentley.com
Mon Feb 11 13:47:33 GMT 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Robert Collins wrote:
> On Mon, 2008-02-11 at 00:08 -0500, Aaron Bentley wrote:
> 
> 
>>> Graph queries for Pack repositories can be done via private methods on
>>> the unified store, likewise for Knits etc. I suggest this because graph
>>> relationships between keys is not appropriate for a bytestore
>> Why is not appropriate?  It seems to have worked out quite well for
>> VersionedFile.
> 
> Actually its caused a bunch of headaches - starting with weaves and
> slowly being detangled. We had incorrect graph answers in weave
> repositories due to this. Not all bytes we store have graphs. Some have
> many graphs. For a simple consistent interface I think we should have no
> graphs exposes on this interface.

I think that it would improve our separation of concerns to make
bytestream reconstruction independent of physical storage, i.e. by
having a separate Builder object.  That object would need to query the
build dependencies in the UnifiedByteStore, and retrieve the raw entries
from it.  So I would want a consistent API, even if technically it does
not have to be public.

>> I think it would be nice if repos only talked to the UnifiedByteStore
>> via its public interface.  Since UnifiedByteStore will only be used by
>> repositories, what's the point of a private interface?
> 
> We have different idioms within existing code; we can get very good
> results without having to fix all the code out there by not biting off
> everything at once.

I don't understand how this answer relates to the question.

Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHsFH10F+nu1YWqI0RAofSAJ9gKYOlLctlOJye1z/3pcbH5ZXcKACfeUt6
RQzGeMjjplpO0Fs+jPcIQXQ=
=OKRp
-----END PGP SIGNATURE-----



More information about the bazaar mailing list