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 « check |
19 |
out" des dernières sources d'un logiciel donné ou que vous l'utilisiez en tant |
19 |
out » 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 ; 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 « CVS |
56 |
clients cvs et les outils associés, les développeurs peuvent faire des modifications |
56 |
repository »). 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 « liant organisationnel » 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 « :pserver: » 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 à « ssh », 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 « standard » |
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 « checkout » |
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 : <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 « checkout » (« co ») 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 (« -z5 ») 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 « U [fichier] », ce qui indique que ce fichier a bien |
289 |
(Updated). |
291 |
été mis à jour sur le disque (« Updated »). |
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 « checkout »</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 « checkout » terminé, vous aurez un répertoire |
299 |
répertoire courant. Remarquez d'ailleurs que chaque répertoire contient |
301 |
« samba » 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 « cvs » - 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 « cvs » 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 « checkout ». |
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 « CVS » 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 « samba ») 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>« cvs update » 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 « U [fichier] » |
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 |
« ? [fichier] » ; 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>« cvs update » 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 « cvs update ». |
348 |
"-d" demande à cvs de créer chez vous les nouveaux répertoires qui ont pu être |
350 |
« -d » 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 « -P » |
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 |
« -P » 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 « commit » 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, « cvs update » 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 « commit » 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 « commit »</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 « cvs update -dP » (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 (« up-to-date ») 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 « commit » 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 « commit »</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 |
« cvs commit » 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 (« logs »)</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 « commit ». 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 |
« cvs log » 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 « commit »</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 « cvs commit ». 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 « cvs update » 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 |
« cvs update » au lieu de « cvs update -dP » (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 « cvs commit ». 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 « commit » 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 « cvs » 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 « CVS ». |
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 « cvs add »</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 « cvs update », 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 « cvs update ». 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 « cvs -q », vous allez trouver les sorties de « cvs update » |
593 |
beaucoup plus faciles à lire. "cvs update" vous informe de ce qu'il fait, |
596 |
beaucoup plus faciles à lire. « cvs update » 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 « cvs update », 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 |
« cvs update » utilise le caractère « ? » 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 « cvs commit ». |
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 « cvs update », 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 « A », « R » 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 « cvs commit ». |
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 « C » 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 |
« commit ». |
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 « gentoo-x86 » et nous avons ajouté un |
668 |
appelé "ChangeLog" qui contient (vous l'aurez deviné) les modifications majeures |
674 |
fichier appelé « ChangeLog » 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 « commit » 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 « cvs update -dP » (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 |
« ChangeLog » : |
729 |
</p> |
736 |
</p> |
730 |
<pre> |
737 |
<pre> |
731 |
<<<<<<< ChangeLog |
738 |
<<<<<<< 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 « ======= » et autres marqueurs), je peux faire |
768 |
un "commit" sans aucun problème. |
775 |
un « commit » 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 « commit » 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 « .#nom_du_fichier.version ». |
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 « cvs remove » 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 « commit ». Une fois le |
812 |
sera officiellement supprimé du repository distant. Pourtant, cvs |
819 |
« commit » 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 |
« cvs remove » 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 « cvs remove » 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 « à supprimer » lors du prochain « commit ». |
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 |
« cvs remove » : |
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 « commit » : |
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 « commit ». |
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 « CVS FAQ-o-matic ». |
892 |
</li> |
899 |
</li> |
893 |
</ul> |
900 |
</ul> |
894 |
</p> |
901 |
</p> |