Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 43324
Collapse All | Expand All

(-)../cvs-tutorial.xml (-185 / +192 lines)
Lines 4-10 Link Here
4
4
5
<guide link="/doc/fr/cvs-tutorial.xml">
5
<guide link="/doc/fr/cvs-tutorial.xml">
6
<title>Tutoriel CVS de Gentoo Linux</title>
6
<title>Tutoriel CVS de Gentoo Linux</title>
7
<author title="Chief Architect"> <mail link="drobbins@gentoo.org">Daniel Robbins</mail></author>
7
<author title="Architecte principal"> <mail link="drobbins@gentoo.org">Daniel Robbins</mail></author>
8
<author title="Traducteur"> <mail link="pierre.habouzit@m4x.org">Pierre Habouzit</mail></author>
8
<author title="Traducteur"> <mail link="pierre.habouzit@m4x.org">Pierre Habouzit</mail></author>
9
<author title="Traducteur"> <mail link="cam@cameuh.net">Camille Huot</mail></author>
9
<author title="Traducteur"> <mail link="cam@cameuh.net">Camille Huot</mail></author>
10
<author title="Traducteur"> <mail link="neysx@gentoo.org">Xavier Neys</mail></author>
10
<author title="Traducteur"> <mail link="neysx@gentoo.org">Xavier Neys</mail></author>
Lines 15-22 Link Here
15
développer des logiciels de façon collaborative dans un environnement souple.
15
développer des logiciels de façon collaborative dans un environnement souple.
16
Destiné aux utilisateurs débutants de CVS, ce tutoriel va permettre à la fois
16
Destiné aux utilisateurs débutants de CVS, ce tutoriel va permettre à la fois
17
aux utilisateurs occasionnels et aux nouveaux développeurs de travailler
17
aux utilisateurs occasionnels et aux nouveaux développeurs de travailler
18
beaucoup plus efficacement. Que vous désiriez utiliser CVS pour faire un "check
18
beaucoup plus efficacement. Que vous désiriez utiliser CVS pour faire un «&nbsp;check
19
out" des dernières sources d'un logiciel donné ou que vous l'utilisiez en tant
19
out&nbsp;» des dernières sources d'un logiciel donné ou que vous l'utilisiez en tant
20
que développeur expérimenté, ce tutoriel est fait pour vous.
20
que développeur expérimenté, ce tutoriel est fait pour vous.
21
</abstract>
21
</abstract>
22
22
Lines 29-45 Link Here
29
<title>Introduction</title>
29
<title>Introduction</title>
30
30
31
<section>
31
<section>
32
<title>Organisation du Tutoriel</title>
32
<title>Organisation du tutoriel</title>
33
<body>
33
<body>
34
    <p>
34
    <p>
35
        Ce tutoriel est découpé en deux parties. La première explique comment utiliser CVS
35
        Ce tutoriel est découpé en deux parties. La première explique comment utiliser CVS
36
    lorsqu'on n'est
36
    lorsque l'on n'est
37
        pas développeur, c'est-à-dire comment récupérer des sources CVS et les garder à jour.
37
        pas développeur, c'est-à-dire comment récupérer des sources CVS et les garder à jour.
38
        La seconde partie vous présente comment utiliser CVS pour développer en vous montrant
38
        La seconde partie vous présente comment utiliser CVS pour développer en vous montrant
39
        comment modifier, ajouter, retirer des fichiers sur CVS, ainsi que comment réaliser plein
39
        comment modifier, ajouter, retirer des fichiers sur CVS, ainsi que comment réaliser bien
40
        d'autres tâches de développeurs.
40
        d'autres tâches de développeurs.
41
        Si vous ne connaissez rien à CVS, il est recommandé de commencer par lire la première partie,
41
        Si vous ne connaissez rien à CVS, il est recommandé de commencer par lire la première partie,
42
        puis la seconde ; si vous avez une petite expérience de CVS, mais que vous allez l'utiliser
42
        puis la seconde&nbsp;; si vous avez une petite expérience de CVS, mais que vous allez l'utiliser
43
        en tant que véritable développeur pour la première fois, vous trouverez votre bohneur
43
        en tant que véritable développeur pour la première fois, vous trouverez votre bohneur
44
        dans la seconde partie (mais vous pouvez aussi avoir envie de parcourir rapidement
44
        dans la seconde partie (mais vous pouvez aussi avoir envie de parcourir rapidement
45
        la première partie).
45
        la première partie).
Lines 52-64 Link Here
52
<body>
52
<body>
53
    <p>
53
    <p>
54
        CVS est un système client/serveur qui permet aux développeurs de conserver
54
        CVS est un système client/serveur qui permet aux développeurs de conserver
55
        leurs projets sur un serveur central appelé repository. En utilisant les
55
        leurs projets sur un serveur central appelé dépôt (en anglais «&nbsp;CVS 
56
        clients cvs et les outils associés, les développeurs peuvent faire des modifications
56
        repository&nbsp;»). En utilisant les clients CVS et les outils associés, les 
57
        du contenu sur le serveur. En fait, le repository cvs conserve chaque changement
57
        développeurs peuvent faire des modifications du contenu sur le serveur. En fait, le 
58
        fait sur chaque fichier créant ainsi un historique complet de toute l'évolution
58
        dépôt CVS conserve chaque changement fait sur chaque fichier, créant ainsi un 
59
        du développement du projet. Les développeurs peuvent demander des versions antérieures
59
        historique complet de toute l'évolution du développement du projet. Les développeurs 
60
        d'un fichier particulier, regarder un historique des modifications et réaliser au besoin
60
        peuvent demander des versions antérieures d'un fichier particulier, regarder un 
61
        plusieurs autres actions utiles.
61
        historique des modifications et réaliser au besoin plusieurs autres actions utiles.
62
    </p>
62
    </p>
63
</body>
63
</body>
64
</section>
64
</section>
Lines 67-93 Link Here
67
<title>Le rôle de CVS</title>
67
<title>Le rôle de CVS</title>
68
<body>
68
<body>
69
    <p>
69
    <p>
70
        Un nombre conséquent de projets ont leur propre serveur CVS qui est utilisé
70
        Un nombre considérable de projets ont leur propre serveur CVS qui est utilisé
71
        par les développeurs du projet comme répertoire central pour tous leurs travaux.
71
        par les développeurs du projet comme répertoire central pour tous leurs travaux.
72
        Les développeurs apportent quotidiennement des améliorations aux sources dans le repository CVS.
72
        Les développeurs apportent quotidiennement des améliorations aux sources dans le dépôt 
73
        CVS.
73
        Souvent, ces développeurs sont dispersés dans le monde entier; CVS leur fournit ainsi
74
        Souvent, ces développeurs sont dispersés dans le monde entier; CVS leur fournit ainsi
74
        les mécanismes nécessaires pour unifier leur projet dans une structure centralisée 
75
        les mécanismes nécessaires pour unifier leur projet dans une structure centralisée 
75
        et cohérente. CVS crée le "liant organisationnel" qui permet à ces développeurs
76
        et cohérente. CVS crée le «&nbsp;liant organisationnel&nbsp;» qui permet à ces 
76
        d'améliorer leur code sans se marcher sur les pieds, sans perdre des données importantes
77
        développeurs d'améliorer leur code sans se marcher sur les pieds, sans perdre des 
77
        ou sans être bloqués par l'impossiblité de mettre à jour certains fichiers critiques.
78
        données importantes ou sans être bloqués par l'impossiblité de mettre à jour certains 
79
        fichiers critiques.
78
    </p>
80
    </p>
79
</body>
81
</body>
80
</section>
82
</section>
81
83
82
<section>
84
<section>
83
<title>CVS -- les dernières sources du programmeur</title>
85
<title>CVS - les dernières sources du programmeur</title>
84
<body>
86
<body>
85
    <p>
87
    <p>
86
        Quand les programmeurs sont prêts, ils archivent la version actuelle de leur travail
88
        Quand les programmeurs sont prêts, ils archivent la version actuelle de leur travail
