X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=pseudomerge.tex;h=7ee7ffbbdc25e2c1140983173f4f0b8ddb5aca52;hb=7ea82c90c1a5860cbe3abd1a18f55ca1720d1722;hp=24c05ae68efa63266b20eb3d37dc6b4fce786a1c;hpb=c3b1d7b775527e0ceb1c9a2443cc7e7cc5fed2ef;p=topbloke-formulae.git diff --git a/pseudomerge.tex b/pseudomerge.tex index 24c05ae..7ee7ffb 100644 --- a/pseudomerge.tex +++ b/pseudomerge.tex @@ -45,6 +45,11 @@ $\isforeign{D} \implies \big[ D \le C \equiv D \le L \big]$. Trivial by Foreign Unaffected and the definition of $\pends$ } +It might seem that foreign commits might also be psuedo-merges --- +e.g., merges made directly with {\tt git merge -s ours}. However, by +our definition of $\has$, these are considered simply as normal merges +(\autoref{commit-merge}). + \subsection{No Replay} Ingredients Prevent Replay applies: @@ -52,11 +57,11 @@ $A = L$ always satisfies the $\exists$. $\qed$ \subsection{Unique Base} -Not applicable, by Base Only. +Not applicable, by Base Only. $\qed$ \subsection{Tip Contents} -Not applicable, by Base Only. +Not applicable, by Base Only. $\qed$ \subsection{Base Acyclic} @@ -83,9 +88,17 @@ Explicitly dealt with by our Unique Tips condition. \subsection{Foreign Inclusion} -True by Foreign Identical, and Foreign Inclusion of $L$. +We need to consider $D \in \foreign$. + +For $D = C$: $D \has C$, $D \le C$; OK. + +For $D \neq C$: $D \has C \equiv D \has L$ by construction. +$D \has L \equiv D \le L$ by Foreign Inclusion of $L$. +$D \neq C$ so this $D \le L \equiv D \le C$. -\subsection{Foreign Contents} +$\qed$ + +\subsection{Foreign Ancestry} Not applicable. @@ -94,28 +107,15 @@ Not applicable. We need to consider this for $D=L$ and also for $D=R$ ($R \in \set R$). -For $D=L$, if $L \in \pn$ then $C \in \pn$, OK; whereas if -$L \not \in \pn$ Bases' Children is inapplicable. - -For $D=R$, -xxx up to here? - -If $L \in \py, R \in \py$: not applicable for either $D=L$ or $D=R$. - -If $L \in \py, R \in \pn$: not applicable for $L$, OK for $R$. - -Other possibilities for $L \in \py$ are excluded by Tip Merge. - -If $L \in \pn, R \in \pn$: satisfied for both $L$ and $R$. - -If $L \in \pn, R \in \foreign$: satisfied for $L$, not applicable for -$R$. - -If $L \in \pn, R \in \pqy$: satisfied for $L$, not applicable for -$R$. +For $D=L$: $L \in \pn$ so $\pd = \p$. And $C \in \pn = \pdn$. Bases' +Children applies and is satisfied. -Other possibilities for $L \in \pn$ are excluded by Base Merge. +For $D = R \in \set R, R \in \pn$: $D \in \pn, \pd = \p, C \in \pn$ as +for $D = L$. -If $L \in \foreign$: not applicable for $L$; nor for $R$, by Foreign Merges. +For $D = R \in \set R, R \in \foreign$, or $R \in \pqy$: $D \not\in +\pdn$ so Bases' Children does not apply. +Other possibilities for $D \in \set R$ are excluded by Ingredients. +$\qed$