root/alternc-doc/trunk/admin/svn.xml

Revision 1550, 11.7 kB (checked in by benjamin, 3 years ago)

documentation, mise a jour pour 0.9.5

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 <?xml version="1.0" encoding="iso-8859-1"?>
2 <!-- $Revision$ -->
3
4 <chapter id="admin.svn">
5 <title>Subversion, utilisation côté développeur</title>
6
7 <para>
8 Subversion, aussi appellé SVN, est un logiciel permettant de travailler à plusieurs sur des sources communs.
9 </para>
10 <para>
11 Il permet de transférer un ensemble de fichiers depuis un serveur, d'y effectuer des modifications localement, puis de valider ces modifications. SVN gère les conflits si 2 personnes modifient le même fichier, il permet aussi de retrouver chaque modification faites sur les sources dans le temps, sous forme de fichier "diff" (lignes ajoutées, modifiées et supprimées sur chaque fichier) et permet de revenir sur l'une d'elle pour corriger d'éventuelles erreurs.
12 </para>
13 <para>
14 SVN est un descendant du logiciel CVS, autre système, plus ancien, de gestion de sources en commun. Il existe d'autres systèmes comme DARCS ou ARCH/TLA qui effectuent le même genre de tâche : la gestion concurrente de sources et le partage de documents en commun.
15 </para>
16
17
18
19
20 <sect1><title>Concepts de base de subversion</title>
21
22 <para>
23 Lorsque l'on utilise subversion sur son ordinateur, on travaille sur son ordinateur localement, sur une copie des sources. Les sources sont situés sur un serveur subversion, dans ce que l'on appelle un dépôt. Un administrateur de dépot vous fournit généralement l'adresse du dépot. Cette adresse, appellée URL, peut prendre plusieurs formes comme suit :
24 <example><title>Exemple d'url de dépot SVN</title>
25 <para>
26 <screen>svn://svn.example.com/monprojet/trunk
27 svn+ssh://svn.debian.org/var/lib/svn/debian-edu/trunk
28 http://corp.mycompany.com:8080/svn/internal/
29 https://dev.alternc.org/svn/alternc/alternc/trunk
30 </screen>
31 Ce ne sont, bien sur, que des exemples. Subversion supportant de nombreux protocoles de transfert d'information, il est possible que d'autres forme d'url existent.
32 </para>
33 </example>
34 Si votre administrateur de dépôt vous a fourni un nom d'utilisateur et un mot de passe, il se peut que vous ayez besoin d'ajouter le nom d'utilisateur à cette url. Il se place dans ce cas juste après le <code>://</code> et avant le nom de domaine. On fait suivre le nom d'utilisateur d'un <code>@</code>, à la manière des emails. L'url devient alors :
35 <screen>svn+ssh://john@svn.debian.org/var/lib/svn/debian-edu/trunk/</screen>
36 </para>
37
38 <note><title>A propos des commandes de ce chapitre</title>
39 <para>
40 Dans la suite de ce manuel, nous présenterons des commandes de subversion. Ces commandes sont accessibles via l'outil en ligne de commande <command>svn</command> ou via un menu permettant de lancer cette commande, selon le logiciel que vous utilisez. Les exemples de commandes de cette documentation seront données sous forme de commande pour le logiciel SVN en console, à vous de trouver l'équivalent dans votre logiciel, les termes utilisés étant généralement les mêmes.
41 </para>
42 </note>
43
44 <sect2><title>Récupérer les fichiers sources dans leur état actuel</title>
45 <para>
46  La première commande subversion à connaître est celle permettant d'obtenir une copie locale (sur votre machine) des sources distants (fichiers situés dans le dépôt distant). Pour cela, on utilise la commande <command>checkout</command>, parfois abbréviée <command>co</command>. On l'utilise comme suit : <command>svn checkout &lt;url du dépôt&gt;</command>
47 Par exemple :
48 </para>
49 <example><title>Exemples d'obtention d'une copie d'un dépôt</title>
50 <para>
51 <screen>
52 $ svn checkout svn://svn.example.com/monprojet/trunk
53 $ svn co svn+ssh://philippe@svn.debian.org/var/lib/svn/debian-edu/trunk
54 </screen>
55 </para>
56 </example>
57
58 <para>
59 La commande svn peut vous demander un mot de passe si vous utilisez un compte disposant de droits étendus. Dans ce cas, saisissez votre mot de passe lorsque le système vous le demande.
60 </para>
61 <para>
62 Vous devez voir alors la liste des fichiers téléchargés sur votre machine au fur et à mesure de leur arrivée, comme suit :
63 <screen>
64 $ svn checkout svn://svn.debian.org/svn/debian-edu/trunk
65 A  trunk/html
66 A  trunk/html/logs
67 A  trunk/html/logs/cd-build.log
68 A  trunk/html/logs/overview.log
69 A  trunk/html/logs/securitylist.html
70 A  trunk/html/logs/buglist.html
71 A  trunk/html/logs/README
72 A  trunk/html/index.html
73 A  trunk/security
74 A  trunk/security/README
75 A  trunk/src
76  ...
77 </screen>
78 </para>
79 <para>
80  Une fois téléchargés, vous disposez des fichiers dans un nouveau dossier local, et vous pouvez les lire, les modifier localement, bref, faire ce que vous voulez dessus. Vous noterez dans chaque dossier de ces sources la présence d'un dossier <code>.svn</code>, généralement caché. Ce dossier permet à Subversion de s'y retrouver et de savoir quels fichiers ou dossier vous avez modifié.
81 </para>
82 </sect2>
83
84 <sect2><title>Mettre à jour son dépôt local</title>
85 <para>
86 Quelques temps après avoir utilisé checkout pour aller récupérer les sources, l'on peut souhaiter mettre à jour cette copie locale, pour y récupérer les modifications effectuées par les autres développeurs. Pour cela, on utilise tout simplement la commande <command>update</command>. Pour lancer cette commande, il faut bien évidemment être situé dans la copie locale. En voici un exemple :
87 </para>
88 <example><title>Exemple de mise à jour d'une copie locale</title>
89 <para>
90 <screen>
91 trunk$ svn update
92 U  trunk/html/logs/overview.log
93 U  trunk/html/logs/buglist.html
94 M  trunk/html/logs/README
95  ...
96 </screen>
97 Vous remarquerez le détail des informations fournies par svn : les lignes avec U montrent les fichiers mis à jour, celles avec M montrent les fichiers que vous avez modifié (M) et qui n'ont donc pas été mis à jour si besoin.
98 </para>
99 </example>
100 </sect2>
101
102 <sect2><title>Valider ses modifications sur le dépôt</title>
103 <para>
104   Si vous effectuez des modifications dans les fichiers de votre copie locale, vous devez ensuite valider ses modifications en renvoyant les fichiers ainsi modifiés sur le serveur, au dépôt. Subversion suivant les modifications en détail, il est nécessaire d'accompagner cet envoi d'un petit commentaire expliquant de quoi il s'agit.
105 </para>
106 <para>
107   Pour envoyer les modifications sur le dépôt, on utilise la commande <command>svn commit</command> qui regarde la liste des fichiers modifiés et les renvois au dépôt. Cette commande lance votre éditeur pour vous demander de remplir le commentaire associé à vos modifications. On peut l'accompagner de la liste des fichiers à modifier, si l'on souhaite ne valider que certains d'entre eux.
108 </para>
109 </sect2>
110
111 <sect2><title>Ajouter ou supprimer des fichiers au dépôt</title>
112 <para>
113   Lorsque l'on crée de nouveaux fichiers ou dossiers dans les sources, il faut signaler à subversion que ces fichiers doivent être ajoutés au dépôt. Pour cela, on utilise la commande <command>svn add</command>. On précise derrière cette commande la liste des fichiers ou dossiers à ajouter au dépôt.
114 </para>
115 </sect2>
116
117 </sect1>
118
119
120
121
122 <sect1><title>Utilisation de SVN sur votre système d'exploitation</title>
123
124 <para>
125 Ce chapitre présente l'utilisation de SVN sur les systèmes d'exploitation suivants : Windows (98SE, 2000, XP) et Linux (en console et sous environnement Kde ou Gnome). Il propose l'installation de logiciels de gestions de sources utilisant le protocole SVN et explique les paramètres de base.
126 </para>
127
128
129 <sect2><title>Installation de SVN sous Windows</title>
130 <para>
131 Sous Windows, vous pouvez utiliser le logiciel tortoiseSvn disposnible sur le site <ulink url=""></ulink>. Il s'agit d'une extension à l'explorateur windows qui permet d'accéder facilement aux fichiers d'un dépôt subversion, et de gérer les fichiers correspondants. Les icônes des fichiers reflettent leur état dans le svn (à jour, modifié, non présent dans le dépôt ...)
132 <graphic fileref="images/tortoise_svn_1.jpg" format="JPG"></graphic>
133 </para>
134 </sect2>
135
136 <sect2><title>Installation de SVN sous Linux</title>
137 <para>
138 Sous Linux, vous pouvez utiliser de nombreux logiciels pour vous connecter à un serveur Subversion. Le plus classique est SVN lui-même. Il existe cependant 2 clients habituels qui sont esvn et rapidsvn.
139 </para>
140 <sect3><title>Svn en ligne de commande</title>
141 <para>
142 Sous Debian GNU/Linux, on installe subversion avec la commande <command>apt-get install subversion</command>. Sous mandrake, on utilise <command>urpmi subversion</command>. Si vous utilisez une autre distribution, utilisez la méthode d'installation habituelle d'un logiciel pour installer subversion.
143 </para><para>
144 Une fois installé, on ne dispose que de la ligne de commande de svn, qui s'exprime sous la forme suivante : <command>svn &lt;commande&gt; &lt;parametres&gt;</command>
145 </para><para>
146 Les commandes classiques de svn se retrouvent donc directement depuis la ligne de commande. En voici quelques exemples :
147 </para>
148 <example><title>Exemple de commande SVN</title>
149 <para>
150 Pour aller chercher la version actuelle des sources d'un dépot distant, nous utilisons, par exemple :
151 <screen>svn checkout svn://svn.example.com/monprojet/trunk</screen>
152 Pour ajouter un fichier nouvellement inséré dans les sources, nous appelons :
153 <screen>svn add monimage.gif monsource.php</screen>
154 Pour supprimer un fichier des sources, on utilise :
155 <screen>svn remove vieuxtruc.php</screen>
156 Pour valider ses modifications dans les sources, on tape :
157 <screen>svn commit</screen>
158 Le logiciel nous demande alors le commentaire associé à ce jeu de modifications. On peut aussi préciser les fichiers que l'on veut valider, si l'on ne veut pas valider toutes ses modifications d'un seul coup.
159 Enfin, si l'on veut mettre à jour sa copie locale, on utilisera :
160 <screen>svn update</screen>
161 </para>
162 </example>
163 <para>
164 SVN en ligne de commande est donc un outil relativement simple pour gérer directement sa copie locale depuis une console Linux.
165 </para>
166 </sect3>
167
168
169
170 <sect3><title>Esvn, client graphique sous KDE</title>
171 <para>
172 Si vous utilisez KDE, vous pouvez installer esvn, un client subversion graphique, pour gérer votre dépôt local. Sous Debian GNU/Linux, on installe esvn avec la commande <command>apt-get install esvn</command>. Sous Mandrake, on utilise <command>urpmi esvn</command>. Si vous utilisez une autre distribution, utilisez la méthode d'installation habituelle d'un logiciel pour installer esvn.
173 </para><para>
174 Une fois installé et lancé, vous tombez sur la fenêtre ci-dessous. Cliquez sur <command>file</command> puis <command>checkout</command> pour aller récupérer une copie locale des fichier du dépôt distant.
175   <graphic fileref="images/esvn_1.jpg" format="JPG"></graphic>
176 </para><para>
177 Les commandes classiques de subversion se retrouvent ensuite dans les menus de ce logiciel :
178   <graphic fileref="images/esvn_2.jpg" format="JPG"></graphic>
179   <graphic fileref="images/esvn_3.jpg" format="JPG"></graphic>
180   <graphic fileref="images/esvn_4.jpg" format="JPG"></graphic>
181 </para>
182 </sect3>
183
184
185 <sect3><title>Rapidsvn, client graphique sous Gnome</title>
186 <para>
187 Si vous utilisez Gnome, vous pouvez installer rapidsvn, un client subversion graphique, pour gérer votre dépôt local. Sous Debian GNU/Linux, on installe esvn avec la commande <command>apt-get install rapidsvn</command>. Sous Mandrake, on utilise <command>urpmi rapidsvn</command>. Si vous utilisez une autre distribution, utilisez la méthode d'installation habituelle d'un logiciel pour installer esvn.
188 </para><para>
189 Une fois installé et lancé, vous tombez sur la fenêtre ci-dessous. Cliquez sur <command>repository</command> puis <command>checkout</command> pour aller récupérer une copie locale des fichier du dépôt distant.
190   <graphic fileref="images/rapidsvn_1.jpg" format="JPG"></graphic>
191 Remplissez ensuite les paramètres demandés et cliquez sur OK pour aller récupérer les fichiers source.
192   <graphic fileref="images/rapidsvn_2.jpg" format="JPG"></graphic>
193 </para><para>
194 Les commandes classiques de subversion se retrouvent ensuite dans les menus de ce logiciel :
195   <graphic fileref="images/rapidsvn_3.jpg" format="JPG"></graphic>
196   <graphic fileref="images/rapidsvn_4.jpg" format="JPG"></graphic>
197 </para>
198 </sect3>
199
200 </sect2>
201 </sect1>
202
203 </chapter>
Note: See TracBrowser for help on using the browser.