Branch.pull() doesn't shortcut when last_revision is identical

Bug #497527 reported by John A Meinel
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Bazaar
Confirmed
Medium
Unassigned

Bug Description

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

I'm not sure when this changed, but Branch.pull(other_branch) no longer
checks if other_branch.last_revision() == self.last_revision() =>
nothing to do.

Which means that even without changes, the fetch code is invoked, and
the graph search code is triggered. (Causing us to read the remote
revision indexes looking for the parents of the current last_revision, etc.)

I don't think it would be hard to fix this, but I guess there is some
concern about increasing the number of round trips. (It *shouldn't* as
we need to know the last_revision of the remote branch to start the pull
anyway, and we likely have the local last_revision cheaply as well.)

In my testing, this is a rather significant round-trip improvement for
no-op pulls.

 affects bzr
 status confirmed
 importance medium
 tags easy performance
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkspOQYACgkQJdeBCYSNAAMDAwCfZUPXRf/K/EklBWV5D5DZd+hQ
Wi4AoJ94gMOf4YkhYa6Svq8wP6Yh0HMb
=mFGY
-----END PGP SIGNATURE-----

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

I suspect this has been fixed.

tags: added: easy performance
Jelmer Vernooij (jelmer)
tags: added: check-for-breezy
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.