--- ../cvs-tutorial.xml 2004-02-26 20:51:11.000000000 -0500 +++ cvs-tutorial.xml 2004-02-29 17:47:50.827737472 -0500 @@ -4,7 +4,7 @@ Tutoriel CVS de Gentoo Linux - Daniel Robbins + Daniel Robbins Pierre Habouzit Camille Huot Xavier Neys @@ -15,8 +15,8 @@ développer des logiciels de façon collaborative dans un environnement souple. Destiné aux utilisateurs débutants de CVS, ce tutoriel va permettre à la fois aux utilisateurs occasionnels et aux nouveaux développeurs de travailler -beaucoup plus efficacement. Que vous désiriez utiliser CVS pour faire un "check -out" des dernières sources d'un logiciel donné ou que vous l'utilisiez en tant +beaucoup plus efficacement. Que vous désiriez utiliser CVS pour faire un « check +out » des dernières sources d'un logiciel donné ou que vous l'utilisiez en tant que développeur expérimenté, ce tutoriel est fait pour vous. @@ -29,17 +29,17 @@ Introduction
-Organisation du Tutoriel +Organisation du tutoriel

Ce tutoriel est découpé en deux parties. La première explique comment utiliser CVS - lorsqu'on n'est + lorsque l'on n'est pas développeur, c'est-à-dire comment récupérer des sources CVS et les garder à jour. La seconde partie vous présente comment utiliser CVS pour développer en vous montrant - comment modifier, ajouter, retirer des fichiers sur CVS, ainsi que comment réaliser plein + comment modifier, ajouter, retirer des fichiers sur CVS, ainsi que comment réaliser bien d'autres tâches de développeurs. Si vous ne connaissez rien à CVS, il est recommandé de commencer par lire la première partie, - puis la seconde ; si vous avez une petite expérience de CVS, mais que vous allez l'utiliser + puis la seconde ; si vous avez une petite expérience de CVS, mais que vous allez l'utiliser en tant que véritable développeur pour la première fois, vous trouverez votre bohneur dans la seconde partie (mais vous pouvez aussi avoir envie de parcourir rapidement la première partie). @@ -52,13 +52,13 @@

CVS est un système client/serveur qui permet aux développeurs de conserver - leurs projets sur un serveur central appelé repository. En utilisant les - clients cvs et les outils associés, les développeurs peuvent faire des modifications - du contenu sur le serveur. En fait, le repository cvs conserve chaque changement - fait sur chaque fichier créant ainsi un historique complet de toute l'évolution - du développement du projet. Les développeurs peuvent demander des versions antérieures - d'un fichier particulier, regarder un historique des modifications et réaliser au besoin - plusieurs autres actions utiles. + leurs projets sur un serveur central appelé dépôt (en anglais « CVS + repository »). En utilisant les clients CVS et les outils associés, les + développeurs peuvent faire des modifications du contenu sur le serveur. En fait, le + dépôt CVS conserve chaque changement fait sur chaque fichier, créant ainsi un + historique complet de toute l'évolution du développement du projet. Les développeurs + peuvent demander des versions antérieures d'un fichier particulier, regarder un + historique des modifications et réaliser au besoin plusieurs autres actions utiles.

@@ -67,27 +67,29 @@ Le rôle de CVS

- Un nombre conséquent de projets ont leur propre serveur CVS qui est utilisé + Un nombre considérable de projets ont leur propre serveur CVS qui est utilisé par les développeurs du projet comme répertoire central pour tous leurs travaux. - Les développeurs apportent quotidiennement des améliorations aux sources dans le repository CVS. + Les développeurs apportent quotidiennement des améliorations aux sources dans le dépôt + CVS. Souvent, ces développeurs sont dispersés dans le monde entier; CVS leur fournit ainsi les mécanismes nécessaires pour unifier leur projet dans une structure centralisée - et cohérente. CVS crée le "liant organisationnel" qui permet à ces développeurs - d'améliorer leur code sans se marcher sur les pieds, sans perdre des données importantes - ou sans être bloqués par l'impossiblité de mettre à jour certains fichiers critiques. + et cohérente. CVS crée le « liant organisationnel » qui permet à ces + développeurs d'améliorer leur code sans se marcher sur les pieds, sans perdre des + données importantes ou sans être bloqués par l'impossiblité de mettre à jour certains + fichiers critiques.

-CVS -- les dernières sources du programmeur +CVS - les dernières sources du programmeur

