[CHK/MERGE] Use chk map to determine file texts to fetch
Robert Collins
robertc at robertcollins.net
Tue Nov 11 10:17:41 GMT 2008
On Tue, 2008-11-11 at 19:14 +1000, Andrew Bennetts wrote:
> Andrew Bennetts wrote:
> > Hi Robert,
> >
> > This patch improves chk->chk fetch to compare hash values rather than
> > inventory entries when determining the text versions to transfer. Fetching is
> > still very slow for other reasons, but this seems like a step in the right
> > direction.
>
> This update adds CHKMap.copy_to(store) and uses it to make fetch run in a
> reasonable amount of time.
I'd like to make sure I understand what this is doing a bit better...
If I understand it correctly, its so that a fetch of a CHKInventory from
repo A to repo B doesn't end up generating a whole new CHKInventory from
scratch.
Wouldn't it be better though, to copy all the root nodes, then all the
unique key references from all the inventories? That would give a
breadth first traversal. Or better still use the same logic as you have
put in pack_repo for determining which inventory entries to examine, to
determine which parts of the inventory trees need copying.
I think the primary thing I'm concerned about here is that this doesn't
stream - it needs to chat, so the source side and the target side need a
full duplex connection, which means it won't fit well into a streaming
push from/to the smart server.
-Rob
--
GPG key available at: <http://www.robertcollins.net/keys.txt>.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20081111/9aea0f5e/attachment.pgp
More information about the bazaar
mailing list