\desclabelwidth{5em}
\desclabelstyle{\nextlinelabel}
}
+\item[ $ C \hasparent D $ ]
+Commit $C$ has commit $D$ as (one of) its parents.
+
\item[ $ C \hasparents \set X $ ]
The parents of commit $C$ are exactly the set
$\set X$.
\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 $.
+$ \hasparent $.
\item[ $ C \has D $ ]
Informally, the tree at commit $C$ contains the change
if the user still cares about the Topbloke patch,
git's merge algorithm will DTRT when trying to re-apply the changes.
-\item[ $\displaystyle \stmtmergeof{L}{M}{R} $ ]
+\item[ $\displaystyle \stmtmergeof{\stmt L}{\stmt M}{\stmt R} $ ]
The proper results of a merge. Formally,
-where $L$, $M$ and $R$ are statements:
+where $\stmt L$, $\stmt M$ and $\stmt R$ are statements:
$$
- \stmtmergeof{L}{M}{R}
+ \stmtmergeof{\stmt L}{\stmt M}{\stmt R}
\equiv
\begin{cases}
- (L \land R) : & \true \\
- (\neg L \land \neg R) : & \false \\
- \text{otherwise} : & \neg M
+ (\stmt L \land \stmt R) : & \true \\
+ (\neg \stmt L \land \neg \stmt R) : & \false \\
+ \text{otherwise} : & \neg \stmt M
\end{cases}
$$
-May also be used where $L$, $M$ and $R$ are sets, in which case
+May also be used with sets:
$$
- \setmergeof{L}{M}{R}
+ \setmergeof{\set L}{\set M}{\set R}
=
\left\{
\;
D \; \middle| \;
- \setmergeof{ D \in L }{ D \in M }{ D \in R }
+ \setmergeof{ D \in \set L }{ D \in \set M }{ D \in \set R }
\;
\right\}
$$
\item[ $\displaystyle \commitmergeof{C}{L}{M}{R} $ ]
+With $C$, $L$, $M$ and $R$ being commits, a convenience notation.
$C$ has exactly the contents of a git merge result:
$\displaystyle D \isin C \equiv
\end{cases}
$
-We will refer to this as \commitmergename.
+We will refer to this as \bf\commitmergename.
\end{basedescript}