packs regression: 'bzr pull ../other'
John Arbash Meinel
john at arbash-meinel.com
Fri Nov 30 01:49:39 GMT 2007
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I just wanted to spawn off a workingtree-less branch so I did:
bzr init x
cd x
bzr remove-tree
bzr pull ../bzr.dev
And it spent a *lot* of time. It is because of a "get_revision_graph()" call
(which is another O(history) call), because for some reason it is calling
Branch.set_revision_history().
/Users/jameinel/dev/bzr/bzr.dev/bzrlib/branch.py(1489)pull()
- -> self.update_revisions(source, stop_revision)
/Users/jameinel/dev/bzr/bzr.dev/bzrlib/decorators.py(165)write_locked()
- -> return unbound(self, *args, **kwargs)
/Users/jameinel/dev/bzr/bzr.dev/bzrlib/branch.py(1463)update_revisions()
- -> other_branch=other)
/Users/jameinel/dev/bzr/bzr.dev/bzrlib/decorators.py(165)write_locked()
- -> return unbound(self, *args, **kwargs)
/Users/jameinel/dev/bzr/bzr.dev/bzrlib/branch.py(1439)generate_revision_history()
- -> last_rev, other_branch))
/Users/jameinel/dev/bzr/bzr.dev/bzrlib/decorators.py(165)write_locked()
- -> return unbound(self, *args, **kwargs)
/Users/jameinel/dev/bzr/bzr.dev/bzrlib/branch.py(1376)set_revision_history()
- -> self._write_revision_history(rev_history)
/Users/jameinel/dev/bzr/bzr.dev/bzrlib/branch.py(1970)_write_revision_history()
- -> if history != self._lefthand_history(history[-1]):
/Users/jameinel/dev/bzr/bzr.dev/bzrlib/branch.py(1409)_lefthand_history()
- -> stop_graph = self.repository.get_revision_graph(revision_id)
/Users/jameinel/dev/bzr/bzr.dev/bzrlib/decorators.py(127)read_locked()
- -> return unbound(self, *args, **kwargs)
/Users/jameinel/dev/bzr/bzr.dev/bzrlib/repofmt/knitrepo.py(201)get_revision_graph()
- -> return a_weave.get_graph([revision_id])
I'm not sure why Branch.pull is calling set_revision_history() rather than
calling Branch.set_last_revision_info().
This is a Branch6 branch, so it doesn't need to iterate the entire history,
unless it is verifying that the revision number is correct.
By the way Martin, thank you so very, very much for the SIGQUIT handler.
John
=:->
affects bzr
status triaged
importance medium
tags packs performance
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFHT2wyJdeBCYSNAAMRAqpvAJ9X5/HhxYQJsbDAo38OgB/x/DWMGgCfbuJH
If+vaOjr2T1t+M1RykC7Z80=
=93xf
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list