Transport w/ delta / offset

John A Meinel john at arbash-meinel.com
Wed Jul 20 05:46:38 BST 2005


I was thinking about what would be possible for a smart server
implementation, and whether it could be done with the current Storage
and Transport layers. Or possibly the Revfile format.
Specifically, Revfile would want to get portions of a file, rather than
reading in the whole thing. So probably the Transport layer needs to
have functions for 'getting' only a portion of a file. The local
filesystem and http both would support just getting a portion of a file.
You could get() the index files, and then get_partial() the pieces of
the revfile.

For a smart server, you would frequently only want to request a delta,
and it seems foolish to transmit the full text, just to compute a delta.
And if you are using a revfile format, you wouldn't want to unpack 2
full versions, just to combine them back into a delta.

The problem is that the Storage layer is where you know what to Diff
against, but the Transport layer is really where you should be doing the
delta.

Anyway, I think it makes sense to expand both Storage & Transport to
include some sort of "get_delta". Especially since some storage
mechanisms will optimize for retrieval of deltas.

Does this sound reasonable, or is it putting too much intelligence in
something that is supposed to be low level?

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/20050719/188994d6/attachment.pgp 


More information about the bazaar mailing list