- Fiches techniques
- Les brèves
- Les études
Fiche technique
|
|
| CVS | |
|
|||||||
| Présentation | |||||||
| Un problème majeur lors du développement d’un projet par un ou plusieurs développeurs est la gestion des versions. Il est parfois utile de pouvoir revenir en arrière sur ses modifications. Il existe pour cela RCS (Revision Control System) qui permet d'extraire des sources, de les modifier, de soumettre des modifications, de garder l'historique des modifications et de restaurer n'importe quelle version. CVS (Concurrent Version System), s'appuie sur RCS. CVS est un outil qui permet de gérer l'évolution dans le temps d'un ensemble de fichiers modifiés par plusieurs personnes. L’intérêt de CVS est de permettre à plusieurs développeurs de travailler sur le même groupe de fichiers : chacun travaille de manière indépendante dans son environnement personnel et CVS gère l'ensemble. PRINCIPES GENERAUX Une arborescence de développement est conservée dans un répertoire pointé par la variable d'environnement CVSROOT. Cette variable définit donc une propriété de l’environnement de travail de l’utilisateur. Ce répertoire contient des fichiers RCS, chacun contenant le code source d'origine ainsi que toutes les modifications à appliquer pour passer d’une version à l’autre. On trouve également les commentaires à saisir lors d'une demande de modification. La repository peut aussi bien se situer sur la machine du développeur que sur un serveur afin d’isoler les sources des différents développeurs. Si plusieurs machines ont à partager les mêmes sources ou si on souhaite isoler les sources des développeurs, un mode client serveur permet de ne passer sur le réseau que les informations utiles. Ce mode client/serveur est plus rapide et permet donc la gestion des sources entre deux sites très éloignés via des modems. Les accès se font par des commandes qui doivent satisfaire aux conditions imposées par le protocole (.rhost, host.equiv, ...). Lorsque plusieurs développeurs modifient les mêmes fichiers, il y a bien souvent des problèmes. Avec CVS, le développeur possède une copie du fichier, le modifie comme il le veut et c'est au moment de soumettre ses modifications que CVS fait une fusion de la version courante avec la version précédente. S'il y a un conflit en raison d’une modification simultanée et non identique de la même ligne, alors CVS le signale en entourant les lignes en question. CVS applique des numéros de version pour chaque fichier. Ainsi, le fichier parser.c pourra être numéroté 2.3, alors que le fichier add.c sera à la version 1.4. CVS permet d'associer un ensemble de fichiers ayant des indices différents à un même nom. Ainsi, le nom symbolique "version_2" peut être appliqué à parser.c [2.3] et add.c [1.4]. Par la suite, on peut extraire une version dans son intégralité, même si la version est beaucoup plus avancée. Elles permettent dans le cas d’une correction à effectuer sur une version précédente de créer une nouvelle version de développement à partir d’une version précise dans le développement du projet. On peut alors développer en parallèle le même projet pour corriger une erreur par exemple. CVS s’assure par la suite de la fusion de version corrigée avec la version de développement en cours. CVS est caractérisé par un jeu de commandes commençant toutes par cvs et avec une multitude d'options. tkcvs est un outil graphique écrit en Tcl/Tk, qui permet de visualiser l'arbre de développement ainsi que les différences entre deux versions d'un même fichier. |
|||||||
|
|||||||
| Lien | |||||||
