CVS

Concurrent Versions System : système pour versions concurrentes.

Besoin

Permettre à plusieurs personnes de travailler simultanément sur un ensemble de fichiers.

Analyse

CVS est un VCS utilisant un modèle copie/modification/fusion : tous les développeurs peuvent obtenir (check out) un fichier puisqu'il ne s'agit que de copies de travail (working copy). Lorsqu'ils valident (commit) leur version modifiée :

Conception

CVS stocke l'ensemble des versions dans un référentiel (repository).

Sous une arborescence du choix des utilisateurs se trouve :

Implémentation

La localisation du référentiel est spécifiée par la variable d'environnement CVSROOT.

CVS Version 1 Commentaire
Domaine Technologie Release 0 1 2 3 4 5 6
Commandes co Check Out : Extraction de copie de travail
update Fusion les sources du référentiel avec les sources modifiées. Suivi d'un test (voir si le code fonctionne toujours après fusion) puis d'un commit typiquement.
commit ci Valide les modifications pour être placées dans le référentiel. Après update typiquement.
log Liste des modifications historisées
diff Affiche les différences entre deux versions
add Ajout d'un fichier dans le référentiel. Suivi de commit typiquement
rm ReMove : suppression d'un fichier du référentiel après suppression en local. A suivre d'un commit.
-P Prune empty directories
tag Marquer des sources (comme faisant partie d'une release typiquement)
Options -d pserver Password-authenticated server
ext External connection program tels que rsh, SSH, kserver (Kerberos 4), gserver (GSSAPI ou Kerberos 5)
Mots-clés Substitués Auteur $<i></i>Author$
Nom de login de l'utilisateur ayant placé la révision.
Date $<i></i>Date$ Date et heure (UTC) à laquelle la révision a été placée
En-tête $<i></i>Header$ En-tête standard contenant le chemin complet du fichier, son numéro de révision, sa date (UTC), son auteur, son état (et celui qui l'a verrouillé le cas échéant, très rare)
Id $<i></i>Id$ Comme En-tête, sauf que le fichier est sans son chemin complet
Révision $<i></i>Revision$ Numéro affecté à cette révision
Source $<i></i>Source$ Chemin complet du fichier
Protocole Distant Non Oui Protocole distant
Référentiel Format 1.3
Local Répertoire de travail 1.5

Notes

Exemples

CVS est utilisé sur les projets :

Des exemples de commandes CVS sont :

<strong>cvs -z3 -d:pserver:anonymous@</strong>cvs.kicsa.sourceforge.net:/cvsroot/kicsa <strong>co </strong>MonModule<strong><br> <br> cvs -z3 -d:ext:</strong>javarome@cvs.kicsa.sourceforge.net:/cvsroot/kicsa <strong>co </strong>MonModule

Limitations

Voir