Quand les programmeurs sont prêts, ils archivent la version actuelle de leur travail sur CVS dans un fichier tar.gz et publient celui-ci comme une nouvelle version de leur logiciel. Pourtant, parfois, la dernière version officielle n'est pas assez récente pour vous pour diverses raisons. Dans la première partie - de ce tutoriel, je vais vous montrer comment utiliser CVS dans ce but : récupérer + de ce tutoriel, nous verrons comment utiliser CVS dans ce but : récupérer la version de développement la plus récente et la plus complète des sources pour votre usage personnel.

@@ -95,18 +97,18 @@
-CVS -- l'avez vous ? +CVS - l'avez vous ?

Avant que vous ne puissiez utiliser CVS, vous devez l'installer sur votre système. - Le moyen le plus simple de vérifier si cvs est installé chez vous est de taper : + Le moyen le plus simple de vérifier si CVS est installé sur votre système est de taper :

 # cvs
 

- Si la commande cvs est trouvée, alors c'est bon. Sinon, vous devez soit récupérer - un paquet de binaires pour votre distribution, soit l'installer depuis les sources. + Si la commande cvs est trouvée, alors vous l'avez. Sinon, vous devez soit récupérer + un paquet binaire pour votre distribution, soit l'installer depuis les sources. Installer CVS depuis les sources est plutôt simple et je vous montre comment le faire ci-dessous.

@@ -120,7 +122,7 @@

Installer CVS depuis les sources est facile. Tout d'abord, récupérez le tarball cvs-1.11.tar.gz depuis ftp://ftp.cvshome.org/pub/cvs-1.11/cvs-1.11.tar.gz - (si il y a une version plus récente répertoriée ici, + (s'il y a une version plus récente répertoriée ici, vous pouvez aussi bien récupérer la nouvelle à la place). Ensuite, procédez comme suit (la sortie standard a été omise) :

@@ -158,14 +160,14 @@ Le CVSROOT

- Avant de commencer, il y a quelques fondamentaux à connaître. Le premier est que - pour se connecter sur un repository CVS, vous devez tout d'abord renseigner un chemin + Avant de commencer, il y a quelques notions fondamentales à connaître. La première est + que pour se connecter sur un dépôt CVS, vous devez tout d'abord paramétrer un chemin appelé le CVSROOT (la racine CVS). CVSROOT est une chaîne de caractères, un peu comme - une URL, qui dit à la commande cvs où se trouve le repository distante et comment - on aimerait s'y connecter. Juste pour rendre les choses plus intéressantes, CVS supporte - de nombreux formats pour CVSROOT, dépendant du fait que le repository soit local ou - distant, et dépendant de la méthode utilisée pour s'y connecter. Voici quelques - exemples de CVSROOT avec des explications ... + une URL, qui dit à la commande cvs où se trouve le dépôt distant et comment + on souhaite s'y connecter. Pour rendre les choses plus intéressantes, CVS supporte + de nombreux formats pour CVSROOT, selon que le dépôt est local ou + distant, et dépendamment de la méthode utilisée pour s'y connecter. Voici quelques + exemples de CVSROOT avec des explications...

@@ -176,9 +178,9 @@
CVSROOT=/home/cvsroot

C'est un exemple de chemin pour une racine CVS locale. Vous devriez utiliser - une telle variable si vous voulez vous connecter à un repository local - situé en /home/cvsroot; ou bien, vous pouvez aussi avoir un repository local - monté via NFS en /home/cvsroot. + une telle variable si vous voulez vous connecter à un dépôt local + situé dans /home/cvsroot; ou bien, vous pouvez aussi avoir un dépôt local + monté via NFS sur /home/cvsroot.

@@ -188,9 +190,9 @@
CVSROOT=:pserver:cvs@foo.bar.com:/home/cvsroot

- Ceci est un exemple de CVSROOT pour un repository existant sur l'hôte + Ceci est un exemple de CVSROOT pour un dépôt existant sur l'hôte foo.bar.com et qui réside dans le /home/cvsroot de cette machine. - La partie ":pserver:" indique à notre client qu'il doit se connecter + La partie « :pserver: » indique à notre client qu'il doit se connecter à cette machine distante en utilisant le protocole pserver, un protocole incorporé à CVS. Typiquement, les répertoires CVS publics utilisent des pserver pour autoriser l'accès à des utilisateurs anonymes. @@ -199,16 +201,16 @@

-Une racine CVS avec accès distant par rsh/ssh +Une racine CVS avec accès distant par RSH/SSH
CVSROOT=drobbins@foo.bar.com:/data/cvs