87
        sur CVS dans un fichier tar.gz et publient celui-ci comme une nouvelle version
89
        sur CVS dans un fichier tar.gz et publient celui-ci comme une nouvelle version
88
        de leur logiciel. Pourtant, parfois, la dernière version officielle n'est
90
        de leur logiciel. Pourtant, parfois, la dernière version officielle n'est
89
        pas assez récente pour vous pour diverses raisons. Dans la première partie
91
        pas assez récente pour vous pour diverses raisons. Dans la première partie
90
        de ce tutoriel, je vais vous montrer comment utiliser CVS dans ce but : récupérer
92
        de ce tutoriel, nous verrons comment utiliser CVS dans ce but : récupérer
91
        la version de développement la plus récente et la plus complète des sources
93
        la version de développement la plus récente et la plus complète des sources
92
        pour votre usage personnel.
94
        pour votre usage personnel.
93
    </p>
95
    </p>
Lines 95-112 Link Here
95
</section>
97
</section>
96
98
97
<section>
99
<section>
98
<title>CVS -- l'avez vous ?</title>
100
<title>CVS - l'avez vous ?</title>
99
<body>
101
<body>
100
    <p>
102
    <p>
101
        Avant que vous ne puissiez utiliser CVS, vous devez l'installer sur votre système.
103
        Avant que vous ne puissiez utiliser CVS, vous devez l'installer sur votre système.
102
        Le moyen le plus simple de vérifier si cvs est installé chez vous est de taper :
104
        Le moyen le plus simple de vérifier si CVS est installé sur votre système est de taper :
103
    </p>
105
    </p>
104
<pre>
106
<pre>
105
# <i>cvs</i>
107
# <i>cvs</i>
106
</pre>
108
</pre>
107
    <p>
109
    <p>
108
        Si la commande cvs est trouvée, alors c'est bon. Sinon, vous devez soit récupérer
110
        Si la commande cvs est trouvée, alors vous l'avez. Sinon, vous devez soit récupérer
109
        un paquet de binaires pour votre distribution, soit l'installer depuis les sources.
111
        un paquet binaire pour votre distribution, soit l'installer depuis les sources.
110
        Installer CVS depuis les sources est plutôt simple et je vous montre comment le
112
        Installer CVS depuis les sources est plutôt simple et je vous montre comment le
111
        faire ci-dessous.
113
        faire ci-dessous.
112
    </p>
114
    </p>
Lines 120-126 Link Here
120
    <p>
122
    <p>
121
        Installer CVS depuis les sources est facile. Tout d'abord, récupérez le tarball
123
        Installer CVS depuis les sources est facile. Tout d'abord, récupérez le tarball
122
        cvs-1.11.tar.gz depuis <uri>ftp://ftp.cvshome.org/pub/cvs-1.11/cvs-1.11.tar.gz</uri>
124
        cvs-1.11.tar.gz depuis <uri>ftp://ftp.cvshome.org/pub/cvs-1.11/cvs-1.11.tar.gz</uri>
123
        (si il y a une version plus récente répertoriée <uri link="ftp://ftp.cvshome.org/pub/">ici</uri>,
125
        (s'il y a une version plus récente répertoriée <uri link="ftp://ftp.cvshome.org/pub/">ici</uri>,
124
        vous pouvez aussi bien récupérer la nouvelle à la place). Ensuite, procédez comme suit (la sortie
126
        vous pouvez aussi bien récupérer la nouvelle à la place). Ensuite, procédez comme suit (la sortie
125
        standard a été omise) :
127
        standard a été omise) :
126
    </p>
128
    </p>
Lines 158-171 Link Here
158
<title>Le CVSROOT</title>
160
<title>Le CVSROOT</title>
159
<body>
161
<body>
160
    <p>
162
    <p>
161
        Avant de commencer, il y a quelques fondamentaux à connaître. Le premier est que
163
        Avant de commencer, il y a quelques notions fondamentales à connaître. La première est 
162
        pour se connecter sur un repository CVS, vous devez tout d'abord renseigner un chemin
164
        que pour se connecter sur un dépôt CVS, vous devez tout d'abord paramétrer un chemin
163
        appelé le CVSROOT (la racine CVS). CVSROOT est une chaîne de caractères, un peu comme
165
        appelé le CVSROOT (la racine CVS). CVSROOT est une chaîne de caractères, un peu comme
164
        une URL, qui dit à la commande cvs où se trouve le repository distante et comment
166
        une URL, qui dit à la commande cvs où se trouve le dépôt distant et comment
165
        on aimerait s'y connecter. Juste pour rendre les choses plus intéressantes, CVS supporte
167
        on souhaite s'y connecter. Pour rendre les choses plus intéressantes, CVS supporte
166
        de nombreux formats pour CVSROOT, dépendant du fait que le repository soit local ou
168
        de nombreux formats pour CVSROOT, selon que le dépôt est local ou
167
        distant, et dépendant de la méthode utilisée pour s'y connecter. Voici quelques
169
        distant, et dépendamment de la méthode utilisée pour s'y connecter. Voici quelques
168
        exemples de CVSROOT avec des explications ...
170
        exemples de CVSROOT avec des explications...
169
    </p>
171
    </p>
170
</body>
172
</body>
171
</section>
173
</section>
Lines 176-184 Link Here
176
    <pre>CVSROOT=/home/cvsroot</pre>
178
    <pre>CVSROOT=/home/cvsroot</pre>
177
    <p>
179
    <p>
178
        C'est un exemple de chemin pour une racine CVS locale. Vous devriez utiliser
180
        C'est un exemple de chemin pour une racine CVS locale. Vous devriez utiliser
179
        une telle variable si vous voulez vous connecter à un repository local
181
        une telle variable si vous voulez vous connecter à un dépôt local
180
        situé en /home/cvsroot; ou bien, vous pouvez aussi avoir un repository local
182
        situé dans /home/cvsroot; ou bien, vous pouvez aussi avoir un dépôt local
181
        monté via NFS en /home/cvsroot.
183
        monté via NFS sur /home/cvsroot.
182
    </p>
184
    </p>
183
</body>
185
</body>
184
</section>
186
</section>
Lines 188-196 Link Here
188
<body>
190
<body>
189
    <pre>CVSROOT=:pserver:cvs@foo.bar.com:/home/cvsroot</pre>
191
    <pre>CVSROOT=:pserver:cvs@foo.bar.com:/home/cvsroot</pre>
190
    <p>
192
    <p>
191
        Ceci est un exemple de CVSROOT pour un repository existant sur l'hôte
193
        Ceci est un exemple de CVSROOT pour un dépôt existant sur l'hôte
192
        foo.bar.com et qui réside dans le /home/cvsroot de cette machine.
194
        foo.bar.com et qui réside dans le /home/cvsroot de cette machine.
193
        La partie ":pserver:" indique à notre client qu'il doit se connecter
195
        La partie «&nbsp;:pserver:&nbsp;» indique à notre client qu'il doit se connecter
194
        à cette machine distante en utilisant le protocole pserver, un
196
        à cette machine distante en utilisant le protocole pserver, un
195
        protocole incorporé à CVS. Typiquement, les répertoires CVS publics
197
        protocole incorporé à CVS. Typiquement, les répertoires CVS publics
196
        utilisent des pserver pour autoriser l'accès à des utilisateurs anonymes.
198
        utilisent des pserver pour autoriser l'accès à des utilisateurs anonymes.
Lines 199-214 Link Here
199
</section>
201
</section>
200
202
201
<section>
203
<section>
202
<title>Une racine CVS avec accès distant par rsh/ssh</title>
204
<title>Une racine CVS avec accès distant par RSH/SSH</title>
203
<body>
205
<body>
204
    <pre>CVSROOT=drobbins@foo.bar.com:/data/cvs</pre>
206
    <pre>CVSROOT=drobbins@foo.bar.com:/data/cvs</pre>
205
    <p>
207
    <p>
206
        Ceci est un exemple de CVSROOT qui utilise le protocole RSH ou SSH.
208
        Ceci est un exemple de CVSROOT qui utilise le protocole RSH ou SSH.
