Branch.lock_read() rather expensive

Aaron Bentley aaron.bentley at utoronto.ca
Sun Oct 16 01:42:13 BST 2005


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

John Arbash Meinel wrote:
> Aaron Bentley wrote:
>>revision_graph can be reimplemented in terms of the inventory weave, the
>>way is_ancestor is.  I don't understand the weave API well enough to do
>>this.
> 
> 
> Well, having worked with the weaves, I know the private structures that
> would give you want you want. (_parent contains the integer parent ids,
> and lookup() can give you the number from a name _names has the name for
> a given integer).
> 
> I was considering doing that as well, I just didn't know if it was
> appropriate to dive into the weave privates.

Martin certainly seemed to think that it was okay, and used it in fetch.py.

There is a security issue, though, because that data may come from
signed and unsigned sources.

> Also, you have MultipleRevisionSource, but really I think you want
> MultipleAncestorSource, or somesuch.

I don't understand what you mean.  It unifies multiple revision sources
into a single one.  They're not specifically ancestors.

>>node_distances could be memoized (well if we assume there are no ghost
>>revisions.  We can invalidate the cache when a ghost has been fixed.)
> 
> 
> I don't know if people are doing changeset as a common operation. But if
> merge uses it as well, then it might be worth memoizing.

Yes, merge uses it, too.

Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDUaHl0F+nu1YWqI0RAtqTAJ0VLmgqbwJOx3b0jXJhTMUmruD1XACgiAQ9
we/lpW+iy7OaB8AulOW1abI=
=wbPi
-----END PGP SIGNATURE-----




More information about the bazaar mailing list