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}