Comment Ca Marche - Communauté informatique  
   
Accueil - Encyclopédie informatiqueTélécharger l'encyclopédieContribuer à cet article

CVS - Introduction

Introduction à CVS CVS - Introduction Encyclopédie

Concurrent Versions System (CVS)
CVS

Introduction à CVS

CVS (Concurrent Versions System) est un système de contrôle de versions client-serveur permettant à plusieurs personnes de travailler simultanément sur un même ensemble de fichiers. Les gros projets de développement (en particulier les projets Open Source) s'appuient généralement sur ce type de système afin de permettre à un grand nombre de développeurs de travailler sur un même projet. CVS permet, comme son nom l'indique, de gérer les accès concurrents, c'est-à-dire qu'il est capable de détecter les conflits de version lorsque deux personnes travaillent simultanément sur le même fichier.

Le fonctionnement de CVS s'appuie sur une base centralisée appelée « repository », hébergée sur un serveur, contenant l'historique de l'ensemble des versions successives de chaque fichier. Le repository stocke les différences entre les versions successives, les dates de mise à jour, le nom de l'auteur de la mise à jour et un commentaire éventuel, ce qui permet un réel suivi des modifications, tout en optimisant l'espace de stockage dédié au projet.

Chaque personne travaillant sur le projet possède un « répertoire de travail » (en anglais « working copy » ou « sandbox », traduisez « bac à sable »), c'est-à-dire un répertoire contenant une copie de la base CVS (repository).

checkout

A l'aide d'un client CVS, chaque utilisateur souhaitant travailler sur le projet (pour modifier des fichiers ou simplement pour voir la dernière version des fichiers dans la base) récupère une copie de travail grâce à une opération appelée « checkout ».

checkout

commit

Lorsque l'utilisateur a terminé de modifier les fichiers, il peut transmettre les modifications à la base. Cette opération est appelée « commit ». Ainsi plusieurs développeurs peuvent travailler simultanément sur une copie du repository et transmettre leurs modifications.

commit

update

S'il arrive qu'un utilisateur tente de transmettre ses modifications alors qu'un autre utilisateur a lui-même modifié ce fichier précédemment, CVS va détecter un conflit. Si les modifications portent sur des parties différentes du fichier, le système CVS peut proposer une fusion des modifications, grâce à une opération appelée diff, sinon CVS va demander à l'utilisateur de fusionner manuellement les modifications. Il est à noter que les fusions ne peuvent s'appliquer qu'aux fichiers textes. CVS peut toutefois gérer des fichiers binaires dans sa base, mais il n'a pas été prévu dans ce but. Les modifications apportées par les autres utilisateurs ne sont pas automatiquement répercutées par CVS sur la copie locale, il est donc nécessaire, avant chaque modification de fichier, de mettre à jour sa copie de travail grâce à une opération appelée « update », afin de limiter les risques de conflits.

update

release

Enfin, lorsque l'utilisateur a terminé son travail et qu'il a envoyé au serveur CVS toutes les modifications apportées, il peut s'il le désire vider son répertoire de travail grâce à l'opération baptisée « release ».

Serveur CVS

Le serveur CVS est disponible, sous licence libre, pour un grand nombre de systèmes d'exploitation :

Le code source ainsi que des versions binaires (exécutables) du serveur CVS sont téléchargeables sur http://www.cvshome.org.

Clients CVS

CVS est prévu à l'origine pour fonctionner en ligne de commande, avec les différentes commandes évoquées ci-dessus. Il existe toutefois un certain nombre de clients CVS graphiques :

  • CVSWeb est une interface web permettant d'accéder au repository et de voir les versions des différents fichiers qui le composent.
  • TortoiseCVS est un client graphique intégré à Windows permettant d'effectuer les différentes opérations grâce au menu contextuel associé au bouton droit de la souris dans l'explorateur.

Trucs & astuces pertinents trouvés dans la base de connaissances

28/01 14h26 Documentation (CVS)
CVS Plus d'astuces sur « CVS »

Discussions pertinentes trouvées dans le forum

21/06 11h12 install amsn cvs pb install amsn-cvs Linux/Unix 08/10 00h09->pinpin18
04/07 09h35 cvs commit [CVS] Problème avec le commit Linux/Unix 04/07 11h56->pamic7
17/03 12h31  CVS ne fonctionne plus ?? Suggestions 17/03 14h20->Thom@s5
26/04 18h07 installation slibo cvs Installation Slibo par CVS Linux/Unix 27/04 04h55->gtrgib4
03/05 10h35 cvs kesako CVS kesako ? Windows 03/05 21h13->Jeff3
15/06 18h08 cvs local CVS local Développement 15/06 19h34->greg3
19/07 11h21 php fopen ouvre fichier cvs [php]fopen n'ouvre pas le fichier cvs Développement 21/07 18h15->patphen3
20/11 14h02 cvs CVS c'est quoi ? Linux/Unix 20/11 16h07->RobertDeNiroZ2
23/04 16h15 cvs CVS Logiciels/Pilotes 06/05 23h25->mat2
02/07 11h18 configuration cvs debian configuration cvs sous debian Logiciels/Pilotes 05/07 08h24->nico u22
Discussion fermée Problème résolu CVS Plus de discussions sur « CVS »

Ce document intitulé « CVS - Introduction » issu de l'encyclopédie informatique Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
 
CVS - Introduction