207
        Dans cet exemple, le CVS va accéder au repository sur
209
        Dans cet exemple, le CVS va accéder au dépôt sur
208
        foo.bar.com via le compte drobbins. Si la variable d'environnement
210
        foo.bar.com via le compte drobbins. Si la variable d'environnement CVS_RSH
209
        est positionnée à "ssh", le client cvs va utiliser ssh pour se connecter,
211
        est réglée à «&nbsp;ssh&nbsp;», le client cvs va utiliser SSH pour se connecter,
210
        sinon, rsh est utilisé par défaut. L'accès par ssh est plus populaire chez
212
        sinon, RSH est utilisé par défaut. L'accès par SSH est plus populaire chez
211
        ceux qui aiment la sécurité, mais ni rsh, ni ssh ne permettent l'accès 
213
        ceux qui aiment la sécurité, mais ni RSH, ni SSH ne permettent l'accès 
212
        anonyme aux sources. Pour utiliser cette méthode, il faut absolument
214
        anonyme aux sources. Pour utiliser cette méthode, il faut absolument
213
        avoir un compte sur foo.bar.com.
215
        avoir un compte sur foo.bar.com.
214
    </p>
216
    </p>
Lines 222-228 Link Here
222
        En plus de la racine CVS, vous allez avoir besoin du nom du module
224
        En plus de la racine CVS, vous allez avoir besoin du nom du module
223
        (groupe de sources) que vous voulez récupérer ainsi que le mot de passe
225
        (groupe de sources) que vous voulez récupérer ainsi que le mot de passe
224
        anonyme que vous devez utiliser pour vous connecter au serveur CVS.
226
        anonyme que vous devez utiliser pour vous connecter au serveur CVS.
225
        À l'inverse des ftp anonymes, il n'y a pas de format "standard"
227
        À l'inverse des ftp anonymes, il n'y a pas de format «&nbsp;standard&nbsp;»
226
        pour les mots de passe anonymes, il faudra donc récupérer les mots de passe
228
        pour les mots de passe anonymes, il faudra donc récupérer les mots de passe
227
        spécifiques publiés sur le site web du développeur ou le demander aux développeurs
229
        spécifiques publiés sur le site web du développeur ou le demander aux développeurs
228
        eux-mêmes. Avec ces informations, vous êtes prêt à commencer.
230
        eux-mêmes. Avec ces informations, vous êtes prêt à commencer.
Lines 236-252 Link Here
236
    <p>
238
    <p>
237
        Récupérer des sources se fait en deux temps. Tout d'abord, il faut se connecter
239
        Récupérer des sources se fait en deux temps. Tout d'abord, il faut se connecter
238
        au pserver. Ensuite, on récupère les sources avec la commande <c>checkout</c>.
240
        au pserver. Ensuite, on récupère les sources avec la commande <c>checkout</c>.
239
        Voici un exemple des commandes que l'on peut lancer pour faire un "checkout"
241
        Voici un exemple des commandes que l'on peut lancer pour faire un «&nbsp;checkout&nbsp;»
240
        des dernières sources de Samba :
242
        des dernières sources de Samba :
241
    </p>
243
    </p>
242
<pre>
244
<pre>
243
# <i>export CVSROOT=:pserver:cvs@pserver.samba.org:/cvsroot</i>
245
# <i>export CVSROOT=:pserver:cvs@pserver.samba.org:/cvsroot</i>
244
</pre>
246
</pre>
245
    <p>
247
    <p>
246
        Cette première commande positionne la variable d'environnement CVSROOT.
248
        Cette première commande règle la variable d'environnement CVSROOT.
247
        Si vous ne le faites pas, il faudra faire suivre, à chaque fois,  la commande <c>cvs</c>
249
        Si vous ne le faites pas, il faudra faire suivre, à chaque fois,  la commande <c>cvs</c>
248
        par l'option suivante : <c>-d :pserver:cvs@pserver.samba.org:/cvsroot</c>.
250
        par l'option suivante&nbsp;: <c>-d :pserver:cvs@pserver.samba.org:/cvsroot</c>.
249
        Exporter la variable CVSROOT permet d'éviter de l'encoder à chaque fois.
251
        Exporter la variable CVSROOT permet d'éviter de la spécifier à chaque fois.
250
    </p>
252
    </p>
