[ANN] bzr.webdav: a writable hhtp transport
John Arbash Meinel
john at arbash-meinel.com
Tue Aug 22 17:28:23 BST 2006
Aaron Bentley wrote:
> John Arbash Meinel wrote:
>>> Probably we could do some alternative optimizations for transports that
>>> don't support append. For example, we would have already downloaded all
>>> of the knit index, so we know how to update it, rather than downloading
>>> the whole thing again.
>>> But the expensive one is the knit data file, and that we haven't
>>> downloaded yet.
> If we have a local copy of all the data in the remote file knit, and we
> have a write lock, we can regenerate the knit from the index, without
> retrieving it, and then upload it.
That may still require a readv() because we may be missing things. Also,
things may be sorted in a different order on the remote side. So it may
involve quite a bit of reworking.
It also violates our layering, because Transport isn't supposed to know
anything about the contents of the files it is moving around.
The best I can think of is having a 'supports_append()' flag as part of
Transport, and then update any other code that uses append to special
case based on what we are trying to do. It may be necessary, especially
if we want to support DAV and FTP servers that don't implement append.
But it isn't trivial. Doing it nicely requires a lot of high-level
information that Transport should not have.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 254 bytes
Desc: OpenPGP digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060822/c49f8f09/attachment.pgp
More information about the bazaar