source: trunk/subversion/subversion.tex @ 26

Last change on this file since 26 was 26, checked in by nanardon, 18 years ago
  • rename few slides
  • Property svn:keywords set to Id
File size: 6.7 KB
Line 
1% $Id$
2\documentclass[blends,slideColor,colorBG,pdf,ps2pdf]{prosper}
3\usepackage[frenchb]{babel}
4\usepackage[T1]{fontenc}
5\usepackage{multicol}
6
7\title{Subversion}
8\subtitle{parce que cvs sucks}
9\author{Olivier Thauvin}
10\email{olivier.thauvin@aerov.jussieu.fr}
11%%\institution{
12%%  \includegraphics*[height=0.3\textheight]{gnutux.eps}
13%%}
14
15\NoFrenchBabelItemize
16
17\begin{document}
18    \maketitle
19
20    \part{Introduction}
21
22    \begin{slide}{Plan}
23    \begin{itemize}
24      \item Généralités sur les VCS
25      \item RCS et CVS
26      \item Subversion
27        \begin{itemize}
28            \item Présentation
29            \item Administration
30            \item Utilisation
31            \item Allez plus loin
32        \end{itemize}
33    \end{itemize}
34    \end{slide}
35
36    \begin{slide}{Généralités sur les VCS}
37    Pourquoi utiliser un Version Control System ?
38    \begin{itemize}
39        \item Archiver les différentes versions
40        \item Fournir n'importe quelle ancienne version
41        \item Gerer le stockage concurrent
42            \begin{itemize}
43                \item travail à plusieurs
44                \item travail depuis plusieurs machine
45            \end{itemize}
46    \end{itemize}
47    \end{slide}
48
49    \part{RCS et CVS}
50    \begin{slide}{RCS}
51    Revision Control System (1991)
52    \begin{itemize}
53        \item Projet GNU sous GPL
54        \item Dépôt décentralisé
55        \item Ne gère que des fichiers
56        \item Se présente comme un suite de programmes\\
57        {\small rcs ci co rcsdiff rlog rcsmerge rcsclean rcsfreeze}
58    \end{itemize}
59    \end{slide}
60
61    \begin{slide}{CVS}
62    Concurrent Versions System
63    \begin{itemize}
64        \item Basé sur RCS
65        \item Vieu\\
66        {\small donc connu, courant et bien implanté}
67        \item Dépôt décentralisé
68        \item Code monobloc
69    \end{itemize}
70    Les points faibles:
71    \begin{itemize}
72        \item Utilisation de \verb+$CVSROOT+ peu clair
73        \item update ne créer pas les nouveaux répertoires\\
74        {\small utilisation de -d}
75        \item Etends toujours les mots clefs
76        \item Pas de diff sur les nouveaux fichiers
77        \item Gestion des branches acrobatique
78    \end{itemize}
79    \end{slide}
80
81    \part{Subversion}
82
83    \begin{slide}{Présentation}
84    \begin{itemize}
85    \item CVS++, se veut un remplaçant de CVS
86    \item Historique:
87    \begin{itemize}
88        \item Février 2000: Début du dévelloppement par CollabNet
89        \item 31 Août 2001: subversion est sous subversion
90        \item 23 Février 2004: version 1.0.0
91    \end{itemize}
92    \item est libre\\
93    Redistribution and use in source and binary forms, with or without
94    modification, are permitted (\ldots)
95    \end{itemize}
96    \end{slide}
97
98    \begin{slide}{CVS vs SVN}
99    \begin{itemize}
100    \item versionnement des répertoires
101    \item numéros de révision unique au dépôt
102    \item vrai historique\\
103    {\small svn mv, svn cp}
104    \item commit atomiques\\
105    {\small tout ou rien}
106    \item metadonnées versionnées
107    \item différentes méthode d'accès aux dépots\\
108    {\small local, ssh, http, svnserver}
109    \item gestion des branches revue\\
110    {\small comprendre, plus de branches ! :)}
111    \item fonctionne avec des librairies
112    \end{itemize}
113    \end{slide}
114
115    \begin{slide}{fonctionnement}
116    \begin{tabular}{lc}
117    La première fois:&
118    \includegraphics*[height=0.5\textheight]{workco.eps}\\
119    \hline
120    Après:&
121    \includegraphics*[height=0.5\textheight]{workupdate.eps}
122    \end{tabular}
123    \end{slide}
124
125    \begin{slide}{Administration}
126    \begin{itemize}
127        \item elle doit se faire sur la machine elle même
128        \item système de fichier local
129    \end{itemize}
130    \bigskip
131    Création du dépôt
132    \begin{verbatim}
133$ svnadmin create /tmp/repos
134    \end{verbatim}
135    Sauvegarde du dépot:
136    \begin{verbatim}
137$ svnadmin dump /tmp/repos > dump
138    \end{verbatim}
139    \end{slide}
140
141    \begin{slide}{Accès au depôt}
142    Tout est url:
143    \begin{tabular}{ll}
144    local&\verb+file:///chemin/+\\
145    http(s)&\verb+http://host/chemin+\\
146    ssh&\verb$svn+ssh://user@host/chemin$\\
147    svnserv&\verb+svn://user@host/chemin+
148    \end{tabular}
149    \bigskip
150    Pas de différence entre base du dépot et chemin dans le depôt:
151
152    \small\verb+file://chemin/depot/sousrep/fichier+
153    \end{slide}
154
155    \begin{slide}{svn, commandes de base}
156    \textbf{svn} \textit{options} commande
157    \bigskip
158    \begin{small}
159    \begin{tabular}{lll}
160    checkout&co&créer une copie de travail\\
161    update&up&mettre à jours une copie de travail\\
162    commit&&envoit les modifications dans le dépôt\\
163    add&&prendre en charge un nouveau fichier\\
164    \end{tabular}
165    \end{small}
166    \end{slide}
167
168    \begin{slide}{svn, autres commandes}
169    \textbf{svn} \textit{options} commande
170    \bigskip
171    \begin{small}
172    \begin{tabular}{lll}
173    diff&&obtenir un \textit{diff}\\
174    rm&&effacer un fichier\\
175    revert&&annuler les changements non commités\\
176    merge&&intégrer des changement à partir d'un diff\\
177    blame&&indiquer la révision des modifications\\
178    \end{tabular}
179    \end{small}
180    \end{slide}
181
182    \begin{slide}{Créer une copie de travail}
183    Utilisation de \textit{checkout}
184\begin{scriptsize}
185\begin{verbatim}
186$ svn co http://virgo/svn/[...]/subversion/ subversion/
187A    subversion/workco.fig
188A    subversion/workupdate.fig
189A    subversion/Makefile
190A    subversion/subversion.tex
191Révision 18 extraite.
192$ cd subversion/
193\end{verbatim}
194\end{scriptsize}
195    \bigskip
196    Subversion mémorise l'url du dépots.
197    \end{slide}
198
199    \begin{slide}{mettre à jours}
200    \textit{svn update}
201    \begin{itemize}
202        \item est récursif (voir -N)
203        \item créer les nouveaux fichiers
204        \item éfface les anciens fichiers
205        \item donne un status aux fichiers
206    \end{itemize}
207
208\begin{footnotesize}
209\begin{verbatim}
210$ svn update
211U    subversion.tex
212Actualisé à la révision 18.
213$ svn update -r 17 subversion.tex
214U    subversion.tex
215Actualisé à la révision 17.
216\end{verbatim}
217\end{footnotesize}
218    \end{slide}
219
220    \begin{slide}{commit}
221    Envois les changements de la copie de travail dans le dépôt:
222    \begin{itemize}
223        \item est récursif (voir -N)
224        \item seuls les fichiers précédement ajouté sont commités
225        \item seuls les fichiers modifiés sont commités
226        \item log: utiliser -m ou placer \verb+$EDITOR+
227    \end{itemize}
228
229\begin{footnotesize}
230\begin{verbatim}
231$ svn commit -m "- add commit slide"
232Envoi          subversion/subversion.tex
233Transmission des données .
234Révision 20 propagée.
235\end{verbatim}
236\end{footnotesize}
237   
238    \end{slide}
239
240    \begin{slide}{add}
241    Ajoute un fichier dans le dépôt
242    \begin{itemize}
243        \item est récursif (voir -N)
244        \item est locale (nécéssite un commit)
245    \end{itemize}
246
247% TODO ajouter exemple
248    \end{slide}
249
250\end{document}
Note: See TracBrowser for help on using the repository browser.