2. Accès au CVS

Il existe deux type d'accès au CVS: un accès anonyme (accès en lecture seule; ouvert à tous) et un accès aux developpeurs (lecture/écriture; restreint).

Afin d'accéder au serveur CVS (connu sous le nom de 'pserver'), vous devrez avoir un compte (nom d'utilisateur et mot de passe). Pour le besoin de ce document, nous ferons l'hypothèse que votre nom d'utilisateur est myaccount et que votre mot de passe est rocks.

Pour un accès anonyme remplacez le nom d'utilisateur par anoncvs et le mot de passe par anoncvs.

2.1. Se loguer

La première chose à faire est de se loguer ! Voici quelques informations vitales: Vous allez devoir régler votre CVSROOT, par:

bash-2.04$ export CVSROOT=:pserver:myaccount@cvs.arabeyes.org:/home/arabeyes/cvs
    

Si vous utilisez WinCVS alors vous devrez casser celà en:

  • Authentication type - pserver

  • Username - myaccount

  • Host name - cvs.arabeyes.org

  • CVSROOT - /home/arabeyes/cvs

Un fois que votre environement est réglé, vous pouvez vous loguer comme suit:

bash-2.04$ cvs login
    

Entrez votre mot de passe quand il vous sera demandé. Vous y êtes !

2.2. Faire un 'check out' (télécharger)

Le mot 'checkout'[1] dans CVS veut dire télécharger les fichiers sur votre machine locale. C'est analogue à l'emprunt d'un livre depuis la bibiothèque, avec cependant la possibilté de le mettre à jour au retour !

bash-2.04$ cvs checkout projects 
    

La commande ci-dessus va créer une strucuture de répertoires sur votre ordinateur. Qui contiendra tout ce qui est en-dessous de projects dans le repository CVS. Donc, disons que nous ne voulons pas tout ce qui est sous projects. Faisons l'hypothèse que vous voulez les sources du projet Akka et tout ce qui le concerne.

bash-2.04$ cvs checkout projects/akka
    

Ceci devra télécharger tout ce qui est sous akka/.

2.3. Faire un 'commit' des changements (upload)

Quand vous faites le 'commit' d'un fichier, vous faites essentiellement un upload vers le repository. Donc, maintenant que avez téléchargé les fichiers et que vous avez fait quelques changements, vous voudrez les remettre dans le repository.

Pour le besoin de cet exemple, nous dirons que vous modifiez le fichier 'myfile.cc'. Voici comment faire un 'commit':

bash-2.04$ cvs commit myfile.cc
    

Si le fichier n'existe pas déjà, et que vous créez un nouveau fichier, alors vous devez l'ajouter par un 'add' au préalable. Voici comment:

bash-2.04$ cvs add myfile.cc
bash-2.04$ cvs commit myfile.cc
    

La première commande crée une entrée pour le fichier dans le repository, et la seconde fait le 'commit' pour de vrai (le rend disponible). Si le fichier existe déjà et que vous l'avez changé, vous pouvez ignorer la commande 'cvs add'. Pour une aide supplémentaire, faites 'man cvs' dans votre prompt Linux/Unix.

Uhe fois que vous exécutez la commande 'commit', un éditeur de texte sera lancé pour que vous puissiez entrer un bref compte-rendu de ce que vous avez fait. Ceci est particulièrement utile pour les autres personnes qui travaillent sur le même projet - puisque ça leur donne une idée sur ce que vous avez changé sans pour autant avoir à consulter le(s) fichier(s). L'éditeur est habituellement vi, sur la plupart des systèmes Linux/Unix. Cependant, ce n'est pas nécessairement le cas. Ce sera n'importe quel éditeur auquel vous auriez réglé la variable d'environement $EDITOR. Pour trouver à quoi c'est réglé dans votre environement faites:

bash-2.04$ env | grep EDITOR
    

Pour avoir le mode insertion dans vi, tapez i. Vous pourrez alors taper votre bref compte-rendu. Une fois que vous avez fini, tapez ESC (qui vous fera sortir du mode insertion), et puis tapez :wq puis Entrée. Ceci vous fera sauvegarder le fichier (le bref compt-rendu) et vous fera quitter vi. Votre 'commit' sera alors exécuté.

2.4. Mise à jour de votre copie

Comme il est probable que d'autres ont pu faire des changements durant le developpement du projet, votre copie locale du contenu de CVS peut ne pas être tout le temps à jour. Afin de garder votre copie à jour vous pouvez faire:

bash-2.04$ cvs update
    

Notez que ceci ne peut être fait que depuis le répertoire que vous voulez mettre à jour.



[1] 'checkout' et 'co' désignent la même opération en ligne de commande - Vous pouvez les utiliser tous deux indifféremment