source: trunk/subversion/subversion.tex @ 19

Last change on this file since 19 was 19, checked in by nanardon, 19 years ago
  • add based command
  • Property svn:keywords set to Id
File size: 5.8 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    Après:&
120    \includegraphics*[height=0.5\textheight]{workupdate.eps}
121    \end{tabular}
122    \end{slide}
123
124    \begin{slide}{Administration}
125    \begin{itemize}
126        \item elle doit se faire sur la machine elle même
127        \item système de fichier local
128    \end{itemize}
129    \bigskip
130    Création du dépôt
131    \begin{verbatim}
132$ svnadmin create /tmp/repos
133    \end{verbatim}
134    Sauvegarde du dépot:
135    \begin{verbatim}
136$ svnadmin dump /tmp/repos > dump
137    \end{verbatim}
138    \end{slide}
139
140    \begin{slide}{Accès au depôt}
141    Tout est url:
142    \begin{tabular}{ll}
143    local&\verb+file:///chemin/+\\
144    http(s)&\verb+http://host/chemin+\\
145    ssh&\verb$svn+ssh://user@host/chemin$\\
146    svnserv&\verb+svn://user@host/chemin+
147    \end{tabular}
148    \bigskip
149    Pas de différence entre base du dépot et chemin dans le depôt:
150
151    \small\verb+file://chemin/depot/sousrep/fichier+
152    \end{slide}
153
154    \begin{slide}{svn, commandes de base}
155    \textbf{svn} \textit{options} commande
156    \bigskip
157    \begin{small}
158    \begin{tabular}{lll}
159    checkout&co&créer une copie de travail\\
160    update&up&mettre à jours une copie de travail\\
161    commit&&envoit les modifications dans le dépôt\\
162    add&&prendre en charge un nouveau fichier\\
163    \end{tabular}
164    \end{small}
165    \end{slide}
166
167    \begin{slide}{svn, autres commandes}
168    \textbf{svn} \textit{options} commande
169    \bigskip
170    \begin{small}
171    \begin{tabular}{lll}
172    diff&&obtenir un \textit{diff}\\
173    rm&&effacer un fichier\\
174    revert&&annuler les changements non commités\\
175    merge&&intégrer des changement à partir d'un diff\\
176    \end{tabular}
177    \end{small}
178    \end{slide}
179
180    \begin{slide}{checkout}
181    Créer une copie de travail à partir du contenu d'un dépot
182\begin{scriptsize}
183\begin{verbatim}
184$ svn co http://virgo/svn/[...]/subversion/ subversion/
185A    subversion/workco.fig
186A    subversion/workupdate.fig
187A    subversion/Makefile
188A    subversion/subversion.tex
189Révision 18 extraite.
190$ cd subversion/
191\end{verbatim}
192\end{scriptsize}
193    \end{slide}
194
195    \begin{slide}{update}
196    Mets à jour une copie de travail:
197    \begin{itemize}
198        \item est récursif (voir -N)
199        \item créer les nouveaux fichiers
200        \item éfface les anciens fichiers
201        \item donne un status aux fichiers
202    \end{itemize}
203
204\begin{footnotesize}
205\begin{verbatim}
206$ svn update
207U    subversion.tex
208Actualisé à la révision 18.
209$ svn update -r 17 subversion.tex
210U    subversion.tex
211Actualisé à la révision 17.
212\end{verbatim}
213\end{footnotesize}
214    \end{slide}
215
216\end{document}
Note: See TracBrowser for help on using the repository browser.