[MERGE] Teach GenericRepoFetcher to handle revisions/sigs properly

John Arbash Meinel john at arbash-meinel.com
Sat Jul 26 03:29:17 BST 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

The GenericRepoFetcher already is using data streams to logically handle
inventories and file texts. However, it was currently requesting
signatures and revisions 1-at-a-time.

The only reason I can think of for it to do so is because it doesn't
want to insert a signature that doesn't have an associated revision,
though why not just insert the revisions first then...

Anyway, this makes a rather large difference on the time to "bzr branch
bzrtools gc-repo/bzrtools". Like 20s => 8s.

I imagine it might also help a lot with some of our Knit format
regressions, as we can stream the data out of the knit repository.
(Though we are already warning there.)

There is the possibility that ^C while fetching revisions will cause you
to not fetch the associated signature.

However, we've also run into problems that ^C after fetching the
signature will cause a future fetch to fail. Because it doesn't think it
has the signature, goes to insert it...

Anyway, this is enough of a performance win for inter-repository
fetching, that I think it is worthwhile.

John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkiKi/0ACgkQJdeBCYSNAAO+sQCfel6GRY8iOiyiv9XalPzYYVjl
A5MAn2vlh2KingmWr8Hq1aIJ996bCHfY
=r+J/
-----END PGP SIGNATURE-----
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: generic_stream_revisions.patch
Url: https://lists.ubuntu.com/archives/bazaar/attachments/20080725/d1e42910/attachment-0001.diff 


More information about the bazaar mailing list