[bug] Repository.copy() copies inventory first

Robert Collins robertc at robertcollins.net
Thu Feb 16 05:41:14 GMT 2006


On Wed, 2006-02-15 at 23:24 -0600, John A Meinel wrote:
> I was trying to track down why 'bzr get' takes so long to display what
> is going on. I think I found the reason, and at the same time, I found a
> bug.
> 
> Here is the code for Repository.copy():
> 
>     @needs_read_lock
>     def copy(self, destination):
>         destination.lock_write()
>         try:
>             destination.control_weaves.copy_multi(self.control_weaves,
>                 ['inventory'])
>             copy_all(self.weave_store, destination.weave_store)
>             copy_all(self.revision_store, destination.revision_store)
>         finally:
>             destination.unlock()
> 
> You can see that it copies inventory.weave first, which can take a long
> time, and also shouldn't be done before it copies the rest of the weave
> store. So I think this needs to be changed to put the inventory copy
> after the weave copy.

Definately a bug.

> And the other reason why nothing is displayed for far too long is that
> we have the delay of listing the remote repository, and then the delay
> of copying the repository weaves. (WeaveStore.copy_multi() has no
> progress bar).

I think it should.


+1.


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/20060216/5654e097/attachment.pgp 


More information about the bazaar mailing list