Ceci est une ancienne révision du document !



CVS : utilisation en tant que client

CVS, acronyme de Concurrent Versions System ou de Concurrent Version System ou de Concurrent Versioning System, est un logiciel libre (licence GPL) de gestion de versions. Il est très utilisé dans le domaine du logiciel libre . Il peut aussi bien fonctionner en mode ligne de commande, qu'à travers une interface graphique.Vous devriez pouvoir facilement installer les paquets via votre gestionnaire de paquets.

sudo apt-get install cvs

Ce logiciel peut fonctionner en local, ou en mode client serveur. Dans les deux cas, un repository contient un ou plusieurs modules. Un module est constitué d'une hiérarchie de fichiers versionnés.

CVS utilise ces opérations :
* admin : Administrer le repository (dans le cas d'une utilsation multi-utilisateurs)
* checkout : Obtenir une copie locale des fichiers
* commit : Envoyer ses modifications
* update : Obtenir les modifications des autres
* diff : Voir les modifications entre les versions
* log : Voir les commentaires sur les différentes versions
* import : Créer un nouveau module
* status : Voir le status d'un fichier
* tag : Poser une marque sur un fichier ou sur le module
* branch : Créer une branche à partir d'un tag

Checkout

Le checkout est l'opération qui consiste à extraire les fichiers à partir du repository. CVS extrait par défaut la dernière version du fichier. Si plusieurs branches de développement sont en cours ou que vous voulez une version plus ancienne, vous devez le spécifier à CVS.

Vous devez spécifier en argument le ou les fichiers ou répertoire que vous voulez extraire. Par exemple :

$ cvs checkout <nom_de_fichier>

Notez que l'utilisation de checkout est récursive.

Si tout se passe bien, CVS fournit une sortie qui ressemble à :

U htdocs/actions/ldd/index.wml

et crée un répertoire htdocs/actions/ldd contenant le fichier index.wml ainsi qu'un répertoire CVS qui contient des fichiers administratifs et qu'il convient d'ignorer (mais pas d'effacer). Vous pouvez maintenant travailler sur le fichier index.wml.

Commit

Le commit est l'opération inverse. Le but du jeu est de mettre à jour sur le repository des fichiers que vous avez modifiés. Par exemple :

$ cvs commit <nom_de_fichier>

CVS demande ensuite de rentrer des informations sur la nature des modifications effectuées (afin d'archiver leur trace dans un format facilement compréhensible par des humains). Par défaut, CVS exécute la commande vi, mais cette commande peut être modifiée au besoin en affectant le nom d'un éditeur de textes quelconque à la variable $EDITOR (par exemple emacs).

Enregistrez le texte de vos descriptions que vous venez de saisir (sous vi, ESC :x), et ensuite CVS mettra à jour vos modifications dans le repository. Notez que si vous mettez à jour plusieurs fichiers en même temps, CVS vous demandera certainement plusieurs descriptions pour vos modifications (vous pouvez mettre les mêmes).

Si votre description tient en quelques mots, vous pouvez vous passer de l'étape emacs/vi en mettant votre texte sur la ligne de commande, en utilisant l'option -m

$ cvs commit -m "Ajout du mois de mai" <nom_de_fichier>

Update

La commande update permet de récupérer sur sa copie locale les modifications effectuées par d'autres personnes. Par exemple, pour recevoir toutes les modifications :

$ cvs update

Un conflit peut survenir si un fichier modifié localement a aussi été modifié par un autre utilisateur, qui en a fait un commit. Dans ce cas, CVS réunit les versions dans un fichier qu'il faut alors "merger" (résoudre les conflits).

Diff

La commande diff, liste les différences entre la version locale d'un fichier et celle qui se trouve actuellement sur le référentiel.

$ cvs diff <nom_de_fichier>

Il apparaît aussi utile de pouvoir comparer le fichier actuel avec une révision antérieure particulière :

$ cvs diff -r 1.5 -r 1.6 <nom_de_fichier>

Log

Log permet de lister un historique sommaire des révisions comprenant les dates et numéros respectifs, ainsi que les commentaires spécifiés lors du commit (option -m ou saisis depuis l'éditeur appelé par cvs), utiliser la commande :

$ cvs log <nom_de_fichier>

Contributeurs : ???

  • cvs.1217095389.txt.gz
  • Dernière modification: Le 18/04/2011, 14:55
  • (modification externe)