Ceci est un exemple de CVSROOT qui utilise le protocole RSH ou SSH. - Dans cet exemple, le CVS va accéder au repository sur - foo.bar.com via le compte drobbins. Si la variable d'environnement - est positionnée à "ssh", le client cvs va utiliser ssh pour se connecter, - sinon, rsh est utilisé par défaut. L'accès par ssh est plus populaire chez - ceux qui aiment la sécurité, mais ni rsh, ni ssh ne permettent l'accès + Dans cet exemple, le CVS va accéder au dépôt sur + foo.bar.com via le compte drobbins. Si la variable d'environnement CVS_RSH + est réglée à « ssh », le client cvs va utiliser SSH pour se connecter, + sinon, RSH est utilisé par défaut. L'accès par SSH est plus populaire chez + ceux qui aiment la sécurité, mais ni RSH, ni SSH ne permettent l'accès anonyme aux sources. Pour utiliser cette méthode, il faut absolument avoir un compte sur foo.bar.com.

@@ -222,7 +224,7 @@ En plus de la racine CVS, vous allez avoir besoin du nom du module (groupe de sources) que vous voulez récupérer ainsi que le mot de passe anonyme que vous devez utiliser pour vous connecter au serveur CVS. - À l'inverse des ftp anonymes, il n'y a pas de format "standard" + À l'inverse des ftp anonymes, il n'y a pas de format « standard » pour les mots de passe anonymes, il faudra donc récupérer les mots de passe spécifiques publiés sur le site web du développeur ou le demander aux développeurs eux-mêmes. Avec ces informations, vous êtes prêt à commencer. @@ -236,17 +238,17 @@

Récupérer des sources se fait en deux temps. Tout d'abord, il faut se connecter au pserver. Ensuite, on récupère les sources avec la commande checkout. - Voici un exemple des commandes que l'on peut lancer pour faire un "checkout" + Voici un exemple des commandes que l'on peut lancer pour faire un « checkout » des dernières sources de Samba :

 # export CVSROOT=:pserver:cvs@pserver.samba.org:/cvsroot
 

- Cette première commande positionne la variable d'environnement CVSROOT. + Cette première commande règle la variable d'environnement CVSROOT. Si vous ne le faites pas, il faudra faire suivre, à chaque fois, la commande cvs - par l'option suivante : -d :pserver:cvs@pserver.samba.org:/cvsroot. - Exporter la variable CVSROOT permet d'éviter de l'encoder à chaque fois. + par l'option suivante : -d :pserver:cvs@pserver.samba.org:/cvsroot. + Exporter la variable CVSROOT permet d'éviter de la spécifier à chaque fois.

@@ -262,7 +264,7 @@
 # cvs login
 (Logging in to cvs@pserver.samba.org)
-CVS password: (taper le mot de passe ici)
+CVS password: (Tapez le mot de passe ici.)
 
 # cvs -z5 co samba
 U samba/COPYING
@@ -271,38 +273,38 @@
 U samba/Read-Manifest-Now
 U samba/Roadmap
 U samba/WHATSNEW.txt
