view mercurial.tex @ 161:a08b33a648c8

Split off slide on convert extension.
author Martin Geisler <mg@aragost.com>
date Tue, 27 Apr 2010 09:22:25 +0200
parents 65033fb7aa6b
children fbe690ea485f
line wrap: on
line source

\documentclass[t,noamsthm,xcolor=dvipsnames]{beamer}
\usepackage[english]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{pxfonts}

\usepackage{listings}
\lstdefinelanguage{hgshell}{
  moredelim=[l][\bfseries]{\%},
  moredelim=[il][\bfseries\color{red}]{|red>},
}
\lstset{
  language=hgshell,
  basicstyle=\footnotesize\ttfamily,
  columns=fixed,
  showstringspaces=false,
  frame=single,
  framerule=0.4pt,
  rulecolor=\color{white!50!black},
  %backgroundcolor=\color{white},
}

\usepackage{tikz}
\usetikzlibrary{chains,positioning,shapes,fit}
\pgfdeclarelayer{background}
\pgfdeclarelayer{foreground}
\pgfsetlayers{background,main,foreground}

\tikzstyle{branch}=[blue!60, ->, >=latex, line join=round]
\tikzstyle{tag}=[below, thick, draw=yellow!50!orange, fill=yellow!50]
\tikzstyle{timeline}=[thick, ->]
\tikzstyle{rev}=[rounded corners=1pt, minimum size=3mm,
  draw=red!50!black!50, top color=white, bottom color = red!50!black!20]
\tikzstyle{repository}=[cylinder,shape border rotate=90, draw=structure,
  shade, left color=structure!50, right color=structure!50,
  middle color=structure!10, aspect=0.15, minimum height=20mm,
  text width=20mm, text centered]
\tikzstyle{working copy}=[rounded corners, text width=15mm, inner sep=5pt,
  draw=yellow!40!red,
  top color=yellow!10!white,
  bottom color=yellow!20!white]
\tikzstyle{invisible}=[draw,opacity=0]
\tikzstyle{highlight}=[draw=structure, thick, inner sep=6pt, rounded corners]
\tikzstyle{short}=[shorten <=3pt, shorten >=3pt]
\tikzstyle{every join}=[->]

\mode<presentation>{
  \usefonttheme{structuresmallcapsserif}
  \setbeamercolor{structure}{fg=green!30!black}
  \setbeamertemplate{navigation symbols}{}
  \setbeamertemplate{footline}[frame number]
  \setbeamertemplate{background}{
    \begin{tikzpicture}<0->[overlay, remember picture]
      \node at (current page.center) {
        \includegraphics[height=0.9\textheight]{hg-droplets}
      };
      \fill[white,opacity=0.95] (current page.north west)
                      rectangle (current page.south east);

      \ifnum\thepage>1
      \usebeamercolor{page number in head/foot}
      \node[above right, color=fg, font=\tiny] at (current page.south west)
           {\includegraphics[height=2cm]{pixelman} aragost Trifork};
      \fi
    \end{tikzpicture}
  }
}
\mode<handout>{
  \usepackage{pgfpages}
  \pgfpagesuselayout{4 on 1}[a4paper,landscape,border shrink=5mm]
}

\AtBeginSection[]{
  \begin{frame}<beamer>{Outline}
    \tableofcontents[currentsection]
  \end{frame}
}

\title{Fast, Flexible and Fun:\\ Revision Control with Mercurial}
\author{Martin Geisler
  \texorpdfstring{\\$\langle$\texttt{mg@aragost.com}$\rangle$}
                 {<mg@aragost.com>}}
\date{UBS GeekNight\\ April 27, 2010}

\newcommand{\cmd}[1]{\texttt{\color{green!40!black}#1}}
\newcommand{\ext}[1]{\texttt{\color{orange!50!red}#1}}
\newcommand{\curl}[1]{\textcolor{CornflowerBlue!60!black}{\url{#1}}}

\begin{document}

\begin{frame}[plain]
  \maketitle
  \begin{tikzpicture}[overlay, remember picture]
    \node[above right] at (current page.south west)
         {\includegraphics[height=3cm]{pixelman-front}};
  \end{tikzpicture}
\end{frame}

\include{mg}

\begin{frame}{Outline}
  \tableofcontents
\end{frame}

\section{Introduction}

\include{features}

\include{why-distributed}

\include{mercurial-users}

\include{testimonials}

\include{branches}

\include{merging}

\include{key-commands}

\include{key-concepts}

\include{centralized}
\include{distributed}

\include{workflow-department}
\include{workflow-divisions}
\include{workflow-yourself}

\include{svn-branching}
\include{svn-merging}


\section{Using Mercurial}

\subsection{The Underlying Model}

\include{model}
\include{immutable-history}

\subsection{Workflows}

\include{central-workflow}

\subsection{Using History}

\include{annotate}
\include{grep}
\include{bisect}

\section{Cool Extensions}

\include{extensions}

\subsection{Changing History}

\include{rebase}

\include{mq}

\include{histedit}

\subsection{Talking to Other Systems}

\include{convert}

\include{hgsubversion}

\include{hg-git}

\subsection{Third-Party Tools}

\begin{frame}{Third-Party Tools}
  Tools with Mercurial support:
  \begin{itemize}
  \item Shell integration: TortoiseHg (Windows, Mac, Linux)
  \item IDEs: Eclipse, NetBeans, IntelliJ, Visual Studio, Emacs\dots
  \item Project Support: Trac, JIRA, Maven, Hudson, BuildBot\dots
  \end{itemize}
\end{frame}

\include{demo}

\section{Wrapping Up}

\begin{frame}{Mercurial in a Nutshell}
  Mercurial changes the way you develop:
  \begin{itemize}
  \item simple yet strong model for \alert{both} branching and merging
  \item power tool instead of necessary evil
  \item light-weight and snappy
  \end{itemize}
\end{frame}

\begin{frame}{More Information}
  \begin{itemize}
  \item Mercurial homepage:\\
    \curl{http://mercurial.selenic.com/}
  \item \textsl{Mercurial: The Definitive Guide}:\\
    \curl{http://hgbook.red-bean.com/}
  \item Getting Started:\\
    \curl{http://mercurial.ch/}\\
    \curl{http://hginit.com/}
  \item Some free Mercurial hosting sites:\\
    \curl{http://bitbucket.org/}\\
    \curl{http://code.google.com/} \\
    \curl{http://sourceforge.net/}\\
    \curl{http://www.codeplex.com/} (Microsoft)
  \end{itemize}
\end{frame}

\begin{frame}{Contact}
  Please get in touch if you have more questions or have considered
  using Mercurial in your organization:
  \begin{itemize}
  \item Email: \curl{mg@aragost.com}
  \item IRC: \curl{mg} in \curl{\#mercurial} on \curl{irc.freenode.net}
  \end{itemize}

  \vfill

  \begin{center}
    \begin{tikzpicture}
      \node<2>[font=\Huge\bfseries, orange!50!red] {Thank you!};
    \end{tikzpicture}
  \end{center}
\end{frame}

% Send mail

\end{document}

% LocalWords:  SVN Makefile RCS CVS changeset changesets Changeset Changesets