[MERGE] Graph.heads()

John Arbash Meinel john at arbash-meinel.com
Tue Aug 28 00:35:49 BST 2007


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

Robert Collins wrote:

...

> Anyone care to check I haven't skipped a step ?
> 
> -Rob

I did go through this several times until I actually understood what you were
saying. English suffers a bit from not having parentheses when you need them.

A summary to make sure I understand.

 1. There are no extra nodes in F that aren't in R.
 2. F is a subset
 3. heads(set) gives you another set by which you can still access all the same
nodes (ancestry is the same after heads).
    Nodes in R that are not in F are not there because they do not modify the
    ancestry of nodes in F.
 4. R is a superset of F. Anything reachable in F is reachable in R.
 5. If a node in R would effect the ancestry graph of F, we create a node.
 6. Because heads() still allows access to the complete set, and (5), then any
given node in F has access to all ancestors that could be in R.

Which seems sufficient to me.

John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFG01/VJdeBCYSNAAMRAsM+AKCtW6mh55i1edO50hxBe8Ojngto4gCeJMs/
8UNQq1mergg1aY0WcmXeoHs=
=S6Ar
-----END PGP SIGNATURE-----



More information about the bazaar mailing list