From: Ian Jackson Date: Sun, 27 May 2012 18:50:02 +0000 (+0100) Subject: strategy: traversal wip X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topbloke-formulae.git;a=commitdiff_plain;h=63cc1534200cc7fcafa007f8c6704fc8ac9c9fec strategy: traversal wip --- diff --git a/strategy.tex b/strategy.tex index 3bdf9b8..35049b5 100644 --- a/strategy.tex +++ b/strategy.tex @@ -231,7 +231,40 @@ lowest first: \begin{enumerate} -\item Optionally, attempt $\alg{Merge-Base}(\pc)$. +\item Optionally, attempt + $\alg{Merge-Base}(\pc)$. This may or may not succeed. + +\item If this didn't succeed, or was not attempted, execute + $\alg{Recreate-Base}(\pc)$. + +\item Then in any case, execute + $\alg{Merge-Tip}(\pc)$. + +\end{enumerate} + +After processing each $\pc$ + +\subsection{$\alg{Merge-Base}(\pc)$} + +This algorithm attempts to construct a suitably updated version of the +base branch $\pcn$. + +It should be executed noninteractively. Specifically, if any step +fails with a merge conflict, the whole thing should be abandoned. +This avoids asking the user to resolve confusing conflicts. It also +avoids asking the user to pointlessly resolve conflicts in situations +where we will later discover that $\alg{Merge-Base}$ wasn't feasible +after all. + +\subsubsection{Bases and sources} + +In some order, perhaps interleaving the two kinds of merge: + +\begin{enumerate} + +\item For each $\pd \isdirdep$ + +\item \end{enumerate}