From: Ian Jackson Date: Sat, 14 Jul 2012 00:57:44 +0000 (+0100) Subject: strategy: wip ends reachability X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topbloke-formulae.git;a=commitdiff_plain;h=13a217e73c1ab13c7899dd2c1be7cbc909fed331;ds=sidebyside strategy: wip ends reachability --- diff --git a/strategy.tex b/strategy.tex index 833f5bd..97c41b9 100644 --- a/strategy.tex +++ b/strategy.tex @@ -115,45 +115,23 @@ Set of all reachable commits, O. A reachable commit is one we might refer to explicitly in any of these algorithms, and any ancestor of such a commit. We explicitly -enumerate all of the input commits (U). And each commit we generate -will be descended from zero or more of these. +enumerate all of the input commits (U), so the reachable commits are +originally the input commits and their ancestors. Each commit we +generate will have reachable commits as ancestors so when we generate +a new commit we only add that new commit to O. -Naturally this set varies over time as we generate more commits. We -write O_pyn for the set of reachable commits at the point where we -have just generated T_pyn. +So O varies over time as we generate more commits. We write O_py for +the set of reachable commits at the point where we have just generated +T_py, ie jusjt after Merge-Tip(P). We preserve/ensure - Tip_Pyn >= pendsof( O_pyn, Pyn ) -(Tip_pyn is computed during traversal for the patch p) + Tip_Py >= pendsof( O_py, Py ) +(Tip_py is computed during traversal for the patch P) We ensure this property by: - - we do not generate any commits for pyn other than - during traversal for pyn - - so at the start of traversal pendsof ( O, pyn) = pendsof (U, pyn) - - the traversal steps will takes those pends - - - during traversal for the patch set pyn - pendsof - - - arranging that during traversal for the patch set pyn - -, we firstly - compute a tip_pyn which is >= pendsof(O) as follows: - there is a set of relevant ends - pendsof(U, - - we initially set T - - by virtue of it being >= pendsof(U) \cup - all lower tip_qyn - - - -We do this by: - - firstly, Tip_pyn is only valid af - - -Set of all reachable commits in a particular patch set. - This consists of - - input commits - - + - we do not generate any commits for py other than + during Merge-Tip + - so at the start of Merge-Tip pendsof (O, py) = pendsof (U, py) + - Merge-Tip itself wip wip wip +