find_difference shortcut failure without walking out

Aaron Bentley aaron.bentley at utoronto.ca
Thu Dec 13 21:21:09 GMT 2007


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

John Arbash Meinel wrote:
> Hmm... maybe we can do the current search, and then once it considers itself
> "done" it can do another search starting with the uncommon nodes.
> 
> The other problem is that all of the common tips have to be ancestors of *all*
> uncommon nodes. Not just *any* uncommon node.

Right.  Which means if you're unlucky enough to have an uncommon ghost,
you have to search the entire graph.  But as far as I can tell, that's
*right*; the ghost could be a descendant of the root node.

> 1) Perform the current search, which gives a superset of uncommon nodes, and a
> good starting set for the common nodes.
> 
> 2) For uncommon nodes, find the most restrictive nodes, ie the ancestors of
> uncommon nodes.

I was going to suggest that, but you beat me to it.

> The problem is really about having the "global ancestors" of all uncommon
> nodes, since it almost seems defined as another "_find_border_ancestors"
> search, but I don't really want to have 1000 BreadthFirstSearchers when there
> are 1000 uncommon nodes.  Anyway, it at least gives me some stuff to start with.

Well, hopefully, by using the most restrictive nodes, you get away from
that.

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

iD8DBQFHYaJE0F+nu1YWqI0RAnriAKCA5YU6obgqkuGpKt40QhsXYfib3wCfbxHn
7FbtJJcBaXgFRe82NOkQOmU=
=bY9P
-----END PGP SIGNATURE-----



More information about the bazaar mailing list