changeset 39:7f9dfcd40d55

Described histedit.
author Martin Geisler <mg@lazybytes.net>
date Thu, 20 Aug 2009 11:47:11 +0200 (2009-08-20)
parents 702b05343bf6
children d334c34ab2c1
files mercurial.tex
diffstat 1 files changed, 54 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial.tex
+++ b/mercurial.tex
@@ -576,7 +576,60 @@
 \end{frame}
 
 \begin{frame}{Editing History}
-  The \hgext{histedit} extension
+  \tikzstyle{rev}+=[on chain, minimum size=7mm]
+  \tikzstyle{squiggle}=[on chain, font=\large, red]
+  \tikzset{node distance=5mm}
+
+  The \hgext{histedit} extension lets you
+  \begin{itemize}[<+->]
+  \item reorder changesets:
+
+    \begin{tikzpicture}[start chain]
+      \node[rev] {$A$};
+      \node[rev,join] {$B$};
+      \node[rev,join] {$C$};
+      \node[squiggle] {$\rightsquigarrow$};
+      \node[rev] {$A$};
+      \node[rev,join] {$C'$};
+      \node[rev,join] {$B'$};
+    \end{tikzpicture}
+
+  \item fold changesets
+
+    \begin{tikzpicture}[start chain]
+      \node[rev] {$A$};
+      \node[rev,join] {$B$};
+      \node[rev,join] {$C$};
+      \node[squiggle] {$\rightsquigarrow$};
+      \node[rev] {$A$};
+      \node[rev,join] {$BC$};
+    \end{tikzpicture}
+
+  \item drop changesets
+
+    \begin{tikzpicture}[start chain]
+      \node[rev] {$A$};
+      \node[rev,join] {$B$};
+      \node[rev,join] {$C$};
+      \node[squiggle] {$\rightsquigarrow$};
+      \node[rev] {$A$};
+      \node[rev,join] {$C'$};
+    \end{tikzpicture}
+
+  \item edit changesets
+
+    \begin{tikzpicture}[start chain]
+      \node[rev] {$A$};
+      \node[rev,join] {$B$};
+      \node[rev,join] {$C$};
+      \node[squiggle] {$\rightsquigarrow$};
+      \node[rev] {$A$};
+      \node[rev,join] {$X$};
+      \node[rev,join] {$B'$};
+      \node[rev,join] {$C'$};
+    \end{tikzpicture}
+  \end{itemize}
+  Inspired by \hgcmd{git rebase -i}.
 \end{frame}
 
 \subsection{Migrating History}