source: trunk/tp_subversion/tpsvn.tex @ 379

Last change on this file since 379 was 379, checked in by nanardon, 11 years ago

diverses corrections

File size: 10.1 KB
Line 
1% $Id: perl.tex 183 2008-09-04 23:55:50Z nanardon $
2\documentclass[notes]{beamer}
3\usepackage[utf8]{inputenc}
4\usepackage[frenchb]{babel}
5\usepackage[T1]{fontenc}
6\usepackage{moreverb}
7\usepackage{graphicx}
8\usepackage{listings}
9\usepackage{color}
10\usepackage{eurosym}
11
12\mode<presentation>
13{
14  \definecolor{beamerstructure}{RGB}{143,79,112}
15  \definecolor{sidebackground}{RGB}{230,242,250}
16  \color{beamerstructure}
17  \usetheme[secheader]{Madrid}
18  \usepackage{times}
19  \userightsidebarcolortemplate{\color{sidebackground}}
20  \beamertemplateballitem
21}
22
23\AtBeginSection[]
24{
25\begin{frame}<beamer>
26    \frametitle{Plan}
27    \tableofcontents[sectionstyle=show/shaded,subsectionstyle=show/show/hide,subsubsectionstyle=hide/hide/hide]
28
29    \emph{Boule de poil à la fin !}
30\end{frame}
31}
32
33\AtBeginSubsection[]
34{
35\begin{frame}<beamer>
36    \frametitle{\subsecname}
37    \tableofcontents[sectionstyle=show/shaded,subsectionstyle=show/shaded/hide,subsubsectionstyle=show/hide/hide]
38\end{frame}
39}
40
41\AtBeginSubsubsection[]
42{
43\begin{frame}<beamer>
44    \frametitle{\subsubsecname}
45    \tableofcontents[sectionstyle=show/hide,subsectionstyle=show/shaded/hide,subsubsectionstyle=show/shaded/hide]
46\end{frame}
47}
48
49\title{TP Subversion}
50%%\subtitle{}
51\author{Olivier Thauvin}
52\date{\today}
53
54\begin{document}
55
56\frame{\titlepage}
57
58\begin{frame}
59\tableofcontents[hideallsubsections]
60\end{frame}
61
62\section{Les bases}
63
64\begin{frame}
65\frametitle{Généralités sur les VCS}
66\begin{block}{Pourquoi utiliser un gestionnaire de versionnement ?}
67\begin{itemize}
68\item Archiver pas à pas les modifications
69\pause
70\item Retrouver n'importe quelle ancienne version
71\pause
72\item Gérer le stockage concurrent
73\pause
74\begin{itemize}
75\item travail à plusieurs
76\item travail depuis plusieurs machines
77\end{itemize}
78\end{itemize}
79\end{block}
80\end{frame}
81
82\begin{frame}
83\frametitle{Présentation de Subversion}
84\begin{block}{CVS++}
85un successeur à CVS
86\end{block}
87\vfill
88\pause
89\begin{block}{Historique:}
90\begin{itemize}
91\item Février 2000: Début du développement par CollabNet
92\item 31 Août 2001: subversion est sous subversion
93\item 23 Février 2004: version 1.0.0
94\end{itemize}
95\end{block}
96\vfill
97\pause
98\begin{block}{Un projet libre}
99"Redistribution and use in source and binary forms, with or without
100modification, are permitted (\ldots)"
101\end{block}
102\end{frame}
103
104\begin{frame}[fragile]
105\frametitle{Les bases:}
106\begin{block}{The commandes à connaitre}
107\begin{enumerate}
108\item \verb+svn help+
109\pause
110\item \verb+svn COMMANDE --help+
111\end{enumerate}
112\end{block}
113\pause
114\vfill
115\begin{block}{Comprendre l'url}
116\verb!svn+ssh://nanardon@forge.ipsl.jussieu.fr/svn/latmos!
117\begin{itemize}
118\item \verb!svn+ssh!: protocole
119\item \verb+nanardon+: login
120\item \verb+forge.ipsl.jussieu.fr+: le serveur
121\item \verb+/svn/latmos+: chemin du dépÃŽt
122\end{itemize}
123\end{block}
124\end{frame}
125
126\begin{frame}[fragile]
127\frametitle{Sortir le dépÎt}
128\begin{block}{DépÎt du TP}
129\begin{itemize}
130\item protocol: ssh
131\item serveur: svn.latmos.ipsl.fr
132\item chemin: /svn/tp
133\end{itemize}
134\end{block}
135\pause
136
137\begin{block}{checkout}
138\small
139\begin{verbatim}
140svn co \
141    svn+ssh://svn.latmos.ipsl.fr/svn/tp \
142    tpsvn
143\end{verbatim}
144\end{block}
145
146\begin{block}{Remarques:}
147\begin{itemize}
148\item Que contient le répertoire \verb+tpsvn+ ?
149\end{itemize}
150\end{block}
151\end{frame}
152
153\begin{frame}[fragile]
154\frametitle{Mettre à jour sa copie de tavail}
155\begin{block}{update}
156\begin{enumerate}
157\item placez-vous dans \verb+tpsvn+
158\item tapez \verb+svn update+
159\end{enumerate}
160\end{block}
161\vfill
162\pause
163\begin{block}{Et maintenant ?}
164\begin{itemize}
165\item Que contient \verb+tpsvn+?
166\item Que disent les commandes:
167\begin{itemize}
168\item \verb+svn log+
169\item \verb+snv info+
170\end{itemize}
171\end{itemize}
172\end{block}
173\end{frame}
174
175\begin{frame}[fragile]
176\frametitle{Premier commit}
177\begin{block}{Ajout des fichiers}
178FICHIER est à remplacer par le nom du fichier qui vous ai donné.
179\begin{enumerate}
180\item placez-vous dans trunk (\verb+cd trunk+)
181\item copiez votre fichier (depuis \verb+../files+)
182\pause
183\item ajoutez votre fichier: \pause\verb+svn add FICHIER+
184\pause
185\item commitez: \pause\verb+svn commit -m "ajout FICHIER"+
186\end{enumerate}
187\end{block}
188\vfill
189\pause
190\begin{block}{Analyse}
191\begin{itemize}
192\item Que dit \verb+svn commit+ ?
193\item Voyez vous d'autres fichiers \verb+.txt+ ?
194\pause
195\item mettez à jour votre copie de travail
196\end{itemize}
197\end{block}
198\end{frame}
199
200\begin{frame}[fragile]
201\frametitle{DeuxiÚme commit}
202\begin{block}{Modification du fichier}
203A la fin du fichier ajouter l'auteur du texte contenu dans le fichier (si vous
204ne savez pas demandez), de cette maniÚre:
205\begin{verbatim}
206-- Auteur
207\end{verbatim}
208\end{block}
209\vfill
210\pause
211
212\begin{block}{Que donne:}
213\begin{itemize}
214\item \verb+svn status+?
215\pause
216\item \verb+svn annotate FICHIER+?
217\pause
218\item \verb+svn log FICHIER+?
219\end{itemize}
220\pause
221
222Commitez.
223\end{block}
224\end{frame}
225
226\section{Propriété des fichiers}
227
228\begin{frame}[fragile]
229\frametitle{Les propriétés}
230
231\begin{block}{Qu'est-ce donc ?}
232Métadonnées associées aux fichiers. Examples:
233\begin{itemize}
234\item \verb+svn:executable+: fichier exécutable
235\item \verb+svn:eol-style+: type de fin de ligne
236\item \verb+svn:mime-type+: type de fichier
237\end{itemize}
238\end{block}
239\pause
240\vfill
241
242\begin{block}{Commandes:}
243\begin{itemize}
244\item Lister les propriété: \verb+svn proplist FICHIER+
245\pause
246\item Voir une propriété: \verb+svn propget PROPRIETE FICHIER+
247\end{itemize}
248\end{block}
249\end{frame}
250
251\begin{frame}[fragile]
252\frametitle{Propriété \og{}keywords\fg{}}
253\begin{block}{Marquer un fichier:}
254\begin{enumerate}
255\item editez le FICHIER et ajouter une ligne à la fin contenant:
256\verb+-- $Id$+
257\item tapez \verb+svn propset svn:keywords Id FICHIER+
258\pause
259\item commitez
260\pause
261\item mettez à jour votre copie de travail
262\end{enumerate}
263\end{block}
264\pause
265\vfill
266\begin{block}{Discution}
267\begin{itemize}
268\item Que contient la derniÚre ligne du FICHIER ?
269\pause
270\item Que contiennent les autres fichiers ?
271\end{itemize}
272\end{block}
273\end{frame}
274
275\section{Les Tags, les Branches}
276
277\begin{frame}[fragile]
278\frametitle{}
279\begin{block}{Créer une branche ou un tag}
280\begin{enumerate}
281\item mettez à jour votre copie de travail
282\pause
283\item créez une branche: \verb+svn cp . ../branches/LOGIN+
284\pause
285\item commitez (attention au chemin)
286\end{enumerate}
287\end{block}
288\pause
289\vfill
290\begin{block}{Discussion}
291\begin{itemize}
292\item Que donne \verb+svn log+?
293\item Que donne \verb+svn log ..+?
294\pause
295\item Et aprÚs \verb+svn update ..+?
296\end{itemize}
297\end{block}
298\end{frame}
299
300\section{Diff et Merge}
301
302\begin{frame}[fragile]
303\frametitle{svn diff}
304\begin{block}{diff et patch}
305\begin{itemize}
306\item \verb+diff -Naur+ produit la différence entre deux fichiers
307\pause
308\item \verb+patch+ applique une différence (produite pas diff)
309\end{itemize}
310\end{block}
311\pause
312\vfill
313\begin{block}{et Subversion ?}
314Que donne:
315\begin{enumerate}
316\item \verb+svn diff+?
317\pause
318\item \verb+svn diff -r2:4+?
319\pause
320\item \verb+svn diff -r4:2+?
321\end{enumerate}
322\end{block}
323\end{frame}
324
325\begin{frame}[fragile]
326\frametitle{Merge: Appliquer une modif sur une branche}
327\begin{block}{Modifier votre FICHIER}
328\begin{enumerate}
329\item Ajouter devant le tag \verb+$Id$+: \og{}\verb+Ref: +\fg{}
330\item commitez
331\end{enumerate}
332\end{block}
333\pause
334\vfill
335\begin{block}{Mise ne pratique}
336\begin{enumerate}
337\item Repérez les numéros de révision que vous voulez appliquez (ici le dernier)
338\pause
339\item Repérez la source et la destination (chemin)
340\pause
341\item tapez \verb+svn merge -rN-1:N . ../branches/LOGIN+
342\pause
343\item commitez (attention au chemin)
344\pause
345\end{enumerate}
346\end{block}
347\end{frame}
348
349\begin{frame}[fragile]
350\frametitle{Merge: Annulez une modification}
351\begin{block}{1Úre étape:}
352\begin{enumerate}
353\item Editez le FICHIER2, sabotter la ligne (retirez l'auteur, ...):
354\item commitez
355\end{enumerate}
356\end{block}
357\pause
358\vfill
359\begin{block}{Annuler le changement}
360\begin{enumerate}
361\item mettez à jour votre copie de travail
362\item regardez votre FICHIER
363\pause
364\item identifiez la révision fautive
365\pause
366\item tapez \verb+svn merge -rN:N' FICHIER+, où \verb+N+ est le numéro de
367révision et \verb+N'+ le numéro précédent.
368\pause
369\item commitez
370\end{enumerate}
371\end{block}
372\end{frame}
373
374\section{Conflits}
375
376\begin{frame}[fragile]
377\frametitle{Gérer un conflit}
378\begin{block}{Modification du FICHIER:}
379\begin{enumerate}
380\item ajouter le titre à la suite du nom de l'auteur:
381\begin{verbatim}
382-- Auteur, Titre
383\end{verbatim}
384\pause
385\item commitez
386\end{enumerate}
387
388que se passe-t-il ?
389\end{block}
390\vfill
391\pause
392\begin{block}{Corriger le pb: svn update}
393{\small
394\begin{verbatim}
395Sélectionner : (p) report, (df) diff entier, (e) édite,
396        (mc) mes conflits, (tc) autres conflits,
397        (s) affiche toutes les options :
398\end{verbatim}
399}
400Choisissez \verb+p+ (report)
401\begin{itemize}
402\item Que dit \verb+svn update+?
403\item Que contient FICHIER ?
404\end{itemize}
405\end{block}
406\end{frame}
407
408\begin{frame}[fragile]
409\frametitle{Régler le conflit}
410\begin{block}{Pratique}
411\begin{enumerate}
412\item corrigez le contenu du fichier
413\pause
414\item enlever le marqueur de conflit: \verb+svn resolved FICHIER+
415\pause
416\item commitez
417\end{enumerate}
418\end{block}
419\end{frame}
420
421\begin{frame}
422\frametitle{Régler un conflit}
423\begin{block}{Discussion: svn update}
424{\small
425\begin{itemize}
426\item{(e)  édite:} résout manuellement le conflit avec un éditeur
427\item{(df) diff complet:} montre toutes les différences du fichier fusionné
428\item{(r)  résolu:} utilise la version fusionnée
429\item{(dc) affiche conflits:} affiche tous les conflits (ignore version fusionnée)
430\item{(mc) mes conflits:} accepte ma version pour tous les conflits
431\item{(tc) autres conflits:} accepte l'autre version pour tous les conflits
432\item{(m) mien complet:} utilise ma version (ignore les autres éditions)
433\item{(tf) autre complet:} prends la version du dépÃŽt (perds mes éditions)
434\item{(p)  report:} marque ce conflit pour résolution ultérieure
435\item{(l)  lance:} utilise un outil externe pour résoudre le conflit
436\end{itemize}
437}
438\end{block}
439\end{frame}
440
441\include{cc_by_sa}
442
443\begin{frame}
444\frametitle{Merci}
445\center{
446\huge{Questions ?}
447
448\huge{Boule de poils:}
449
450\includegraphics[width=0.4\linewidth]{Abrichatons}
451
452\small{(c) Wikipédia}
453}
454\end{frame}
455
456
457\end{document}
Note: See TracBrowser for help on using the repository browser.