view push-pull.tex @ 364:df4a5c5570e7 default tip

some personal tweaks
author Jordi Gutiérrez Hermoso <jordigh@octave.org>
date Wed, 19 Dec 2012 15:35:01 -0500
parents f8f2167cc21b
children
line wrap: on
line source

\begin{frame}{Pushing and Pulling}
  \tikzstyle{rev}+=[on chain, join]
  \tikzset{node distance=4mm}

  Having made local commits, we need to publish them:
  \begin{itemize}
  \item<1-> pushing: moves changesets to another repository

    \begin{tikzpicture}
      \begin{scope}[start chain=a]
        \node[rev] {};
        \node[rev] {};
        \node[rev] {};
        \node[rev] {};
      \end{scope}

      \node[invisible] at (a-begin.north) {};
      \node[invisible] at (a-begin.south) {};

      \begin{pgfonlayer}{background}
        \node<2>[highlight, fit=(a-3) (a-4)] {};
      \end{pgfonlayer}

      \begin{scope}[start chain=b]
        \node[rev, right=5cm of a-begin] {};
        \node[rev] {};
        \node<3->[rev] {};
        \node<3->[rev] {};
      \end{scope}

      \draw<3->[short,->] (a-end) -- node[below] {\cmd{hg push}} (b-begin);

      \begin{pgfonlayer}{background}
        \node<3>[highlight, fit=(b-3) (b-4)] {};
      \end{pgfonlayer}
    \end{tikzpicture}

  \item<4-> pulling: moves changesets into your repository

    \begin{tikzpicture}
      \begin{scope}[start chain=a]
        \node[rev] {};
        \node[rev] {};
        \node<6->[rev] {};
        \node<6->[rev] {};
      \end{scope}

      \node[invisible] at (a-end.north) {};
      \node[invisible] at (a-end.south) {};

      \begin{pgfonlayer}{background}
        \node<6>[highlight, fit=(a-3) (a-4)] {};
      \end{pgfonlayer}

      \begin{scope}[start chain=b]
        \node[rev, right=5cm of a-begin] {};
        \node[rev] {};
        \node[rev] {};
        \node[rev] {};
      \end{scope}

      \begin{pgfonlayer}{background}
        \node<5>[highlight, fit=(b-3) (b-4)] {};
      \end{pgfonlayer}

      \draw<6->[short,->] (b-begin) -- node[below] {\cmd{hg pull}} (a-end);

    \end{tikzpicture}

  \item<7-> \cmd{hg push} and \cmd{hg pull} are symmetric

  \item<7-> \cmd{hg clone} $=$ \cmd{hg init} $+$ \cmd{hg pull}\\
    (but more space-efficient on local disks)
  \end{itemize}
\end{frame}