[MERGE] Fix performance regression (many small round-trips) when pushing to a remote pack on a pre-1.13 server, and tidy some tests.

Andrew Bennetts andrew.bennetts at canonical.com
Thu Mar 12 08:55:40 GMT 2009

This branch fixes a performance regression when pushing pack-to-pack to a
pre-1.13 smart server.  We were using the generic fetch code, which would be
ok except for the bug that we don't buffer VFS appends over HPSS, so you get
many tiny (<1k) writes.  The fix is to let the InterPackRepo code path work,
which avoids that bug.

To do that I check is_remote_before((1, 13)) on the smart medium in
InterPackToRemotePack, and if so use plain InterPackRepo rather than the
generic fetcher. 

I also fix a bug that RemoteRepository._fallback_repositories was non-empty
if there is a default stacking policy at the target, even if the underlying
format isn't stackable.

This leads to a few other cleanups relating to constructing
RemoteRepositoryFormats, which in turn leads to better test coverage in
per_repository_reference :)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix-stackable-remote-repo-4119.patch
Type: text/x-diff
Size: 15475 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20090312/69ee4b2d/attachment-0001.bin 

More information about the bazaar mailing list