Amount of data transferred for 'no-op' pull

John Arbash Meinel john at arbash-meinel.com
Wed Dec 9 20:51:35 GMT 2009


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

I've been setting up a script on the EC2 instance to help update all the
branches, build the executable, etc. As such, it connects to launchpad,
and then maintains the connection to update 11 or so branches.

What surprises me, is that with nothing to actually update, it takes
about 784kB of download/upload to check 11 branches. That makes it about
 71kB branch. Also, it looks like checking 'bzr.dev' takes *more*
content transferred than the other branches. Which I don't really
understand. (I suppose branch.conf could have more data in it? To check
for stacking, etc.?)

I dug further, and it seems that doing 'branch.pull(other_branch)'
actually does end up calling fetch, and checking the remote revision
graph even though the branch.last_revision() on both sides are
identical. Adding a check for:

if branch.last_revision() != remote_branch.last_revision():
  branch.pull(remote_branch, overwrite=True)

dropped the transfer down to 51kB, which is more expected.

I thought Branch.pull(other) already had the last_revision shortcut. Did
something happen to it?

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

iEYEARECAAYFAksgDdcACgkQJdeBCYSNAAO4IQCeKM2K/epsEBOug21TaU4stvIF
53UAn3wHSUdQTFPDGj+ml/dDZOs/+ga4
=r9L2
-----END PGP SIGNATURE-----



More information about the bazaar mailing list