\documentclass[pdf,autumn,draft,slideColor,colorBG,total]{prosper}
\usepackage[latin1]{inputenc}
\usepackage{german}
%------------------------------------------------------------------------------
% prework
\title{Version Control Systems}
\subtitle{cvs, arch, subversion, monotone}
\author{Nico -telmich- Schottelius}
\email{telmich (BEI) schottelius.org}
\institution{http://nico.schotteli.us/papers/speeches/c3h2004/}
\date{14-Mai-2004} % is silently ignored
%------------------------------------------------------------------------------
\begin{document}
\maketitle
%------------------------------------------------------------------------------
\begin{slide}{Ablauf}
\begin{enumerate}
\item Ziele definieren / Herausfinden - Was will ich damit?
\item Implementationen Vergleichen
\item Bunte Bastelei - ausprobieren der Implementationen
\end{enumerate}
\end{slide}
%------------------------------------------------------------------------------
\begin{slide}{Ziele von Versionsverwaltungssystemen}
\begin{itemize}
\item einfache Verwaltung mehrerer Branches/Trees/St\"amme
\item einfache Verwaltung mehrerer Heads/Forks/Zweige
\item F\"orderung von dezentralem Arbeiten
\item einfache Integration von Diffs/Patches/Unterschiede
\item Sicherung und Echtheit der \"Anderungen
\end{itemize}
\end{slide}
%------------------------------------------------------------------------------
\begin{slide}{CVS}
\begin{itemize}
\item zentral - Repositories
\item keine Changesets
\item kein full-Duplex merging (neues rein; neues raus)
\item weit verbreitet, einfach zu bedienen
\item viele Add-Ons (z.B. Webinterface)
\item r/o via anonymous
\end{itemize}
\end{slide}
%------------------------------------------------------------------------------
\begin{slide}{CVS}
\begin{itemize}
\item Zweige, aber keine Branches m\"oglich
\item keine dezentrale Arbeit vorgesehen (n:1 Verbindung)
\item Patches sind dateibasierend
\item system user - nutzt vorhandene Resourcen
\item oder pserver - viel spass dabei
\item pre-commit-hooks f\"ur Authentifizierung
\end{itemize}
\end{slide}
%------------------------------------------------------------------------------
\begin{slide}{Subversion}
\begin{itemize}
\item zentral - n:1
\item "`Nachfolger"' von CVS - wer CVS kann, kann SVN
\item kann CVS Repositories direkt \"ubernehmen
\item kann umbennen (renames)
\item whole-tree commits
\item kann \"uber HTTP gehen
\item keine Signed Commits
\end{itemize}
\end{slide}
%------------------------------------------------------------------------------
\begin{slide}{gnu arch}
\begin{itemize}
\item dezentral - distributed (n:m)
\item Implementierung von Tom Lord: tla
\item viele (redundante) Funktionen
\item Changesets
\item Zugriff \"uber HTTP
\item besondere Versionskennzeichnung/URI: markbt@efaref.net--2004 \\
nico-gpm@schottelius.org--2004
\end{itemize}
\end{slide}
%------------------------------------------------------------------------------
\begin{slide}{monotone}
\begin{itemize}
\item dezentral - distributed (n:m)
\item datenbankbasiert - sqlite
\item SHA1 Hashes - Versionen, Dateien
\item Signierte Commits (RSA) - Userverwaltung in DB
\item full-duplex merging (pull, push, sync)
\item intuitive Bedienung
\item netsync Protokoll - Server und Client ist eins (p2p)
\end{itemize}
\end{slide}
%------------------------------------------------------------------------------
\begin{slide}{monotone}
\begin{itemize}
\item mehrere Branches
\item mehrere Heads
\item aktive Entwicklung
\end{itemize}
\end{slide}
%------------------------------------------------------------------------------
\begin{slide}{URLs: Vergleiche}
\begin{itemize}
\begin{tiny}
\item http://better-scm.berlios.de/comparison/comparison.html
\item http://www.cmcrossroads.com/bradapp/acme/branching/
\item http://wiki.gnuarch.org/moin.cgi/SubVersionAndCvsComparison
\end{tiny}
\end{itemize}
\end{slide}
%------------------------------------------------------------------------------
\begin{slide}{URLs: monotone}
\begin{itemize}
\begin{tiny}
\item http://www.venge.net/monotone/
\end{tiny}
\end{itemize}
\end{slide}
%------------------------------------------------------------------------------
\begin{slide}{URLs: gnu arch (tla)}
\begin{itemize}
\begin{tiny}
\item http://regexps.srparish.net/www/
\item http://wiki.gnuarch.org/moin.cgi/Why\_20not\_20Arch
\item http://pinguin.ph-freiburg.de/$\sim$oxygene/tla-primer.txt
\end{tiny}
\end{itemize}
\end{slide}
%------------------------------------------------------------------------------
\begin{slide}{URLs: CVS}
\begin{itemize}
\begin{tiny}
\item http://www.cvshome.org/docs/manual/ [Englisch]
\item http://cvsbook.red-bean.com/translations/german/ [Deutsch]
\end{tiny}
\end{itemize}
\end{slide}
%------------------------------------------------------------------------------
\begin{slide}{URLs: Dieses Dokument}
\begin{itemize}
\begin{tiny}
\item http://nico.schotteli.us/papers/speeches/c3h-vcs/
\end{tiny}
\end{itemize}
\end{slide}
%------------------------------------------------------------------------------
\end{document}

