view bisect.tex @ 281:b1b4f8030276

Rephrased
author Martin Geisler <mg@lazybytes.net>
date Sun, 03 Apr 2011 23:02:38 +0200
parents 629451ed9889
children
line wrap: on
line source


\begin{frame}{Revision Graph Bisection}
  You've found a bug! When was it first introduced?

  Use \cmd{hg bisect} to mark good and bad revisions:
  \begin{center}
    \begin{tikzpicture}[start chain, node distance=8mm and 8mm, on grid]
      \tikzstyle{every pin edge}=[draw, <-, shorten <=3pt]
      \tikzstyle{every pin}=[text height=1ex, text depth=0pt]
      \tikzstyle{rev}+=[minimum size=4mm, on chain]

      \tikzstyle{good}=[rev,draw=green!50!black!50,
        bottom color=green!50!black!20]
      \tikzstyle{bad}=[rev,draw=red!50!black!50,
        bottom color=red!50!black!20]

      \tikzstyle{good1}=[rev]
      \only<2>{\tikzstyle{good1}+=[pin=above:test]}
      \only<3->{\tikzstyle{good1}+=[good, pin=above:good]}

      \tikzstyle{good2}=[rev]
      \only<4>{\tikzstyle{good2}+=[pin=above:test]}
      \only<5->{\tikzstyle{good2}+=[good, pin=above:good]}

      \tikzstyle{good3}=[rev]
      \only<5->{\tikzstyle{good3}+=[good]}

      \tikzstyle{good5}=[rev]
      \only<7->{\tikzstyle{good5}+=[good]}

      \tikzstyle{bad1}=[rev]
      \only<6>{\tikzstyle{bad1}+=[pin=below:test]}
      \only<7->{\tikzstyle{bad1}+=[bad, pin=below:bad]}

      \tikzstyle{bad2}=[rev]
      \only<7->{\tikzstyle{bad2}+=[bad]}

      \tikzstyle{bad3}=[rev]
      \only<8>{\tikzstyle{bad3}+=[pin=below:test]}
      \only<9->{\tikzstyle{bad3}+=[bad, pin=below:bug!]}

      \tikzstyle{bad4}=[rev]
      \only<9->{\tikzstyle{bad4}+=[bad]}

      \node[on chain] {};
      \node[good1,join] {};
      \node[good3,join] {};
      \node[good3,join] {};
      \begin{scope}[start branch=b]
        \node[bad3,on chain=going below right, join=by {out=270, in=180}] {};
        \node[bad4,join] {};
        \node[bad1,join] {};
      \end{scope}
      \node[good3,join] {};
      \node[good3,join] {};
      \node[good2,join] {};
      \node[good5,join] {};
      \node[good5,join] {};
      \node[bad2,join,join=with chain/b-end by {out=0, in=225}] {};
      \node[bad2,join] {};
      \node[bad2,join] {};
      \node[bad,join, pin=above:bad] {};
    \end{tikzpicture}
  \end{center}
\end{frame}