X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topbloke-formulae.git;a=blobdiff_plain;f=strategy.tex;h=833f5bdfe06fe6c2846815c66dcde91002d674be;hp=bfd392224d6e5c854573b4988f4314fd66d40530;hb=29dc9ebb649e71ccdee72c704377fbe623705404;hpb=9487356344b09d6e8276c9a93a7a58913afcf259 diff --git a/strategy.tex b/strategy.tex index bfd3922..833f5bd 100644 --- a/strategy.tex +++ b/strategy.tex @@ -109,3 +109,51 @@ as generated by the Traversal phase of the update algorithm. \end{basedescript} +\stdsection{ WIP tip satisfaction, reachable commits } + +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. + +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. + +We preserve/ensure + Tip_Pyn >= pendsof( O_pyn, Pyn ) +(Tip_pyn 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 + - +