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