-(c'est juste une partie de la sortie complète de la commande cvs co output)
+(C'est juste une partie de la sortie complète de la commande cvs co output.)
 
-Utiliser CVS -- l'explication +Utiliser CVS - l'explication

- La première commande cvs (ci-dessus) nous connecte au le pserver et la seconde - demande à notre client de faire un checkout ("co") du module samba en utilisant - une compression de type gzip de niveau 5 ("-z5") pour accélérer la transmission - sur une connexion lente. Pour chaque nouveau fichier créé localement, cvs affiche - "U [fichier]", ce qui indique que ce fichier a bien été mis à jour sur le disque - (Updated). + La première commande cvs (ci-dessus) nous connecte au pserver et la seconde + demande à notre client de faire un « checkout » (« co ») du module + samba en utilisant une compression de type gzip de niveau 5 (« -z5 ») pour + accélérer la transmission sur une connexion lente. Pour chaque nouveau fichier créé + localement, cvs affiche « U [fichier] », ce qui indique que ce fichier a bien + été mis à jour sur le disque (« Updated »).

-Fin du checkout +Fin du « checkout »

- Une fois le checkout terminé, vous aurez un répertoire "samba" dans votre - répertoire courant. Remarquez d'ailleurs que chaque répertoire contient - un nouveau répertoire "CVS" -- CVS y stocke plusieurs informations qui - peuvent être ignorées sans problème ici. A partir de maintenant, - nous n'avons plus à nous inquiéter que la variable CVSROOT soit positionnée - ou non, parce que les informations sur le repository sont stockées dans - ces fameux répertoires "CVS" supplémentaires. A savoir : CVSROOT n'est à - définir que pour la première connexion et le premier "checkout". + Une fois le « checkout » terminé, vous aurez un répertoire + « samba » dans votre répertoire courant. Remarquez d'ailleurs que chaque + répertoire contient un nouveau répertoire « cvs » - CVS y stocke plusieurs + informations qui peuvent être ignorées sans problème ici. À partir de maintenant, + nous n'avons plus à nous inquiéter que la variable CVSROOT soit réglée + ou non, parce que les informations sur le dépôt sont stockées dans + ces fameux répertoires « cvs » supplémentaires. À savoir : CVSROOT n'est à + définir que pour la première connexion et le premier « checkout ».

@@ -318,8 +320,8 @@ De temps en temps, vous pouvez avoir envie de synchroniser vos sources déjà récupérées avec la version actuelle sur CVS. Pour ce faire, vous n'avez pas besoin de vous connecter à nouveau au pserver; vos informations d'authentification sont mises en cache par cvs - dans les répertoires "CVS" dont j'ai parlé. Il suffit d'entrer dans le répertoire - principal des sources (dans notre cas "samba") et de taper : + dans les répertoires « CVS » dont j'ai parlé. Il suffit d'entrer dans le répertoire + principal des sources (dans notre cas « samba ») et de taper :

 # cvs update -dP
@@ -328,27 +330,27 @@
 
 
 
-"cvs update" en bref, partie 1 +« cvs update » en bref, partie 1

- Si il y a des nouveaux fichiers, cvs va afficher une ligne "U [fichier]" + S'il y a des nouveaux fichiers, cvs va afficher une ligne « U [fichier] » pour chaque fichier qu'il met à jour. Si vous avez déjà compilé les sources une fois, vous allez sans doute voir apparaître beaucoup de lignes - "? [fichier]" ; ce sont des fichiers que cvs signale qu'ils ne sont pas sur le - repository distant. + « ? [fichier] » ; c'est parce que cvs signale qu'ils ne sont pas + sur le dépôt distant.

-"cvs update" en bref, partie 2 +« cvs update » en bref, partie 2

- Remarquez d'ailleurs les deux options utilisées pour faire un "cvs update". - "-d" demande à cvs de créer chez vous les nouveaux répertoires qui ont pu être - ajoutés au repository (ce qui n'est pas le comportement par défaut), et "-P" + Remarquez d'ailleurs les deux options utilisées pour faire un « cvs update ». + « -d » demande à cvs de créer chez vous les nouveaux répertoires qui ont pu + être ajoutés au dépôt (ce qui n'est pas le comportement par défaut), et « -P » sert à supprimer tous les répertoires vides de votre copie locale des sources. - "-P" est une bonne idée puisque cvs a tendance à récupérer un bon nombre + « -P » est une bonne idée puisque cvs a tendance à récupérer un bon nombre de répertoires vides (utilisés à une époque, puis abandonnés).

@@ -366,12 +368,12 @@

En tant que développeur, vous devrez modifier des fichiers sur le serveur CVS. Pour ceci, - commencez par faire les changements désirés sur votre copie du repository. - Ces changements ne sont bien entendu pas répercutés sur le repository distant tant - que vous n'avez pas explicitement demandé à cvs de faire un "commit" de vos + commencez par faire les changements désirés sur votre copie du dépôt. + Ces changements ne se répercutent pas, bien entendu, sur le dépôt distant tant + que vous n'avez pas explicitement demandé à cvs de faire un « commit » de vos modifications. Lorsque vous avez suffisamment testé toutes vos modifications, que vous êtes sûr que tout fonctionne parfaitement, alors vous êtes prêt - à envoyer vos modifications sur le repository distant. Suivez bien les deux + à envoyer vos modifications sur le dépôt distant. Suivez bien les deux étapes. En premier lieu, mettez vos sources à jour, par la commande suivante :

@@ -384,19 +386,19 @@
 CVS fusionne les modifications des autres
 
     

- Comme on l'a vu plus tôt, "cvs update" va synchroniser vos sources avec - celles du repository distant. Mais que va-t-il se passer pour vos + Comme on l'a vu plus tôt, « cvs update » va synchroniser vos sources avec + celles du dépôt distant. Mais que va-t-il se passer pour vos modifications ? Rassurez-vous, elles ne seront pas perdues ! Si un autre développeur a modifié un fichier que vous n'avez pas modifié, votre fichier local sera mis à jour, et ainsi, tous les fichiers que vous n'aurez - pas touchés seront synchrones avec les fichiers du repository CVS. + pas touchés seront synchronisés avec les fichiers du dépôt CVS.

- De plus, si vous avez modifié les lignes 1 à 10 d'un fichier en local, et qu'un autre + De plus, si vous avez modifié localement les lignes 1 à 10 d'un fichier, et qu'un autre développeur a supprimé les lignes 40 à 50, ajouté 12 lignes à la fin de ce fichier, - puis réalisé un "commit" avant vous, alors cvs va réaliser une fusion intelligente - des modifications réalisées par l'autre développeur sur votre copie, et ainsi, - aucun travail n'est perdu. Cela permet à deux développeurs de travailler sur + puis réalisé un « commit » avant vous, alors cvs va réaliser une fusion + intelligente des modifications réalisées par l'autre développeur sur votre copie, et + ainsi, aucun travail n'est perdu. Cela permet à deux développeurs de travailler sur des parties distinctes d'un même fichier en même temps.

@@ -419,15 +421,15 @@
-Le "commit" +Le « commit »

Nous allons nous intéresser à la résolution des conflits un peu plus loin. - Mais pour l'instant, supposons qu'il n'y a pas eu de conflits à la sortie de - la commande "cvs update -dP" (ce qui est souvent le cas). Dans ce cas, vos - sources locales sont à jour (up-to-date) et vous êtes alors prêt à réaliser - le "commit" de vos sources. Il suffit de taper la commande suivante dans le - répertoire principal de vos sources : + Mais pour l'instant, supposons qu'il n'y a pas eu de conflit à la sortie de + la commande « cvs update -dP » (ce qui est souvent le cas). Dans ce cas, vos + sources locales sont à jour (« up-to-date ») et vous êtes alors prêt à + réaliser le « commit » de vos sources. Il suffit de taper la commande + suivante dans le répertoire principal de vos sources :

 # cvs commit
@@ -438,33 +440,34 @@
 
-Ce que fait le "commit" +Ce que fait le « commit »

- "cvs commit" ne fait pas qu'appliquer vos modifications sur le repository + « cvs commit » ne fait pas qu'appliquer vos modifications sur le dépôt distant. Avant de vraiment envoyer vos sources, cvs va ouvrir votre éditeur par défaut pour que vous puissiez écrire une courte description des changements réalisés. - Une fois ce commentaire saisi, enregistrez le fichier et quittez l'éditeur, vos - changements (et les commentaires associés) vont être appliqués au repository distant + Une fois ce commentaire saisi, enregistrez le fichier et quittez l'éditeur. Vos + changements (et les commentaires associés) vont être appliqués au dépôt distant et vont être disponibles pour les autres développeurs de l'équipe.

-Consulter les logs +Consulter les journaux (« logs »)

Il est vraiment très facile de consulter l'historique complet d'un fichier donné avec tous les commentaires que les développeurs (dont vous) ont pu - faire lorsqu'ils ont fait des "commit". Pour accéder à ces informations, faites : + faire lorsqu'ils ont fait des « commit ». Pour accéder à ces informations, + faites :

 # cvs log myfile.c
 

- "cvs log" est une commande récursive, donc pour consulter le log complet de toute - une arborescence d'un répertoire, allez dans le répertoire en question, et tapez : + « cvs log » est une commande récursive, donc pour consulter le log complet de + toute une arborescence d'un répertoire, allez dans le répertoire en question, et tapez :

 # cvs log | less
@@ -474,11 +477,11 @@
 
-Les options du "commit" +Les options du « commit »

Vous pourriez avoir envie d'utiliser un autre éditeur que celui que cvs utilise par défaut - lorsque vous faites un "cvs commit". Si c'est le cas, positionnez la variable d'environnement + lorsque vous faites un « cvs commit ». Si c'est le cas, réglez la variable d'environnement EDITOR sur le nom de votre éditeur favori. Mettre une telle ligne dans votre ~/.bashrc peut être une bonne idée :

@@ -500,9 +503,9 @@

Avant de continuer de découvrir d'autres commandes cvs, je vous recommande de créer - un fichier ~/.cvsrc. En le créant dans votre "home directory", vous pouvez dire à cvs - d'utiliser des options par défaut pour chaque commande cvs, et ainsi, vous n'avez pas - à vous rappeler de les taper à chaque fois. Voici un exemple de fichier .cvsrc : + un fichier ~/.cvsrc. En le créant dans votre répertoire personnel, vous pouvez dire à + cvs d'utiliser des options par défaut pour chaque commande cvs, et ainsi, vous n'avez + pas à vous rappeler de les taper à chaque fois. Voici un exemple de fichier .cvsrc :

 cvs -q
@@ -517,36 +520,36 @@
 Le fichier .cvsrc, suite
 
     

- En plus de pouvoir spécifier plein d'options utiles pour un grand nombre de + En plus de pouvoir spécifier plusieurs options utiles pour un grand nombre de commandes cvs, la première ligne du .cvsrc force le mode silencieux de cvs, ce qui - a comme première conséquence de rendre la sortie de "cvs update" beaucoup plus - concise et lisible. Une fois ce fichier en place, il vous suffit de taper - "cvs update" au lieu de "cvs update -dP" (par exemple). + a comme première conséquence de rendre la sortie de « cvs update » beaucoup + plus concise et lisible. Une fois ce fichier en place, il vous suffit de taper + « cvs update » au lieu de « cvs update -dP » (par exemple).

-Ajouter un fichier au repository +Ajouter un fichier au dépôt

Il est vraiment facile d'ajouter un fichier source au CVS. En premier lieu, - vous devez créer le fichier en question, puis taper la commande suivante : + vous devez créer le fichier en question, puis, tapez la commande suivante :

 # cvs add myfile.c
 cvs server: use 'cvs commit' to add this file permanently
 

- Ceci va dire à cvs d'ajouter ce fichier au repository la prochaine fois - que vous ferez un "cvs commit". Jusqu'à ce moment, les autres développeurs + Ceci va dire à cvs d'ajouter ce fichier au dépôt la prochaine fois + que vous ferez un « cvs commit ». Jusqu'à ce moment, les autres développeurs ne pourront pas le voir.

-Ajouter un répertoire au repository +Ajouter un répertoire au dépôt

Pour ajouter un répertoire, la procédure est similaire : @@ -554,25 +557,25 @@

 # mkdir foo
 # cvs add foo
-Directory /home/cvsroot/mycode/foo added to the repository   
+Directory /home/cvsroot/mycode/foo added to the dépôt   
 

- A la différence d'un ajout de fichier, lorsque vous ajoutez un répertoire, - il apparaît immédiatement dans le repository, le "commit" n'est pas requis. - Une fois le répertoire local ajouté au repository, vous allez remarquer - qu'un répertoire "CVS" y est créé pour y stocker les informations CVS. + À la différence d'un ajout de fichier, lorsque vous ajoutez un répertoire, + il apparaît immédiatement dans le dépôt, le « commit » n'est pas requis. + Une fois le répertoire local ajouté au dépôt, vous allez remarquer + qu'un répertoire « cvs » y est créé pour y stocker les informations CVS. Ainsi, vous pouvez facilement savoir si un répertoire a été - ajouté à cvs en regardant si il contient un répertoire "CVS". + ajouté à cvs en regardant s'il contient un répertoire « CVS ».

-Remarques sur "cvs add" +Remarques sur « cvs add »

Comme vous pouvez le deviner, avant d'ajouter un fichier ou un répertoire - au repository, vous devez bien vérifier que son répertoire parent lui + au dépôt, vous devez bien vérifier que son répertoire parent lui a déjà été ajouté. Sinon, vous aurez l'erreur suivante :

@@ -584,13 +587,13 @@
 
-Se familiariser avec "cvs update", partie 1 +Se familiariser avec « cvs update », partie 1

Avant de s'occuper de la résolution des conflits, familiarisons-nous avec - les sorties de la commande "cvs update". Si vous créez un fichier ~/.cvsrc - qui contient la ligne "cvs -q", vous allez trouver les sorties de "cvs update" - beaucoup plus faciles à lire. "cvs update" vous informe de ce qu'il fait, + les sorties de la commande « cvs update ». Si vous créez un fichier ~/.cvsrc + qui contient la ligne « cvs -q », vous allez trouver les sorties de « cvs update » + beaucoup plus faciles à lire. « cvs update » vous informe de ce qu'il fait, représentant ses actions par un caractère, un espace et un nom de fichier. Par exemple :

@@ -603,14 +606,15 @@
 
-Se familiariser avec "cvs update", partie 2 +Se familiariser avec « cvs update », partie 2

- "cvs update" utilise le caractère "?" pour vous signifier qu'il ne sait rien - sur ce fichier là, fichier qu'il trouve dans votre copie locale, mais pas - sur le repository. Ces fichiers ne font pas partie du repository distant, - et n'ont pas non plus été prévus pour être ajoutés au repository. - Voici une liste de tous les messages possibles que CVS utilise : + « cvs update » utilise le caractère « ? » pour vous + signifier qu'il ne sait rien sur les fichiers qu'il retrouve dans + votre copie locale mais pas sur le dépôt. Ces fichiers ne font pas + partie du dépôt distant, et n'ont pas non plus été prévus pour être + ajoutés au dépôt. Voici une liste de tous les messages possibles que CVS + utilise :

 U [path]
@@ -623,36 +627,38 @@
 A [path]
 

- L'ajout de ce fichier au repository a été programmé et sera officiellement ajouté - quand vous ferez un "cvs commit". + L'ajout de ce fichier au dépôt a été programmé et sera officiellement ajouté + quand vous ferez un « cvs commit ».

-Se familiariser avec "cvs update", partie 3 +Se familiariser avec « cvs update », partie 3
 R [path]
 

- A l'image de "A", "R" vous indique que la suppression de ce fichier a été prévue. - Ce fichier sera effectivement retiré dès que vous aurez fait un "cvs commit". + À l'image de « A », « R » vous indique que la + suppression de ce fichier a été prévue. Ce fichier sera effectivement + retiré dès que vous aurez fait un « cvs commit ».

 M [path]
 

Cela signifie que ce fichier a été modifié par vous. Il est possible - que des modifications aient été fusionnées dans ce fichier sans conflits. + que des modifications aient été fusionnées dans ce fichier sans conflit.

 C [path]
 

- Le caractère "C" indique que ce fichier présente des conflits et nécessite une - intervention manuelle avant de réaliser votre "commit". + Le caractère « C » indique que ce fichier présente des conflits + et nécessite une intervention manuelle avant de réaliser votre + « commit ».

@@ -664,9 +670,9 @@ Désormais, occupons-nous de résoudre ces conflits. Je suis assez impliqué dans le projet Gentoo-Linux et nous avons notre propre serveur cvs configuré sur cvs.gentoo.org. Nous autres, développeurs, passons la majorité de notre - temps à hacker les sources du module "gentoo-x86" et nous avons ajouté un fichier - appelé "ChangeLog" qui contient (vous l'aurez deviné) les modifications majeures - que nous avons faites sur le repository. + temps à hacker les sources du module « gentoo-x86 » et nous avons ajouté un + fichier appelé « ChangeLog » qui contient (vous l'aurez deviné) les + modifications majeures que nous avons faites sur le dépôt.

@@ -686,8 +692,8 @@ J'ai ajouté ce commentaire

- Imaginons qu'avant que je ne fasse un "commit" de ces trois nouvelles lignes, - un développeur avait déja ajouté les lignes suivantes au début du Changelog et + Imaginons qu'avant que je ne fasse un « commit » de ces trois nouvelles + lignes, un développeur avait déja ajouté les lignes suivantes au début du Changelog et envoyé ses modifications :

@@ -702,10 +708,10 @@
 Une exemple de conflit, suite
 
     

- Maintenant, lorsque je fais un "cvs update -dP" (comme il faut le faire avant - chaque commit), cvs n'est pas capable de fusionner ces modifications sur ma - copie locale du ChangeLog parce que nous avons tous les deux ajouté des lignes - dans la même partie du fichier. Cvs ne sait alors pas quelle partie utiliser. + Maintenant, lorsque je fais un « cvs update -dP » (comme il faut + le faire avant chaque commit), cvs n'est pas capable de fusionner ces modifications sur + ma copie locale du ChangeLog parce que nous avons tous les deux ajouté des lignes + dans la même partie du fichier. CVS ne sait alors pas quelle partie utiliser. Ainsi, j'ai l'erreur suivante :

@@ -725,7 +731,8 @@
 
     

Ahhh, un conflit ! Heureusement, résoudre un conflit est facile. Si je lance - mon éditeur favori, je vois le texte suivant au début du fichier "ChangeLog" : + mon éditeur favori, je vois le texte suivant au début du fichier + « ChangeLog » :

 <<<<<<< ChangeLog
@@ -758,14 +765,14 @@
 
 date 25 Feb 2001
 
-This is the thing I added myself
+J'ai ajouté ce commentaire
 
-This is the part added by another developer
+Un autre développeur a ajouté ce commentaire
 

Maintenant que j'ai remplacé les régions conflictuelles du fichier avec le texte - approprié (et supprimé les "=======" et autres marqueurs), je peux faire - un "commit" sans aucun problème. + approprié (et supprimé les « ======= » et autres marqueurs), je peux faire + un « commit » sans aucun problème.

@@ -774,15 +781,15 @@ Astuces pour résoudre les conflits

- A chaque fois que vous avez besoin d'éditer un fichier pour régler + À chaque fois que vous avez besoin d'éditer un fichier pour régler des conflits, vérifiez que vous avez bien parcouru tout le fichier de telle manière que vous n'ayez rien oublié. Sinon, cvs n'autorisera - pas votre "commit" et ce jusqu'à ce que le conflit soit résolu. + pas votre « commit » et ce jusqu'à ce que le conflit soit résolu. Il est donc très important d'enlever les marqueurs spéciaux que - cvs a ajoutés aux fichiers conflictueux. Autre astuce : si vous avez + cvs a ajoutés aux fichiers conflictuels. Autre astuce : si vous avez fait une erreur en essayant de résoudre un conflit et que vous avez accidentellement enregistré vos modifications, vous pouvez retrouver la copie - originale du fichier dans le fichier ".#nom_du_fichier.version". + originale du fichier dans le fichier « .#nom_du_fichier.version ».

