Concurrent Versions System : système pour versions concurrentes.
Permettre à plusieurs personnes de travailler simultanément sur un ensemble de fichiers.
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 :
CVS stocke l'ensemble des versions dans un référentiel (repository).
Sous une arborescence du choix des utilisateurs se trouve :
Root
, qui contient le CVSROOT
(:ext:javarome@cvs.kicsa.sourceforge.net:/cvsroot/kicsa
par exemple)Repository
, qui contient le module dans le CVSROOTEntries
, qui contient la liste des fichiers pris en charge par CVS, sous la forme <em>Type
particulier</em>/<em>NomFichier</em>/<em>Revision</em>/<em>Date en temps universel</em>//
(ce qui
permet de détecter le besoin de synchronisation par rapport à une version du référentiel ayant une date
différente) donc par exemple :/MonFichier.java/1.1.1.1/Wed Dec 04 21:52:14 2002//<br>
D/MonRepertoire////
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$ |
|
||||||
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 |
1.1.1.1
.CVSROOT
si vous n'utilisez pas
plusieurs référentielsCVS 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
CVS