X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topbloke-formulae.git;a=blobdiff_plain;f=article.tex;h=0a411723ffb858cfa09eb869d6f01831628f1db7;hp=fe0996574afbc0f9a569a795aa90f80d3ef10f8a;hb=1b0eeef7759be1fc1f0f856166c4ee0eb3769ff8;hpb=594cc49dc39c743b271dd4b66dfd326554574ac6 diff --git a/article.tex b/article.tex index fe09965..0a41172 100644 --- a/article.tex +++ b/article.tex @@ -5,7 +5,7 @@ \usepackage{slashed} \usepackage{txfonts} \usepackage{amsfonts} -\usepackage{nath} +\usepackage{mdwlist} %\usepackage{accents} \renewcommand{\ge}{\geqslant} @@ -45,14 +45,21 @@ \section{Notation} -$ C \hasparents \set X $ The parents of commit $C$ are exactly the set +\begin{basedescript}{ +\desclabelwidth{5em} +\desclabelstyle{\nextlinelabel} +} +\item[ $ C \hasparents \set X $ ] +The parents of commit $C$ are exactly the set $\set X$. -$ C \ge D $ $C$ is a descendant of $D$ in the git commit +\item[ $ C \ge D $ ] +$C$ is a descendant of $D$ in the git commit graph. This is a partial order, namely the transitive closure of $ D \in \set X $ where $ C \hasparents \set X $. -$ C \has D $ Informally, the tree at commit $C$ contains the change +\item[ $ C \has D $ ] +Informally, the tree at commit $C$ contains the change made in commit $D$. Does not take account of deliberate reversions by the user or in non-Topbloke-controlled branches; these are considered normal, forward, commits. For merges and Topbloke-generated @@ -60,11 +67,20 @@ anticommits, the ``change made'' is only to be thought of as any conflict resolution. This is not a partial order because it is not transitive. +\item[ $ \p, \py, \pn $ ] +A patch $\p$ consists of two sets of commits $\pn$ and $\py$, which +are respectively the base and tip git branches. $\p$ may be used +where the context requires a set, in which case the statement +is to be taken as applying to both $\py$ and $\pn$ +All these sets are distinct. + +\end{basedescript} + \section{Invariants} -No replay: $ C \has D \implies C \ge D $ +No replay: \[ C \has D \implies C \ge D \] -Unique base: $ \mathop{\forall}\limits_{C \in \py} \pends{C}{\pn} = \{ B \} $ +Unique base: \[ \mathop{\forall}_{C \in \py} \pends{C}{\pn} = \{ B \} \] \section{Test more symbols}