Changeset 43


Ignore:
Timestamp:
01/12/06 00:33:48 (18 years ago)
Author:
nanardon
Message:
  • add darcs
Location:
trunk/darcs
Files:
2 added
2 copied

Legend:

Unmodified
Added
Removed
  • trunk/darcs/Makefile

    r42 r43  
    44 
    55SOURCES= \ 
    6         subversion.tex 
     6        darcs.tex 
    77 
    8 FIGURES= \ 
    9         workco.fig \ 
    10         workupdate.fig \ 
    11         conflict.fig \ 
    12         merge.fig \ 
    13         branches.fig 
     8FIGURES=  
    149 
    1510IMAGES= \ 
    16         viewcvs.png \ 
    17         trac.png 
     11        darcss.png \ 
    1812 
    1913DVI=$(SOURCES:.tex=.dvi) 
  • trunk/darcs/darcs.tex

    r42 r43  
    55\usepackage{multicol} 
    66 
    7 \title{Subversion} 
    8 \subtitle{parce que cvs sucks} 
     7\title{Darcs} 
     8\subtitle{Des dépots et des patch} 
    99\author{Olivier Thauvin} 
    1010\email{olivier.thauvin@aerov.jussieu.fr} 
    11 %%\institution{ 
    12 %%  \includegraphics*[height=0.3\textheight]{gnutux.eps} 
    13 %%} 
     11\institution{ 
     12  \includegraphics*[height=0.3\textheight]{darcs} 
     13} 
    1414 
    1515\NoFrenchBabelItemize 
     
    2222    \begin{slide}{Plan} 
    2323    \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} 
     24      \item Darcs 
    3325    \end{itemize} 
    3426    \end{slide} 
    3527 
    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 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}\\ 
    119     \hline 
    120     Après:& 
    121     \includegraphics*[height=0.5\textheight]{workupdate} 
    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/ 
    187 A    subversion/workco.fig 
    188 A    subversion/workupdate.fig 
    189 A    subversion/Makefile 
    190 A    subversion/subversion.tex 
    191 Ré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 
    211 U    subversion.tex 
    212 Actualisé à la révision 18. 
    213 $ svn update -r 17 subversion.tex 
    214 U    subversion.tex 
    215 Actualisé à la révision 17. 
    216 \end{verbatim} 
    217 \end{footnotesize} 
    218     \end{slide} 
    219  
    220     \begin{slide}{soumettre les modifications} 
    221     \textit{svn commit} 
    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" 
    232 Envoi          subversion/subversion.tex 
    233 Transmission des données . 
    234 Révision 20 propagée. 
    235 \end{verbatim} 
    236 \end{footnotesize} 
    237      
    238     \end{slide} 
    239  
    240     \begin{slide}{ajouter / enlever des fichiers} 
    241     \textit{svn add} 
    242     \begin{itemize} 
    243         \item est récursif (voir -N) 
    244         \item est locale (nécéssite un commit) 
    245     \end{itemize} 
    246     \bigskip 
    247     \textit{svn remove} 
    248     \begin{itemize} 
    249         \item efface aussi le fichier local 
    250         \item est récursif (voir -N) 
    251     \end{itemize} 
    252  
    253 % TODO ajouter exemple 
    254     \end{slide} 
    255  
    256     \begin{slide}{Comparer} 
    257     \textit{svn diff} 
    258     produit un \textit{diff} entre 
    259     \begin{itemize} 
    260         \item le fichier local et la révision courante 
    261         \item le fichier local et une révision arbitraire 
    262         \item deux révisions arbitraire 
    263         \item un autre chemin 
    264     \end{itemize} 
    265     \bigskip 
    266     \textit{svn status} 
    267     donne l'état de tout les fichiers 
    268 \begin{footnotesize} 
    269 \begin{verbatim} 
    270 $ svn status 
    271 ?      not_in_repos 
    272 M      SPECS/postgresql.spec 
    273 \end{verbatim} 
    274 \end{footnotesize} 
    275     \end{slide} 
    276      
    277     \begin{slide}{svn diff: exemple} 
    278 \begin{tiny} 
    279 \begin{verbatim} 
    280 Index: SPECS/postgresql.spec 
    281 =================================================================== 
    282 --- SPECS/postgresql.spec       (révision 28) 
    283 +++ SPECS/postgresql.spec       (copie de travail) 
    284 @@ -17,7 +17,7 @@ 
    285  %define current_major_version 8.1 
    286  %define current_minor_version 1 
    287  
    288 -%define release %mkrel 3 
    289 +%define release %mkrel 4 
    290  
    291  %define libname %mklibname pq %{major} 
    292  %define libecpg %mklibname ecpg %{major_ecpg} 
    293 \end{verbatim} 
    294 \end{tiny} 
    295  
    296     \end{slide} 
    297  
    298     \begin{slide}{rechercher d'où vient le code} 
    299     \textit{svn blame} 
    300     affiche l'origine des lignes d'un fichier (révision, auteur et la ligne): 
    301 \begin{tiny} 
    302 \begin{verbatim} 
    303      7   nanardon \begin{document} 
    304      9   nanardon     \maketitle 
    305      7   nanardon 
    306      9   nanardon     \part{Introduction} 
    307      7   nanardon 
    308      9   nanardon     \begin{slide}{Plan} 
    309      7   nanardon     \begin{itemize} 
    310      9   nanardon       \item Généralités sur les VCS 
    311      9   nanardon       \item RCS et CVS 
    312      9   nanardon       \item Subversion 
    313      9   nanardon         \begin{itemize} 
    314     13   nanardon             \item Présentation 
    315 \end{verbatim} 
    316 \end{tiny} 
    317     \end{slide} 
    318  
    319     \begin{slide}{voir l'historique} 
    320     \textit{svn log} 
    321     affiche les... logs 
    322 \begin{tiny} 
    323 \begin{verbatim} 
    324 $ svn log SPECS/postgresql.spec 
    325 ------------------------------------------------------------------------ 
    326 r28 | nanardon | 2006-01-02 11:07:34 +0100 (lun, 02 jan 2006) | 1 line 
    327  
    328 - remove jdbc 
    329 ------------------------------------------------------------------------ 
    330 r27 | nanardon | 2006-01-02 10:29:35 +0100 (lun, 02 jan 2006) | 1 line 
    331  
    332 - postgresql-8.1.1-3mdk 
    333 ------------------------------------------------------------------------ 
    334 r2 | nanardon | 2005-12-26 03:28:50 +0100 (lun, 26 déc 2005) | 1 line 
    335  
    336 Add postgresql 
    337 ------------------------------------------------------------------------ 
    338 \end{verbatim} 
    339 \end{tiny} 
    340     \end{slide} 
    341  
    342     \begin{slide}{Gérer les conflits} 
    343     \begin{figure}[htb] 
    344     \includegraphics*[height=0.3\textheight]{conflict} 
    345     \end{figure} 
    346     Si 2 commits sur le même fichier 
    347  
    348     \begin{itemize} 
    349     \item fusion automatique 
    350     \item conflit: 
    351         \begin{itemize} 
    352             \item \textit{svn resolved} 
    353             \item corriger le code 
    354             \item commiter 
    355         \end{itemize} 
    356     \end{itemize} 
    357     \end{slide} 
    358  
    359     \begin{slide}{Annuler un changement} 
    360     \textit{svn merge} intègre les changements \verb+de:à+ dans 
    361     la copie de travail. 
    362     \bigskip 
    363     \begin{itemize} 
    364         \item les changements peuvent venir d'un autre chemin (branches) 
    365         \item n'agit que sur la copie locale (il faut commiter) 
    366     \end{itemize} 
    367      
    368     \bigskip 
    369     \begin{figure}[htb] 
    370     \includegraphics*[width=0.9\textwidth]{merge} 
    371     \end{figure} 
    372     \end{slide} 
    373  
    374     \begin{slide}{Les tags, les branches} 
    375     Les branches et les tags sont copies de fichiers: 
    376     \begin{itemize} 
    377         \item avec \textit{svn copy} 
    378         \item les données ne sont pas dupliquées dans le dépot 
    379         \item l'historique est conservé 
    380     \end{itemize} 
    381     \bigskip 
    382     \begin{figure}[htb] 
    383     \includegraphics*[width=0.9\textwidth]{branches} 
    384     \end{figure} 
    385     \end{slide} 
    386  
    387     \part{Autour de subversion} 
    388  
    389     \begin{slide}{viewcvs} 
    390     \begin{figure}[htb] 
    391     \includegraphics[width=90mm]{viewcvs} 
    392     \end{figure} 
    393     \end{slide} 
    394      
    395     \begin{slide}{trac} 
    396     \begin{figure}[htb] 
    397     \includegraphics[width=90mm]{trac} 
    398     \end{figure} 
    399     \end{slide} 
    400  
    40128\end{document} 
Note: See TracChangeset for help on using the changeset viewer.