1. Outil de Gestion de Version
CVS
Par: Sari Meriem
1
UNIVERSITE MOHAMED CHERIF MESAADIA
SOUK-AHRAS
Exposé sur:
2. Avant-propos
2
Le travail en équipe impose une coordination :
A la conception.
A la réalisation (codage).
Au planning du travail.
Sari Meriem CVS 1ére Année Master GL
4. Introduction
4
La gestion de versions consiste à:
Contrôlé d'accès au code.
Maintenir un historique des modifications.
Coordonner le travail simultané sur le code.
Coordonner le travail sur plusieurs versions (« branches ») du
code.
Il existe différents logiciels de gestion de versions qui apportent
chacun leur propre vocabulaire et leurs propres usages.
Exemple: CVS, Subversion, Meta-CVS, arch, bitkeeper, rational
software, microsoft VSS,
Sari Meriem CVS 1ére Année Master GL
5. CVS
5
Acronyme de: Concurrent Versions System.
C’est un outil d'aide au développement de logiciels.
Très présent dans le monde des programmeurs Open Source.
C’est un logiciel libre basé sur une architecture client-serveur.
Offre le travaille à plusieurs sur les mêmes fichiers en même
temps (un développement en équipe).
Sari Meriem CVS 1ére Année Master GL
6. CVS
6
CVS permet de:
Gérer et suivre les différentes versions qui marquent le
développement d’un document informatisé.
Gérer dans le temps chaque modification apportée à un
ensemble de documents informatiques.
Suivre l’évolution et l’historique du projet.
Comparer des versions.
Gérer d’une façon efficace et riche les différentes versions pour un
projet logiciel.
Sari Meriem CVS 1ére Année Master GL
7. Vocabulaires
7Sari Meriem CVS 1ére Année Master GL
Quelque vocabulaires nécessaires à savoir:
Repository : nom donné au répertoire d'accueil au niveau du
serveur CVS qui contient les fichiers d’administration se trouvant
dans le sous-dossier CVSROOT ainsi que les dossiers des différents
projets.
Module : nom caractérisant un projet/sous-projet disponible sur
le serveur CVS.
8. Fonctionnement
8Sari Meriem CVS 1ére Année Master GL
1. Récupérer une copie de travail d'un module (checkout).
2. Modifier cette copie/ajouter/enlever des fichiers/repertoires
(add/remove).
3. Mettre a jour la copie de travail (update).
4. Valider les modifications (commit).
5. Attribuer un nom a la version actuelle (tag).
6. Aller a l‘étape 2.
9. Commandes de Base
9
La forme générale d'une sous commande cvs est la suivante :
cvs [<options>...] <sous-commande> [<options sous-
commande>...] [<noms fichiers>...]
Sari Meriem CVS 1ére Année Master GL
10. Commandes de Base
10Sari Meriem CVS 1ére Année Master GL
Cvs add: Pour ajouter un nouveau fichier créé au module. Après
exécution, seules des modifications sur le poste local auront été
faites : il faudra donc mettre à jour le serveur en utilisant la
commande cvs commit .
Cvs checkout (ou cvs co et cvs get): Permet de demander au
serveur de renvoyer les fichiers d'un module.
Cvs commit (ou cvs ci et cvs com): Elle demande au serveur de
valider et d'intégrer les changements qui ont pu être faits sur les
fichiers en local. Le serveur mettra donc à jour les fichiers modifiés
et leur attribuera un nouveau numéro de révision.
11. Commandes de Base
11Sari Meriem CVS 1ére Année Master GL
Cvs update( ou cvs up et cvs upd):
Met à jour les fichiers locaux à partir de versions situées sur le
serveur.
Un simple cvs update va lister l'ensemble des fichiers et préciser
le statut de ces fichiers dans le serveur par rapport à ceux présents
sur le poste local.
Permet de mettre à jour la copie locale en intégrant les
changements induits par la nouvelle révision.
12. Gestion de Conflits
12Sari Meriem CVS 1ére Année Master GL
Lorsque deux personnes ont apporté des modifications différentes à
la même partie d'un fichier, on parle alors de conflit de modifications.
Cet conflit peut être géré de deux manières différentes:
Le contrôle de concurrence pessimiste impose à chaque utilisateur de
demander un verrou avant de modifier une ressource ; ce verrou lui
garantit qu'il sera le seul à modifier la ressource.
Le contrôle de concurrence optimiste permet à chaque utilisateur de
modifier les données sans contrainte, le système vérifie si un autre
utilisateur n'a pas déjà posté des modifications pour ces mêmes
données : il demande alors à l'utilisateur de résoudre le conflit avant de
resoumettre ses données c'est le modèle "copier-modifier-
fusionner".
13. Gestion de Conflits
13Sari Meriem CVS 1ére Année Master GL
Dans le cas de deux utilisateurs qui apportent deux versions d’un
même fichier, la première des deux modifications qui arrive dans le
dépôt est prise en compte.
La seconde modification qui est dans un espace de travail local
n'est pas autorisée a être placée dans le dépôt tant que l'utilisateur
n'a pas résolu les conflits.
Une fois les conflits résolus (après demande de mise a jour de la
copie locale depuis le dépôt ), la nouvelle modification peut être
acceptée dans le dépôt .