[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