251
</body>
253
</body>
252
</section>
254
</section>
Lines 262-268 Link Here
262
<pre>
264
<pre>
263
# <i>cvs login</i>
265
# <i>cvs login</i>
264
(Logging in to cvs@pserver.samba.org)
266
(Logging in to cvs@pserver.samba.org)
265
CVS password: <comment>(taper le mot de passe ici)</comment>
267
CVS password: <comment>(Tapez le mot de passe ici.)</comment>
266
268
267
# <i>cvs -z5 co samba</i>
269
# <i>cvs -z5 co samba</i>
268
U samba/COPYING
270
U samba/COPYING
Lines 271-308 Link Here
271
U samba/Read-Manifest-Now
273
U samba/Read-Manifest-Now
272
U samba/Roadmap
274
U samba/Roadmap
273
U samba/WHATSNEW.txt
275
U samba/WHATSNEW.txt
274
<comment>(c'est juste une partie de la sortie complète de la commande cvs co output)</comment>
276
<comment>(C'est juste une partie de la sortie complète de la commande cvs co output.)</comment>
275
</pre>
277
</pre>
276
278
277
</body>
279
</body>
278
</section>
280
</section>
279
281
280
<section>
282
<section>
281
<title>Utiliser CVS -- l'explication</title>
283
<title>Utiliser CVS - l'explication</title>
282
<body>
284
<body>
283
    <p>
285
    <p>
284
        La première commande cvs (ci-dessus) nous connecte au le pserver et la seconde
286
        La première commande cvs (ci-dessus) nous connecte au pserver et la seconde
285
        demande à notre client de faire un checkout ("co") du module samba en utilisant
287
        demande à notre client de faire un «&nbsp;checkout&nbsp;» («&nbsp;co&nbsp;») du module 
286
        une compression de type gzip de niveau 5 ("-z5") pour accélérer la transmission
288
        samba en utilisant une compression de type gzip de niveau 5 («&nbsp;-z5&nbsp;») pour 
287
        sur une connexion lente. Pour chaque nouveau fichier créé localement, cvs affiche
289
        accélérer la transmission sur une connexion lente. Pour chaque nouveau fichier créé 
288
        "U [fichier]", ce qui indique que ce fichier a bien été mis à jour sur le disque
290
        localement, cvs affiche «&nbsp;U [fichier]&nbsp;», ce qui indique que ce fichier a bien 
289
        (Updated).
291
        été mis à jour sur le disque («&nbsp;Updated&nbsp;»).
290
    </p>
292
    </p>
291
</body>
293
</body>
292
</section>
294
</section>
293
295
294
<section>
296
<section>
295
<title>Fin du checkout</title>
297
<title>Fin du «&nbsp;checkout&nbsp;»</title>
296
<body>
298
<body>
297
    <p>
299
    <p>
298
        Une fois le checkout terminé, vous aurez un répertoire "samba" dans votre
300
        Une fois le «&nbsp;checkout&nbsp;» terminé, vous aurez un répertoire 
299
        répertoire courant. Remarquez d'ailleurs que chaque répertoire contient
301
        «&nbsp;samba&nbsp;» dans votre répertoire courant. Remarquez d'ailleurs que chaque 
300
        un nouveau répertoire "CVS" -- CVS y stocke plusieurs informations qui
302
        répertoire contient un nouveau répertoire «&nbsp;cvs&nbsp;» - CVS y stocke plusieurs 
301
        peuvent être ignorées sans problème ici. A partir de maintenant,
303
        informations qui peuvent être ignorées sans problème ici. À partir de maintenant,
302
        nous n'avons plus à nous inquiéter que la variable CVSROOT soit positionnée
304
        nous n'avons plus à nous inquiéter que la variable CVSROOT soit réglée
303
        ou non, parce que les informations sur le repository sont stockées dans
305
        ou non, parce que les informations sur le dépôt sont stockées dans
304
        ces fameux répertoires "CVS" supplémentaires. A savoir : CVSROOT n'est à
306
        ces fameux répertoires «&nbsp;cvs&nbsp;» supplémentaires. À savoir : CVSROOT n'est à
305
        définir que pour la première connexion et le premier "checkout".
307
        définir que pour la première connexion et le premier «&nbsp;checkout&nbsp;».
306
    </p>
308
    </p>
307
</body>
309
</body>
308
</section>
310
</section>
Lines 318-325 Link Here
318
        De temps en temps, vous pouvez avoir envie de synchroniser vos sources déjà récupérées
320
        De temps en temps, vous pouvez avoir envie de synchroniser vos sources déjà récupérées
319
        avec la version actuelle sur CVS. Pour ce faire, vous n'avez pas besoin de vous connecter
321
        avec la version actuelle sur CVS. Pour ce faire, vous n'avez pas besoin de vous connecter
320
        à nouveau au pserver; vos informations d'authentification sont mises en cache par cvs
322
        à nouveau au pserver; vos informations d'authentification sont mises en cache par cvs
321
        dans les répertoires "CVS" dont j'ai parlé. Il suffit d'entrer dans le répertoire
323
        dans les répertoires «&nbsp;CVS&nbsp;» dont j'ai parlé. Il suffit d'entrer dans le répertoire
322
        principal des sources (dans notre cas "samba") et de taper :
324
        principal des sources (dans notre cas «&nbsp;samba&nbsp;») et de taper :
323
    </p>
325
    </p>
324
<pre>
326
<pre>
325
# <i>cvs update -dP</i>
327
# <i>cvs update -dP</i>
Lines 328-354 Link Here
328
</section>
330
</section>
329
331
330
<section>
332
<section>
331
<title>"cvs update" en bref, partie 1</title>
333
<title>«&nbsp;cvs update&nbsp;» en bref, partie 1</title>
332
<body>
334
<body>
333
    <p>
335
    <p>
334
        Si il y a des nouveaux fichiers, cvs va afficher une ligne "U [fichier]"
336
        S'il y a des nouveaux fichiers, cvs va afficher une ligne «&nbsp;U [fichier]&nbsp;»
335
        pour chaque fichier qu'il met à jour. Si vous avez déjà compilé les
337
        pour chaque fichier qu'il met à jour. Si vous avez déjà compilé les
336
        sources une fois, vous allez sans doute voir apparaître beaucoup de lignes
338
        sources une fois, vous allez sans doute voir apparaître beaucoup de lignes
337
        "? [fichier]" ; ce sont des fichiers que cvs signale qu'ils ne sont pas sur le
339
        «&nbsp;? [fichier]&nbsp;» ; c'est parce que cvs signale qu'ils ne sont pas 
338
        repository distant.
340
        sur le dépôt distant.
339
    </p>
341
    </p>
340
</body>
342
</body>
341
</section>
343
</section>
342
344
343
<section>
345
<section>
344
<title>"cvs update" en bref, partie 2</title>
346
<title>«&nbsp;cvs update&nbsp;» en bref, partie 2</title>
345
<body>
347
<body>
346
    <p>
348
    <p>
347
        Remarquez d'ailleurs les deux options utilisées pour faire un "cvs update".
349
        Remarquez d'ailleurs les deux options utilisées pour faire un «&nbsp;cvs update&nbsp;».
348
        "-d" demande à cvs de créer chez vous les nouveaux répertoires qui ont pu être
350
        «&nbsp;-d&nbsp;» demande à cvs de créer chez vous les nouveaux répertoires qui ont pu 
349
        ajoutés au repository (ce qui n'est pas le comportement par défaut), et "-P"
351
        être ajoutés au dépôt (ce qui n'est pas le comportement par défaut), et «&nbsp;-P&nbsp;»
350
        sert à supprimer tous les répertoires vides de votre copie locale des sources.
352
        sert à supprimer tous les répertoires vides de votre copie locale des sources.
351
        "-P" est une bonne idée puisque cvs a tendance à récupérer un bon nombre
353
        «&nbsp;-P&nbsp;» est une bonne idée puisque cvs a tendance à récupérer un bon nombre
352
        de répertoires vides (utilisés à une époque, puis abandonnés).
354
        de répertoires vides (utilisés à une époque, puis abandonnés).
353
    </p>
355
    </p>
354
    <p>
356
    <p>
Lines 366-377 Link Here
366
<body>
368
<body>
367
    <p>
369
    <p>
368
        En tant que développeur, vous devrez modifier des fichiers sur le serveur CVS. Pour ceci,
370
        En tant que développeur, vous devrez modifier des fichiers sur le serveur CVS. Pour ceci,
369
        commencez par faire les changements désirés sur votre copie du repository.
371
        commencez par faire les changements désirés sur votre copie du dépôt.
370
        Ces changements ne sont bien entendu pas répercutés sur le repository distant tant
372
        Ces changements ne se répercutent pas, bien entendu, sur le dépôt distant tant
371
        que vous n'avez pas explicitement demandé à cvs de faire un "commit" de vos
373
        que vous n'avez pas explicitement demandé à cvs de faire un «&nbsp;commit&nbsp;» de vos
372
        modifications. Lorsque vous avez suffisamment testé toutes vos modifications,
374
        modifications. Lorsque vous avez suffisamment testé toutes vos modifications,
373
        que vous êtes sûr que tout fonctionne parfaitement, alors vous êtes prêt
375
        que vous êtes sûr que tout fonctionne parfaitement, alors vous êtes prêt
374
        à envoyer vos modifications sur le repository distant. Suivez bien les deux
376
        à envoyer vos modifications sur le dépôt distant. Suivez bien les deux
375
        étapes. En premier lieu, mettez vos sources à jour, par la commande suivante :
377
        étapes. En premier lieu, mettez vos sources à jour, par la commande suivante :
376
    </p>
378
    </p>
377
<pre>
379
<pre>
Lines 384-402 Link Here
384
<title>CVS fusionne les modifications des autres</title>
386
<title>CVS fusionne les modifications des autres</title>
385
<body>
387
<body>
386
    <p>
388
    <p>
387
        Comme on l'a vu plus tôt, "cvs update" va synchroniser vos sources avec
389
        Comme on l'a vu plus tôt, «&nbsp;cvs update&nbsp;» va synchroniser vos sources avec
388
        celles du repository distant. Mais que va-t-il se passer pour vos
390
        celles du dépôt distant. Mais que va-t-il se passer pour vos
389
        modifications ? Rassurez-vous, elles ne seront pas perdues ! Si un autre
391
        modifications ? Rassurez-vous, elles ne seront pas perdues ! Si un autre
390
        développeur a modifié un fichier que vous n'avez pas modifié, votre fichier
392
        développeur a modifié un fichier que vous n'avez pas modifié, votre fichier
391
        local sera mis à jour, et ainsi, tous les fichiers que vous n'aurez
393
        local sera mis à jour, et ainsi, tous les fichiers que vous n'aurez
392
        pas touchés seront synchrones avec les fichiers du repository CVS.
394
        pas touchés seront synchronisés avec les fichiers du dépôt CVS.
393
    </p>
395
    </p>
394
    <p>
396
    <p>
395
        De plus, si vous avez modifié les lignes 1 à 10 d'un fichier en local, et qu'un autre
397
        De plus, si vous avez modifié localement les lignes 1 à 10 d'un fichier, et qu'un autre
396
        développeur a supprimé les lignes 40 à 50, ajouté 12 lignes à la fin de ce fichier,
398
        développeur a supprimé les lignes 40 à 50, ajouté 12 lignes à la fin de ce fichier,
397
        puis réalisé un "commit" avant vous, alors cvs va réaliser une fusion intelligente
399
        puis réalisé un «&nbsp;commit&nbsp;» avant vous, alors cvs va réaliser une fusion 
398
        des modifications réalisées par l'autre développeur sur votre copie, et ainsi,
400
        intelligente des modifications réalisées par l'autre développeur sur votre copie, et 
399
        aucun travail n'est perdu. Cela permet à deux développeurs de travailler sur
401
        ainsi, aucun travail n'est perdu. Cela permet à deux développeurs de travailler sur
400
        des parties distinctes d'un même fichier en même temps.
402
        des parties distinctes d'un même fichier en même temps.
401
    </p>
403
    </p>
402
</body>
404
</body>
Lines 419-433 Link Here
419
421
420
422
421
<section>
423
<section>
422
<title>Le "commit"</title>
424
<title>Le «&nbsp;commit&nbsp;»</title>
423
<body>
425
<body>
424
    <p>
426
    <p>
425
        Nous allons nous intéresser à la résolution des conflits un peu plus loin.
427
        Nous allons nous intéresser à la résolution des conflits un peu plus loin.
426
        Mais pour l'instant, supposons qu'il n'y a pas eu de conflits à la sortie de
428
        Mais pour l'instant, supposons qu'il n'y a pas eu de conflit à la sortie de
427
        la commande "cvs update -dP" (ce qui est souvent le cas). Dans ce cas, vos
429
        la commande «&nbsp;cvs update -dP&nbsp;» (ce qui est souvent le cas). Dans ce cas, vos
428
        sources locales sont à jour (up-to-date) et vous êtes alors prêt à réaliser 
430
        sources locales sont à jour («&nbsp;up-to-date&nbsp;») et vous êtes alors prêt à 
429
        le "commit" de vos sources. Il suffit de taper la commande suivante dans le 
431
        réaliser le «&nbsp;commit&nbsp;» de vos sources. Il suffit de taper la commande 
430
        répertoire principal de vos sources :
432
        suivante dans le répertoire principal de vos sources :
431
    </p>
433
    </p>
432
<pre>
434
<pre>
433
# <i>cvs commit</i>
435
# <i>cvs commit</i>
Lines 438-470 Link Here
438
</section>
440
</section>
439
441
440
<section>
442
<section>
441
<title>Ce que fait le "commit"</title>
443
<title>Ce que fait le «&nbsp;commit&nbsp;»</title>
442
<body>
444
<body>
443
    <p>
445
    <p>
444
        "cvs commit" ne fait <i>pas qu'appliquer</i> vos modifications sur le repository 
446
        «&nbsp;cvs commit&nbsp;» ne fait <i>pas qu'appliquer</i> vos modifications sur le dépôt 
445
        distant. Avant de vraiment envoyer vos sources, cvs va ouvrir votre éditeur par
447
        distant. Avant de vraiment envoyer vos sources, cvs va ouvrir votre éditeur par
446
        défaut pour que vous puissiez écrire une courte description des changements réalisés.
448
        défaut pour que vous puissiez écrire une courte description des changements réalisés.
447
        Une fois ce commentaire saisi, enregistrez le fichier et quittez l'éditeur, vos
449
        Une fois ce commentaire saisi, enregistrez le fichier et quittez l'éditeur. Vos
448
        changements (et les commentaires associés) vont être appliqués au repository distant
450
        changements (et les commentaires associés) vont être appliqués au dépôt distant
449
        et vont être disponibles pour les autres développeurs de l'équipe.
451
        et vont être disponibles pour les autres développeurs de l'équipe.
450
    </p>
452
    </p>
451
</body>
453
</body>
452
</section>
454
</section>
453
455
454
<section>
456
<section>
455
<title>Consulter les logs</title>
457
<title>Consulter les journaux («&nbsp;logs&nbsp;»)</title>
456
<body>
458
<body>
457
    <p>
459
    <p>
458
        Il est vraiment très facile de consulter l'historique complet d'un fichier
460
        Il est vraiment très facile de consulter l'historique complet d'un fichier
459
        donné avec tous les commentaires que les développeurs (dont vous) ont pu
461
        donné avec tous les commentaires que les développeurs (dont vous) ont pu
460
        faire lorsqu'ils ont fait des "commit". Pour accéder à ces informations, faites :
462
        faire lorsqu'ils ont fait des «&nbsp;commit&nbsp;». Pour accéder à ces informations, 
463
        faites :
461
    </p>
464
    </p>
462
<pre>
465
<pre>
463
# <i>cvs log myfile.c</i>
466
# <i>cvs log myfile.c</i>
464
</pre>
467
</pre>
465
    <p>
468
    <p>
466
        "cvs log" est une commande récursive, donc pour consulter le log complet de toute
469
        «&nbsp;cvs log&nbsp;» est une commande récursive, donc pour consulter le log complet de 
467
        une arborescence d'un répertoire, allez dans le répertoire en question, et tapez :
470
        toute une arborescence d'un répertoire, allez dans le répertoire en question, et tapez :
468
    </p>
471
    </p>
469
<pre>
472
<pre>
470
# <i>cvs log | less</i>
473
# <i>cvs log | less</i>
Lines 474-484 Link Here
474
</section>
477
</section>
475
478
476
<section>
479
<section>
477
<title>Les options du "commit"</title>
480
<title>Les options du «&nbsp;commit&nbsp;»</title>
478
<body>
481
<body>
479
    <p>
482
    <p>
480
        Vous pourriez avoir envie d'utiliser un autre éditeur que celui que cvs utilise par défaut
483
        Vous pourriez avoir envie d'utiliser un autre éditeur que celui que cvs utilise par défaut
481
        lorsque vous faites un "cvs commit". Si c'est le cas, positionnez la variable d'environnement
484
        lorsque vous faites un «&nbsp;cvs commit&nbsp;». Si c'est le cas, réglez la variable d'environnement
482
        EDITOR sur le nom de votre éditeur favori. Mettre une telle ligne dans votre ~/.bashrc peut
485
        EDITOR sur le nom de votre éditeur favori. Mettre une telle ligne dans votre ~/.bashrc peut
483
        être une bonne idée :
486
        être une bonne idée :
484
    </p>
487
    </p>
Lines 500-508 Link Here
500
<body>
503
<body>
501
    <p>
504
    <p>
502
        Avant de continuer de découvrir d'autres commandes cvs, je vous recommande de créer
505
        Avant de continuer de découvrir d'autres commandes cvs, je vous recommande de créer
503
        un fichier ~/.cvsrc. En le créant dans votre "home directory", vous pouvez dire à cvs
506
        un fichier ~/.cvsrc. En le créant dans votre répertoire personnel, vous pouvez dire à 
504
        d'utiliser des options par défaut pour chaque commande cvs, et ainsi, vous n'avez pas
507
        cvs d'utiliser des options par défaut pour chaque commande cvs, et ainsi, vous n'avez 
505
        à vous rappeler de les taper à chaque fois. Voici un exemple de fichier .cvsrc :
508
        pas à vous rappeler de les taper à chaque fois. Voici un exemple de fichier .cvsrc :
506
    </p>
509
    </p>
507
<pre>
510
<pre>
508
cvs -q
511
cvs -q
Lines 517-552 Link Here
517
<title>Le fichier .cvsrc, suite</title>
520
<title>Le fichier .cvsrc, suite</title>
518
<body>
521
<body>
519
    <p>
522
    <p>
520
        En plus de pouvoir spécifier plein d'options utiles pour un grand nombre de
523
        En plus de pouvoir spécifier plusieurs options utiles pour un grand nombre de
521
        commandes cvs, la première ligne du .cvsrc force le mode silencieux de cvs, ce qui
524
        commandes cvs, la première ligne du .cvsrc force le mode silencieux de cvs, ce qui
522
        a comme première conséquence de rendre la sortie de "cvs update" beaucoup plus 
525
        a comme première conséquence de rendre la sortie de «&nbsp;cvs update&nbsp;» beaucoup 
523
        concise et lisible. Une fois ce fichier en place, il vous suffit de taper
526
        plus concise et lisible. Une fois ce fichier en place, il vous suffit de taper
524
        "cvs update" au lieu de "cvs update -dP" (par exemple).
527
        «&nbsp;cvs update&nbsp;» au lieu de «&nbsp;cvs update -dP&nbsp;» (par exemple).
525
    </p>
528
    </p>
526
</body>
529
</body>
527
</section>
530
</section>
528
531
529
<section>
532
<section>
530
<title>Ajouter un fichier au repository</title>
533
<title>Ajouter un fichier au dépôt</title>
531
<body>
534
<body>
532
    <p>
535
    <p>
533
        Il est vraiment facile d'ajouter un fichier source au CVS. En premier lieu,
536
        Il est vraiment facile d'ajouter un fichier source au CVS. En premier lieu,
534
        vous devez créer le fichier en question, puis taper la commande suivante :
537
        vous devez créer le fichier en question, puis, tapez la commande suivante :
535
    </p>
538
    </p>
536
<pre>
539
<pre>
537
# <i>cvs add myfile.c</i>
540
# <i>cvs add myfile.c</i>
538
cvs server: use 'cvs commit' to add this file permanently
541
cvs server: use 'cvs commit' to add this file permanently
539
</pre>
542
</pre>
540
    <p>
543
    <p>
541
        Ceci va dire à cvs d'ajouter ce fichier au repository la prochaine fois
544
        Ceci va dire à cvs d'ajouter ce fichier au dépôt la prochaine fois
542
        que vous ferez un "cvs commit". Jusqu'à ce moment, les autres développeurs
545
        que vous ferez un «&nbsp;cvs commit&nbsp;». Jusqu'à ce moment, les autres développeurs
543
        ne pourront pas le voir.
546
        ne pourront pas le voir.
544
    </p>
547
    </p>
545
</body>
548
</body>
546
</section>
549
</section>
547
550
548
<section>
551
<section>
549
<title>Ajouter un répertoire au repository</title>
552
<title>Ajouter un répertoire au dépôt</title>
550
<body>
553
<body>
551
    <p>
554
    <p>
552
        Pour ajouter un répertoire, la procédure est similaire :
555
        Pour ajouter un répertoire, la procédure est similaire :
Lines 554-578 Link Here
554
<pre>
557
<pre>
555
# <i>mkdir foo</i>
558
# <i>mkdir foo</i>
556
# <i>cvs add foo</i>
559
# <i>cvs add foo</i>
557
Directory /home/cvsroot/mycode/foo added to the repository   
560
Directory /home/cvsroot/mycode/foo added to the dépôt   
558
</pre>
561
</pre>
559
    <p>
562
    <p>
560
        A la différence d'un ajout de fichier, lorsque vous ajoutez un répertoire,
563
        À la différence d'un ajout de fichier, lorsque vous ajoutez un répertoire,
561
        il apparaît immédiatement dans le repository, le "commit" n'est pas requis.
564
        il apparaît immédiatement dans le dépôt, le «&nbsp;commit&nbsp;» n'est pas requis.
562
        Une fois le répertoire local ajouté au repository, vous allez remarquer
565
        Une fois le répertoire local ajouté au dépôt, vous allez remarquer
563
        qu'un répertoire "CVS" y est créé pour y stocker les informations CVS.
566
        qu'un répertoire «&nbsp;cvs&nbsp;» y est créé pour y stocker les informations CVS.
564
        Ainsi, vous pouvez facilement savoir si un répertoire a été
567
        Ainsi, vous pouvez facilement savoir si un répertoire a été
565
        ajouté à cvs en regardant si il contient un répertoire "CVS".
568
        ajouté à cvs en regardant s'il contient un répertoire «&nbsp;CVS&nbsp;».
566
    </p>
569
    </p>
567
</body>
570
</body>
568
</section>
571
</section>
569
572
570
<section>
573
<section>
571
<title>Remarques sur "cvs add"</title>
574
<title>Remarques sur «&nbsp;cvs add&nbsp;»</title>
572
<body>
575
<body>
573
    <p>
576
    <p>
574
        Comme vous pouvez le deviner, avant d'ajouter un fichier ou un répertoire
577
        Comme vous pouvez le deviner, avant d'ajouter un fichier ou un répertoire
575
        au repository, vous devez bien vérifier que son répertoire parent lui
578
        au dépôt, vous devez bien vérifier que son répertoire parent lui
576
        a déjà été ajouté. Sinon, vous aurez l'erreur suivante :
579
        a déjà été ajouté. Sinon, vous aurez l'erreur suivante :
577
    </p>
580
    </p>
578
<pre>
581
<pre>
Lines 584-596 Link Here
584
</section>
587
</section>
585
588
586
<section>
589
<section>
587
<title>Se familiariser avec "cvs update", partie 1</title>
590
<title>Se familiariser avec «&nbsp;cvs update&nbsp;», partie 1</title>
588
<body>
591
<body>
589
    <p>
592
    <p>
590
        Avant de s'occuper de la résolution des conflits, familiarisons-nous avec
593
        Avant de s'occuper de la résolution des conflits, familiarisons-nous avec
591
        les sorties de la commande "cvs update". Si vous créez un fichier ~/.cvsrc
594
        les sorties de la commande «&nbsp;cvs update&nbsp;». Si vous créez un fichier ~/.cvsrc
592
        qui contient la ligne "cvs -q", vous allez trouver les sorties de "cvs update"
595
        qui contient la ligne «&nbsp;cvs -q&nbsp;», vous allez trouver les sorties de «&nbsp;cvs update&nbsp;»
593
        beaucoup plus faciles à lire. "cvs update" vous informe de ce qu'il fait,
596
        beaucoup plus faciles à lire. «&nbsp;cvs update&nbsp;» vous informe de ce qu'il fait,
594
        représentant ses actions par un caractère, un espace et un nom de fichier.
597
        représentant ses actions par un caractère, un espace et un nom de fichier.
595
        Par exemple :
598
        Par exemple :
596
</p><pre>
599
</p><pre>
Lines 603-616 Link Here
603
</section>
606
</section>
604
607
605
<section>
608
<section>
606
<title>Se familiariser avec "cvs update", partie 2</title>
609
<title>Se familiariser avec «&nbsp;cvs update&nbsp;», partie 2</title>
607
<body>
610
<body>
608
    <p>
611
    <p>
609
        "cvs update" utilise le caractère "?" pour vous signifier qu'il ne sait rien
612
        «&nbsp;cvs update&nbsp;» utilise le caractère «&nbsp;?&nbsp;» pour vous 
610
        sur ce fichier là, fichier qu'il trouve dans votre copie locale, mais pas
613
        signifier qu'il ne sait rien sur les fichiers qu'il retrouve dans 
611
        sur le repository. Ces fichiers ne font pas partie du repository distant,
614
        votre copie locale mais pas sur le dépôt. Ces fichiers ne font pas 
612
        et n'ont pas non plus été prévus pour être ajoutés au repository.
615
        partie du dépôt distant, et n'ont pas non plus été prévus pour être 
613
        Voici une liste de tous les messages possibles que CVS utilise :
616
        ajoutés au dépôt. Voici une liste de tous les messages possibles que CVS 
617
        utilise :
614
    </p>
618
    </p>
615
<pre>
619
<pre>
616
U [path]
620
U [path]
Lines 623-658 Link Here
623
A [path]
627
A [path]
624
</pre>
628
</pre>
625
    <p>
629
    <p>
626
        L'ajout de ce fichier au repository a été programmé et sera officiellement ajouté
630
        L'ajout de ce fichier au dépôt a été programmé et sera officiellement ajouté
627
        quand vous ferez un "cvs commit".
631
        quand vous ferez un «&nbsp;cvs commit&nbsp;».
628
    </p>
632
    </p>
629
</body>
633
</body>
630
</section>
634
</section>
631
635
632
636
633
<section>
637
<section>
634
<title>Se familiariser avec "cvs update", partie 3</title>
638
<title>Se familiariser avec «&nbsp;cvs update&nbsp;», partie 3</title>
635
<body>
639
<body>
636
<pre>
640
<pre>
637
R [path]
641
R [path]
638
</pre>
642
</pre>
639
    <p>
643
    <p>
640
        A l'image de "A", "R" vous indique que la suppression de ce fichier a été prévue.
644
        À l'image de «&nbsp;A&nbsp;», «&nbsp;R&nbsp;» vous indique que la 
641
        Ce fichier sera effectivement retiré dès que vous aurez fait un "cvs commit".
645
        suppression de ce fichier a été prévue. Ce fichier sera effectivement 
646
        retiré dès que vous aurez fait un «&nbsp;cvs commit&nbsp;».
642
    </p>
647
    </p>
643
<pre>
648
<pre>
644
M [path]
649
M [path]
645
</pre>
650
</pre>
646
    <p>
651
    <p>
647
        Cela signifie que ce fichier a été modifié par vous. Il est possible
652
        Cela signifie que ce fichier a été modifié par vous. Il est possible
648
        que des modifications aient été fusionnées dans ce fichier sans conflits.
653
        que des modifications aient été fusionnées dans ce fichier sans conflit.
649
    </p>
654
    </p>
650
<pre>
655
<pre>
651
C [path]
656
C [path]
652
</pre>
657
</pre>
653
    <p>
658
    <p>
654
        Le caractère "C" indique que ce fichier présente des conflits et nécessite une
659
        Le caractère «&nbsp;C&nbsp;» indique que ce fichier présente des conflits 
655
    intervention manuelle avant de réaliser votre "commit".
660
        et nécessite une intervention manuelle avant de réaliser votre 
661
        «&nbsp;commit&nbsp;».
656
    </p>
662
    </p>
657
</body>
663
</body>
658
</section>
664
</section>
Lines 664-672 Link Here
664
        Désormais, occupons-nous de résoudre ces conflits. Je suis assez impliqué dans
670
        Désormais, occupons-nous de résoudre ces conflits. Je suis assez impliqué dans
665
        le projet Gentoo-Linux et nous avons notre propre serveur cvs configuré
671
        le projet Gentoo-Linux et nous avons notre propre serveur cvs configuré
666
        sur cvs.gentoo.org. Nous autres, développeurs, passons la majorité de notre
672
        sur cvs.gentoo.org. Nous autres, développeurs, passons la majorité de notre
667
        temps à hacker les sources du module "gentoo-x86" et nous avons ajouté un fichier
673
        temps à hacker les sources du module «&nbsp;gentoo-x86&nbsp;» et nous avons ajouté un 
668
        appelé "ChangeLog" qui contient (vous l'aurez deviné) les modifications majeures
674
        fichier appelé «&nbsp;ChangeLog&nbsp;» qui contient (vous l'aurez deviné) les 
669
        que nous avons faites sur le repository.
675
        modifications majeures que nous avons faites sur le dépôt.
670
    </p>
676
    </p>
671
</body>
677
</body>
672
</section>
678
</section>
Lines 686-693 Link Here
686
J'ai ajouté ce commentaire
692
J'ai ajouté ce commentaire
687
</pre>
693
</pre>
688
    <p>
694
    <p>
689
        Imaginons qu'avant que je ne fasse un "commit" de ces trois nouvelles lignes,
695
        Imaginons qu'avant que je ne fasse un «&nbsp;commit&nbsp;» de ces trois nouvelles 
690
        un développeur avait déja ajouté les lignes suivantes au début du Changelog et
696
        lignes, un développeur avait déja ajouté les lignes suivantes au début du Changelog et
691
        envoyé ses modifications :
697
        envoyé ses modifications :
692
    </p>
698
    </p>
693
<pre>
699
<pre>
Lines 702-711 Link Here
702
<title>Une exemple de conflit, suite</title>
708
<title>Une exemple de conflit, suite</title>
703
<body>
709
<body>
704
    <p>
710
    <p>
705
        Maintenant, lorsque je fais un "cvs update -dP" (comme il faut le faire avant
711
        Maintenant, lorsque je fais un «&nbsp;cvs update -dP&nbsp;» (comme il faut 
706
        chaque commit), cvs n'est pas capable de fusionner ces modifications sur ma
712
        le faire avant chaque commit), cvs n'est pas capable de fusionner ces modifications sur 
707
        copie locale du ChangeLog parce que nous avons tous les deux ajouté des lignes
713
        ma copie locale du ChangeLog parce que nous avons tous les deux ajouté des lignes
708
        dans la même partie du fichier. Cvs ne sait alors pas quelle partie utiliser.
714
        dans la même partie du fichier. CVS ne sait alors pas quelle partie utiliser.
709
        Ainsi, j'ai l'erreur suivante :
715
        Ainsi, j'ai l'erreur suivante :
710
    </p>
716
    </p>
711
<pre>
717
<pre>
Lines 725-731 Link Here
725
<body>
731
<body>
726
    <p>
732
    <p>
727
        Ahhh, un conflit ! Heureusement, résoudre un conflit est facile. Si je lance
733
        Ahhh, un conflit ! Heureusement, résoudre un conflit est facile. Si je lance
728
        mon éditeur favori, je vois le texte suivant au début du fichier "ChangeLog" :
734
        mon éditeur favori, je vois le texte suivant au début du fichier 
735
        «&nbsp;ChangeLog&nbsp;» :
729
    </p>
736
    </p>
730
<pre>
737
<pre>
731
&lt;&lt;&lt;&lt;&lt;&lt;&lt; ChangeLog
738
&lt;&lt;&lt;&lt;&lt;&lt;&lt; ChangeLog
Lines 758-771 Link Here
758
<pre>
765
<pre>
759
date 25 Feb 2001
766
date 25 Feb 2001
760
767
761
This is the thing I added myself
768
J'ai ajouté ce commentaire
762
769
763
This is the part added by another developer
770
Un autre développeur a ajouté ce commentaire
764
</pre>
771
</pre>
765
    <p>
772
    <p>
766
        Maintenant que j'ai remplacé les régions conflictuelles du fichier avec le texte
773
        Maintenant que j'ai remplacé les régions conflictuelles du fichier avec le texte
767
        approprié (et supprimé les "=======" et autres marqueurs), je peux faire
774
        approprié (et supprimé les «&nbsp;=======&nbsp;» et autres marqueurs), je peux faire
768
        un "commit" sans aucun problème.
775
        un «&nbsp;commit&nbsp;» sans aucun problème.
769
    </p>
776
    </p>
770
</body>
777
</body>
771
</section>
778
</section>
Lines 774-788 Link Here
774
<title>Astuces pour résoudre les conflits</title>
781
<title>Astuces pour résoudre les conflits</title>
775
<body>
782
<body>
776
    <p>
783
    <p>
777
        A chaque fois que vous avez besoin d'éditer un fichier pour régler
784
        À chaque fois que vous avez besoin d'éditer un fichier pour régler
778
        des conflits, vérifiez que vous avez bien parcouru tout le fichier
785
        des conflits, vérifiez que vous avez bien parcouru tout le fichier
779
        de telle manière que vous n'ayez rien oublié. Sinon, cvs n'autorisera
786
        de telle manière que vous n'ayez rien oublié. Sinon, cvs n'autorisera
780
        pas votre "commit" et ce jusqu'à ce que le conflit soit résolu.
787
        pas votre «&nbsp;commit&nbsp;» et ce jusqu'à ce que le conflit soit résolu.
781
        Il est donc très important d'enlever les marqueurs spéciaux que
788
        Il est donc très important d'enlever les marqueurs spéciaux que
782
        cvs a ajoutés aux fichiers conflictueux. Autre astuce : si vous avez
789
        cvs a ajoutés aux fichiers conflictuels. Autre astuce : si vous avez
783
        fait une erreur en essayant de résoudre un conflit et que 
790
        fait une erreur en essayant de résoudre un conflit et que 
784
        vous avez accidentellement enregistré vos modifications, vous pouvez retrouver la copie
791
        vous avez accidentellement enregistré vos modifications, vous pouvez retrouver la copie
785
        originale du fichier dans le fichier ".#nom_du_fichier.version".
792
        originale du fichier dans le fichier «&nbsp;.#nom_du_fichier.version&nbsp;».
786
    </p>
793
    </p>
787
</body>
794
</body>
788
</section>
795
</section>
Lines 792-800 Link Here
792
<body>
799
<body>
793
    <p>
800
    <p>
794
        Maintenant, il est temps de découvrir notre dernière commande cvs : supprimer un
801
        Maintenant, il est temps de découvrir notre dernière commande cvs : supprimer un
795
        fichier du repository. Supprimer un fichier se fait en deux étapes. Il
802
        fichier du dépôt. Supprimer un fichier se fait en deux étapes. Il
796
        faut commencer par supprimer le fichier de votre copie des sources, puis
803
        faut commencer par supprimer le fichier de votre copie des sources, puis
797
        exécuter la commande "cvs remove" sur ce fichier :
804
        exécuter la commande «&nbsp;cvs remove&nbsp;» sur ce fichier :
798
    </p>
805
    </p>
799
<pre>
806
<pre>
800
# <i>rm myoldfile.c</i>
807
# <i>rm myoldfile.c</i>
Lines 808-825 Link Here
808
<body>
815
<body>
809
    <p>
816
    <p>
810
        La suppression du fichier est alors prévue par cvs et sera effective
817
        La suppression du fichier est alors prévue par cvs et sera effective
811
        lors de votre prochain "commit". Une fois le "commit" réalisé, le fichier
818
        lors de votre prochain «&nbsp;commit&nbsp;». Une fois le 
812
        sera officiellement supprimé du repository distant. Pourtant, cvs
819
        «&nbsp;commit&nbsp;» réalisé, le fichier sera officiellement supprimé du 
813
        ne va pas faire disparaître ce fichier et va garder un enregistrement
820
        dépôt distant. Pourtant, cvs ne va pas faire disparaître ce fichier et va 
814
        complet de son contenu et de son historique au cas où vous en auriez
821
        garder un enregistrement complet de son contenu et de son historique au 
815
        besoin dans le futur. C'est juste un des nombreux moyens utilisés par cvs
822
        cas où vous en auriez besoin dans le futur. C'est juste un des nombreux 
816
        pour protéger votre code.
823
        moyens utilisés par cvs pour protéger votre code.
817
    </p>
824
    </p>
818
    <p>
825
    <p>
819
        "cvs remove" est récursif, ce qui signifie que vous pouvez supprimer
826
        «&nbsp;cvs remove&nbsp;» est récursif, ce qui signifie que vous pouvez supprimer
820
        un paquet de fichiers et lancer la commande "cvs remove" sans autre argument
827
        un ensemble de fichiers et lancer la commande «&nbsp;cvs remove&nbsp;» sans autre 
821
        depuis un répertoire parent. Ceci va marquer tous les fichiers supprimés
828
        argument depuis un répertoire parent. Ceci va marquer tous les fichiers supprimés
822
        comme "à supprimer" lors du prochain "commit".
829
        comme «&nbsp;à supprimer&nbsp;» lors du prochain «&nbsp;commit&nbsp;».
823
    </p>
830
    </p>
824
</body>
831
</body>
825
</section>
832
</section>
Lines 829-836 Link Here
829
<body>
836
<body>
830
    <p>
837
    <p>
831
        Si vous voulez supprimer un répertoire complet, je vous recommande la méthode
838
        Si vous voulez supprimer un répertoire complet, je vous recommande la méthode
832
        suivante. Tout d'abord supprimez chaque fichier du répertoire et faites un
839
        suivante. Tout d'abord, supprimez chaque fichier du répertoire et faites un
833
        "cvs remove" :
840
        «&nbsp;cvs remove&nbsp;» :
834
    </p>
841
    </p>
835
<pre>
842
<pre>
836
# <i>rm *.c</i>
843
# <i>rm *.c</i>
Lines 843-849 Link Here
843
<title>Supprimer un répertoire, suite</title>
850
<title>Supprimer un répertoire, suite</title>
844
<body>
851
<body>
845
    <p>
852
    <p>
846
        Ensuite, faites un "commit" :
853
        Ensuite, faites un «&nbsp;commit&nbsp;» :
847
    </p>
854
    </p>
848
<pre>
855
<pre>
849
# cvs commit
856
# cvs commit
Lines 857-864 Link Here
857
# <i>rm -rf mydir</i>
864
# <i>rm -rf mydir</i>
858
</pre>
865
</pre>
859
    <p>
866
    <p>
860
        Remarquez que supprimer un répertoire ne nécessite pas un autre "commit". L'ajout
867
        Remarquez que supprimer un répertoire ne nécessite pas un autre «&nbsp;commit&nbsp;». 
861
        et la suppression de répertoires sur le repository distant se font en temps réel.
868
        L'ajout et la suppression de répertoires sur le dépôt distant se font en temps réel.
862
    </p>
869
    </p>
863
</body>
870
</body>
864
</section>
871
</section>
Lines 869-894 Link Here
869
    <p>
876
    <p>
870
        Votre introduction à CVS est terminée. J'espère que ce tutoriel vous a été utile.
877
        Votre introduction à CVS est terminée. J'espère que ce tutoriel vous a été utile.
871
        Il y a bien d'autres choses à savoir sur CVS, que je n'ai pu couvrir dans cette
878
        Il y a bien d'autres choses à savoir sur CVS, que je n'ai pu couvrir dans cette
872
        introduction, mais heureusement, les nombreuses documentations disponibles
879
        introduction, mais heureusement, la volumineuse documentation disponible
873
        vous aideront à étendre vos connaissances sur CVS :
880
        vous aidera à étendre vos connaissances sur CVS :
874
    </p>
881
    </p>
875
    <p>
882
    <p>
876
        <ul>
883
        <ul>
877
            <li><uri>http://www.cvshome.org</uri> est la page principale du développement de CVS
884
            <li><uri>http://www.cvshome.org</uri> est la page principale du développement de CVS
878
                et offre une foule de documentation sur CVS, en particulier la
885
                et offre beaucoup de documentation sur CVS, en particulier la
879
                <uri link="http://www.cvshome.org/docs/manual">documentation officielle de CVS "online"</uri>.
886
                <uri link="http://www.cvshome.org/docs/manual">documentation officielle en ligne de CVS</uri>.
880
            </li>
887
            </li>
881
            <li>Le site <uri link="http://www.durak.org/cvswebsites/">"CVS Version Control for Web Site Projects"</uri>
888
            <li>Le site <uri link="http://www.durak.org/cvswebsites/">CVS Version Control for Web Site Projects</uri>
882
                propose de bonnes informations sur comment utiliser CVS pour développer des sites Web.
889
                propose de bonnes informations sur comment utiliser CVS pour développer des sites Web.
883
            </li>
890
            </li>
884
            <li>Karl Fogel a écrit un livre intitulé <uri link="http://cvsbook.red-bean.com/">Open Source Development with CVS</uri>.
891
            <li>Karl Fogel a écrit un livre intitulé <uri link="http://cvsbook.red-bean.com/">Open Source Development with CVS</uri>.
885
                Certains chapitres de ce livre sont disponibles sur le site.
892
                Certains chapitres de ce livre sont disponibles sur le site.
886
            </li>
893
            </li>
887
            <li><uri link="http://www.freebsd.org/projects/cvsweb.html">cvsweb</uri> est un script
894
            <li><uri link="http://www.freebsd.org/projects/cvsweb.html">cvsweb</uri> est un script
888
                CGI merveilleux qui fournit une interface web vers votre repository. Excellent pour le parcours rapide.
895
                CGI merveilleux qui fournit une interface web vers votre dépôt. Excellent pour le parcours rapide.
889
            </li>
896
            </li>
890
            <li>Le site <uri link="http://www.loria.fr/~molli/cvs-index.html">CVS Bubbles</uri> 
897
            <li>Le site <uri link="http://www.loria.fr/~molli/cvs-index.html">CVS Bubbles</uri> 
891
                propose aussi de nombreuses informations dont "CVS FAQ-o-matic".
898
                propose aussi de nombreuses informations dont «&nbsp;CVS FAQ-o-matic&nbsp;».
892
            </li>
899
            </li>
893
        </ul>
900
        </ul>
894
    </p>
901
    </p>

Return to bug 43324