Mercurial > lilug > scm
view slideshow.tex @ 10:424847edab23
How does it work, issues for centralized systems
author | Josef "Jeff" Sipek <jeffpc@optonline.net> |
---|---|
date | Mon, 12 Sep 2005 19:04:02 -0400 |
parents | 80fbd1691bf8 |
children | 84be94f5bb7d |
line wrap: on
line source
\documentclass[pdf,contemporain,slideColor,colorBG,accumulate,nototal]{prosper} %\usepackage{macros-cp} \title{Source Code Management /\\ Version Control Systems} \subtitle{Everything you would ever want to know} \author{Josef ``Jeff'' Sipek} \institution{} % TODO: % - pros for centralized/distributed scm \begin{document} \maketitle % What is it? \overlays{1}{ \begin{slide}{What's SCM/VCS?} \begin{itemize} \item Source Code Management \item Version Control Systems \end{itemize} \end{slide}} % What can it do? \overlays{3}{ \begin{slide}{What can it do?} \begin{itemstep} \item Keep revision history % I may say files with code, but I really mean any file - it doesn't have to be code \item Revert to any revision \item Track down who changed particular line of code \end{itemstep} \end{slide}} % How does it work? - typical workflow \overlays{1}{ \begin{slide}{How does it work?} \begin{itemstep} \item Repository % You have a repository, it stores all the data and metadata \item Check out the source % the repository contains the history and should not be touched directly \item Edit % edit to your heart's content \item Commit % commit - or save - the changes to the repository; creating the revision history (timestamp, comment) \end{itemstep} \end{slide}} \overlays{4}{ \begin{slide}{Client-Server (eg. Subversion)} \begin{center} \onlySlide*{1}{\includegraphics{client-server.ps}} % - server, client \onlySlide*{2}{\includegraphics{client-server-checkout.ps}} % - client checks out a copy \onlySlide*{3}{\includegraphics{client-server-modified.ps}} % - client modifies code \onlySlide*{4}{\includegraphics{client-server-commit.ps}} % - client commits changes to server \end{center} \end{slide}} \overlays{2}{ \begin{slide}{Client-Server - Issues} \begin{itemstep} \item Non-commiters are \emph{second class citizens} \item Promotes use of patches - bad! why have SCM when you use patches?! \end{itemstep} \end{slide}} \overlays{2}{ \begin{slide}{Distributed (eg. Mercurial)} \begin{itemstep} \item Bazaar-NG, Cogito/git, Darcs, GNU Arch, Mercurial, Monotone and SVK \item No central server \end{itemstep} \end{slide}} \overlays{1}{ \begin{slide}{Distributed (cont'd.)} % FIXME: animation of what happens % - repo % - clone % - modify clone % - commit % - push/pull \end{slide}} \overlays{1}{ \begin{slide}{Distributed - Issues} \begin{itemstep} \item Slight more complicated to understand % FIXME: more issues \end{itemstep} \end{slide}} \end{document}