Mercurial > hg > mercurial-talk
changeset 41:cf8d03f1b3f0
Described rebase.
author | Martin Geisler <mg@lazybytes.net> |
---|---|
date | Thu, 20 Aug 2009 15:23:11 +0200 |
parents | d334c34ab2c1 |
children | 9bc18f9d1f8e |
files | mercurial.tex |
diffstat | 1 files changed, 57 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial.tex +++ b/mercurial.tex @@ -568,7 +568,63 @@ \subsection{Changing History} \begin{frame}{Moving Changesets Around} - The \hgext{rebase} extension + \tikzstyle{rev}+=[on chain, join, minimum size=5mm] + \tikzset{node distance=4mm and 6mm} + + Tired of all those merges? Use the \hgext{rebase} extension! + \begin{itemize} + \item Revision graph: + + \begin{tikzpicture}[start chain] + \node[rev] {$A$}; + \node[rev] {$B$}; + \node[rev] {$C$}; + \begin{scope}[start branch=pulled] + \node<3->[rev,on chain=going below right] {$X$}; + \node<3->[rev] {$Y$}; + \node<3->[rev] {$Z$}; + \end{scope} + \node<2->[rev] {$D$}; + \node<2->[rev] {$E$}; + \end{tikzpicture} + + \item<4-> Merge: + + \begin{tikzpicture}[start chain] + \node[rev] {$A$}; + \node[rev] {$B$}; + \node[rev] {$C$}; + \begin{scope}[start branch=pulled] + \node[rev,on chain=going below right] {$X$}; + \node[rev] {$Y$}; + \node[rev] {$Z$}; + \end{scope} + \node[rev] {$D$}; + \node[rev] {$E$}; + \begin{scope}[continue branch=pulled] + \node[rev,on chain=going above right,join=with chain-end] {$M$}; + \end{scope} + \end{tikzpicture} + + \item<5-> Rebase: + + \begin{tikzpicture}[start chain] + \node[rev] {$A$}; + \node[rev] {$B$}; + \node[rev] {$C$}; + \begin{scope}[start branch=pulled] + \node[rev,on chain=going below right] {$X$}; + \node[rev] {$Y$}; + \node[rev] {$Z$}; + \node[rev] {$D'$}; + \node[rev] {$E'$}; + \end{scope} + \node[rev,join=by {black!30!white},opacity=0.3] {$D$}; + \node[rev,join=by {black!30!white},opacity=0.3] {$E$}; + \end{tikzpicture} + + \item<6-> Beware: public changes should never be rebased. + \end{itemize} \end{frame} \begin{frame}{Maintaining Patch Series}