What to do about 'revid in ancestry' checks.

Aaron Bentley aaron.bentley at utoronto.ca
Thu Jul 19 05:05:22 BST 2007


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

Robert Collins wrote:
> On Wed, 2007-07-18 at 23:39 -0400, Aaron Bentley wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Robert Collins wrote:
>>> There are multiple places in bzr which do set inclusion tests like
>>> 'if rev_id in ancestry'
>>> where ancestry is obtained by Repository.get_ancestry.
>>>
>>> To avoid scaling problems this needs to be delegated to the repository
>>> index, *or* get_ancestry has to return a smart/lazy set object.
>> I think set inclusion tests are pretty clearly the domain of the Graph
>> object, actually.  Doesn't that make sense to you?
> 
> I'm happy to add change bzrlib.get_revision_graph to return a lazy graph
> object and then advise people to use that.

Huh?  I've suggested using the Graph object.  Why would you use
get_revision_graph (which returns a dict) instead of get_graph (which
returns a Graph)?

Graph is a lazy object already, and it's stackable already.  As I
mentioned earlier this evening, we should focus on removing the need for
get_revision_graph.

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

iD8DBQFGnuMC0F+nu1YWqI0RAjgZAJ4r70sqAdFO64mu4roBUwXVthnFUACeLcMj
MsMZGCeUl5idhPxhKwLPZP0=
=n5V8
-----END PGP SIGNATURE-----



More information about the bazaar mailing list