X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=article.tex;h=4af8e0531ea2a659c79755b407b8e6ae7f772a49;hb=3d2ac5d704e35823486cdc034b437177af9201b6;hp=0615616f7d429a2817d9075b51c78298ce9bc411;hpb=d357159ce17651ed7deba459e32400636973b827;p=topbloke-formulae.git diff --git a/article.tex b/article.tex index 0615616..4af8e05 100644 --- a/article.tex +++ b/article.tex @@ -657,11 +657,10 @@ Simple Foreign Inclusion applies. $\qed$ Not applicable. -\section{Dependency Removal} +\section{Anticommit} Given $L$ which contains $\pr$ as represented by $R^+, R^-$. -Construct $C$ which has $\pr$ removed by applying a single -commit which is the anticommit of $\pr$. +Construct $C$ which has $\pr$ removed. Used for removing a branch dependency. \gathbegin C \hasparents \{ L \} @@ -789,67 +788,6 @@ $\qed$ Not applicable. -\section{Dependency Insertion} - -Given $L$ construct $C$ which additionally -contains $\pr$ as represented by $R^+$ and $R^-$. -This may even be used for reintroducing a previous-removed branch -dependency. -\gathbegin - C \hasparents \{ L, R^+ \} -\gathnext - \patchof{C} = \patchof{L} -\gathnext - \mergeof{C}{L}{R^-}{R^+} -\end{gather} - -\subsection{Conditions} - -\[ \eqn{ Ingredients }{ - R^- = \baseof{R^+} -}\] -\[ \eqn{ Into Base }{ - L \in \pqn -}\] -\[ \eqn{ Currently Excluded }{ - L \nothaspatch \pry -}\] -\[ \eqn{ Insertion Acyclic }{ - R^+ \nothaspatch \pq -}\] - -\subsection{No Replay} - -By $\merge$, -$D \isin C \implies D \isin L \lor D \isin R^+ \lor D = C$. -So Ingredients Prevent Replay applies. $\qed$ - -\subsection{Unique Base} - -Not applicable. - -\subsection{Tip Contents} - -Not applicable. - -\subsection{Base Acyclic} - -Consider some $D \isin C$. We will show that $D \not\in \pqy$. -By $\merge$, $D \isin L \lor D \isin R^+ \lor D = C$. - -For $D \isin L$, Base Acyclic for L suffices. For $D \isin R^+$, -Insertion Acyclic suffices. For $D = C$, trivial. $\qed$. - -\subsection{Coherence} - -We consider some $D \in \py$. - -\subsubsection{For $\p = \pq$:} - -xxx up to here - -$D \not\isin L$, $D \not\isin $ - \section{Merge} Merge commits $L$ and $R$ using merge base $M$: