Developpez.com - SGBD & SQL
X

Choisissez d'abord la catégorieensuite la rubrique :


Tutoriel CVS

Date de publication : 08/06/2005

Par Jérôme Grondin (http://jgrondin.developpez.com)
 

Apprendre à installer un serveur CVS sous Linux et à utiliser CVS avec un client Windows.


I. Présentation
A. Introduction
B. Le Repository
II. Installation d'un serveur CVS
A. Sous Linux
1. Paramètrage du serveur
2. Création d'un repository
A. Sous Windows
III. Utilisation d'un client CVS pour travailler en équipe
A. TortoiseCVS
B. Création d'un module
C. Ajout de fichiers
D. Validation de fichiers
E. Récupération d'un module
F. Informations complémentaires
IV. Conclusion


I. Présentation


A. Introduction

CVS (comme chacun le sait) est un système de gestion de version. Mais qu'en est-t-il vraiment, et qu'est ce que cela veut dire ?

D'une manière simple, on peut dire que CVS permet d'historiser l'ensemble de ses sources. Par exemple, CVS permet de revenir à une version antérieure de son code, à tout moment.
Mais la plus grande force de CVS est sans nul doute, la possibilité de travailler en équipe sur les mêmes sources. En effet, grâce à CVS, chacun travail sur une copie du code source, et non pas directement sur les fichiers sources. Et cette notion est essentielle, car l'ensemble des fonctionnalités de CVS tourne autour de cette idée.


B. Le Repository

La notion de repository est la plus importante dans l'utilisation de CVS. Le repository contient la copie complète de tous les fichiers et répertoires qui sont sous l'autorité de CVS. On ne travaille jamais sur le repository, mais toujours sur une copie du repository.


II. Installation d'un serveur CVS


A. Sous Linux


1. Paramètrage du serveur

Avant de commencer l'installation, il faut

  • définir l'endroit où on va stocker le repository
  • créer un utilisateur cvs
Il faut installer les packages CVS correspondants à votre distribution. Vous pouvez les trouver aux adresses suivantes:

Si vous ne trouvez pas le packages correspondants à votre distribution, je vous propose de le chercher sur http://rpmfind.net.
Nous allons maintenant créer un utilisateur cvs sur notre machine LINUX :

[root@eclipse root]# useradd cvs
Puis attributer le mot de passe "cvs" à l'utilisateur cvs

[root@eclipse root]# passwd cvs Changing password for user cvs. New password:cvs Retype new password:cvs passwd: all authentication tokens updated successfully.
Ensuite, le plus simple est d'utiliser le super démon " xinetd " pour contrôler notre serveur CVS. Pour cela, créer le fichier /etc/xinetd/cvspserver contenant :

Fichier /etc/xinetd/cvspserver
service cvspserver { port = 2401 socket_type = stream protocol = tcp wait = no user = cvs passenv = PATH server = /usr/local/bin/cvs server_args = -f --allow-root=/cvsroot pserver }
  • server définit le chemin de l'éxécutable cvs.
  • server_args indique les arguments qui seront passés à l'éxécutable.
  • --allow-root spécifie quel CVSROOT sera autorisé. Le client ne pourra pas se connecter à un autre CVSROOT.
  • pserver est la méthode d'authentification utilisée.
Il faut maintenant redémarrer le super-démon xinetd

service xinetd restart

2. Création d'un repository

Pour initialiser un repository vide, il suffit de lancer :

cvs -d /usr/local/cvsroot init
Où /usr/local/cvsroot est le chemin qui sera votre repository. La commande init permet d'activer l'historique sur le CVS Maintenant que tout est bien paramétré, lançons la commande suivante pour tester notre serveur :

cvs -d :pserver:cvs:cvs@eclipse:/cvsroot login
Si tout se passe bien, vous devriez voir :

Logging in to :pserver:cvs@localhost:2401/cvsroot

A. Sous Windows

Il existe un programme qui permet d'installer un serveur CVS sous Windows: CVSNT. Vous pouvez le télécharger ici.

L'installation sous windows ne pose pas de problème particulier et ne demande pas plus que de cliquer sur suivant lorsque le programme d'installation vous interpelle.


III. Utilisation d'un client CVS pour travailler en équipe


A. TortoiseCVS

Un grand nombre d'outil de développement incluent un client permettant d'utiliser un serveur CVS (citons Eclipse, Zend Studio, NetBeans, etc..). Cependant, il peut être judicieux d'utiliser CVS pour la documentation, ou pour des fichiers mis à jour par plusieurs personnes. C'est pour cela que j'ai choisit de vous montrer l'utilisation d'un client CVS pour Windows : TortoiseCVS.
Première chose à faire, télécharger la dernière version de CVS ici.
L'installation ne pose pas de problèmes particuliers (nous sommes sous Windows !!).
Imaginons maintenant que nous ayons un dossier " Suivi " qui contient des documents word sur les projets que nous avons au sein de notre équipe:


B. Création d'un module

Il faut en premier lieu créer un module sur notre serveur CVS. Un module peut-être assimilé à un répertoire qui se trouve dans notre repository. C'est par le nom du module que nous pourrons par la suite synchroniser nos documents. Avec TortoiseCVS, il est très facile de créer un module sur notre CVS.

Maintenant, il suffit de renseigner les champs (marqués en rouge sur l'image suivante) avec, respectivement:

  • le type de protocole (dans notre exemple, pserver)
  • le nom du serveur (ou l'adresse IP)
  • le port
  • le nom du dossier de notre repository
  • le nom d'utilisateur qui va se connecter au repository
  • le nom que l'on souhaite donner à notre nouveau module
A noter que TortoiseCVS fabrique la chaine de connexion CVSROOT pour nous (marqués en vert sur l'image suivante).
En cliquant sur OK, Tortoise va créer notre module " Suivi " sur le serveur CVS. Il faut maintenant ajouter nos documents dans le module CVS.


C. Ajout de fichiers

TortoiseCVS permet de choisir les fichiers que l'on souhaite envoyer à notre serveur CVS.


D. Validation de fichiers

Une fois que notre contenu est envoyé sur le serveur CVS, il faut valider notre ajout afin qu'il soit stocker définitivement dans notre repository. Lors de la validation, nous pouvons mettre un commentaire permettant de donner des informations sur la version que nous allons valider sur le serveur CVS.

Une fois notre validation effectuée correctement, vous devriez voir vos fichiers ajouter au CVS avec une petite icône verte.


E. Récupération d'un module

Pour que les membres de votre équipe puissent travailler sur les mêmes fichiers que vous, et ainsi les mettre à jour, il faut qu'il récupère le module " Suivi " contenu dans la repository.

Il faut bien entendu prendre de soin de renseigner les champs correctement (points en rouge sur l'image).


F. Informations complémentaires

Dans notre exemple, chaque membre de l'équipe utilise l'utilisateur cvs pour se connecter au serveur. Il est cependant plus judicieux de créer un utilisateur CVS par membre de l'équipe. Ainsi, nous pourrons voir qui a modifié quoi.
Maintenant que chaque membre de l'équipe à récupèrer l'ensemble du module, chacun peut alors travailler de son côté sur les documents qui lui sont particuliers. Chacun peut également créer un nouveau fichier, en supprimé un, etc... Pour mettre à jour le repository lorsqu'on à modifié des fichiers de notre module, il suffit de refaire les étapes "Ajout de fichiers" puis "validation de fichiers".

Lorsqu'un fichier est modifié, et qu'il n'a pas été valider sur le serveur, TortoiseCVS l'affiche avec une icône orange.
TortoiseCVS permet de récupèrer une version antérieure d'un fichier à l'aide de la commande Historique.
Il suffit alors d'extraire la version que l'on souhaite récupèrer. Attention, l'extraction va écraser la version que vous possédez.


IV. Conclusion

Nous venons d'apercevoir quelques utilisation de CVS dans la gestion de documents partagés. Je vous invite à visiter les sites suivants qui vous permettront de profiter pleinement des fonctionnalités de CVS:



Copyright Jérôme Grondin 2004 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
Contacter le responsable de la rubrique SGBD & SQL