@@ -792,9 +799,9 @@

Maintenant, il est temps de découvrir notre dernière commande cvs : supprimer un - fichier du repository. Supprimer un fichier se fait en deux étapes. Il + fichier du dépôt. Supprimer un fichier se fait en deux étapes. Il faut commencer par supprimer le fichier de votre copie des sources, puis - exécuter la commande "cvs remove" sur ce fichier : + exécuter la commande « cvs remove » sur ce fichier :

 # rm myoldfile.c
@@ -808,18 +815,18 @@
 
     

La suppression du fichier est alors prévue par cvs et sera effective - lors de votre prochain "commit". Une fois le "commit" réalisé, le fichier - sera officiellement supprimé du repository distant. Pourtant, cvs - ne va pas faire disparaître ce fichier et va garder un enregistrement - complet de son contenu et de son historique au cas où vous en auriez - besoin dans le futur. C'est juste un des nombreux moyens utilisés par cvs - pour protéger votre code. + lors de votre prochain « commit ». Une fois le + « commit » réalisé, le fichier sera officiellement supprimé du + dépôt distant. Pourtant, cvs ne va pas faire disparaître ce fichier et va + garder un enregistrement complet de son contenu et de son historique au + cas où vous en auriez besoin dans le futur. C'est juste un des nombreux + moyens utilisés par cvs pour protéger votre code.

- "cvs remove" est récursif, ce qui signifie que vous pouvez supprimer - un paquet de fichiers et lancer la commande "cvs remove" sans autre argument - depuis un répertoire parent. Ceci va marquer tous les fichiers supprimés - comme "à supprimer" lors du prochain "commit". + « cvs remove » est récursif, ce qui signifie que vous pouvez supprimer + un ensemble de fichiers et lancer la commande « cvs remove » sans autre + argument depuis un répertoire parent. Ceci va marquer tous les fichiers supprimés + comme « à supprimer » lors du prochain « commit ».

@@ -829,8 +836,8 @@

Si vous voulez supprimer un répertoire complet, je vous recommande la méthode - suivante. Tout d'abord supprimez chaque fichier du répertoire et faites un - "cvs remove" : + suivante. Tout d'abord, supprimez chaque fichier du répertoire et faites un + « cvs remove » :

 # rm *.c
@@ -843,7 +850,7 @@
 Supprimer un répertoire, suite
 
     

- Ensuite, faites un "commit" : + Ensuite, faites un « commit » :

 # cvs commit
@@ -857,8 +864,8 @@
 # rm -rf mydir
 

- Remarquez que supprimer un répertoire ne nécessite pas un autre "commit". L'ajout - et la suppression de répertoires sur le repository distant se font en temps réel. + Remarquez que supprimer un répertoire ne nécessite pas un autre « commit ». + L'ajout et la suppression de répertoires sur le dépôt distant se font en temps réel.

@@ -869,26 +876,26 @@

Votre introduction à CVS est terminée. J'espère que ce tutoriel vous a été utile. Il y a bien d'autres choses à savoir sur CVS, que je n'ai pu couvrir dans cette - introduction, mais heureusement, les nombreuses documentations disponibles - vous aideront à étendre vos connaissances sur CVS : + introduction, mais heureusement, la volumineuse documentation disponible + vous aidera à étendre vos connaissances sur CVS :

  • http://www.cvshome.org est la page principale du développement de CVS - et offre une foule de documentation sur CVS, en particulier la - documentation officielle de CVS "online". + et offre beaucoup de documentation sur CVS, en particulier la + documentation officielle en ligne de CVS.
  • -
  • Le site "CVS Version Control for Web Site Projects" +
  • Le site CVS Version Control for Web Site Projects propose de bonnes informations sur comment utiliser CVS pour développer des sites Web.
  • Karl Fogel a écrit un livre intitulé Open Source Development with CVS. Certains chapitres de ce livre sont disponibles sur le site.
  • cvsweb est un script - CGI merveilleux qui fournit une interface web vers votre repository. Excellent pour le parcours rapide. + CGI merveilleux qui fournit une interface web vers votre dépôt. Excellent pour le parcours rapide.
  • Le site CVS Bubbles - propose aussi de nombreuses informations dont "CVS FAQ-o-matic". + propose aussi de nombreuses informations dont « CVS FAQ-o-matic ».