Utiliser CVS sur une machine distante

Un article de Mangue.org, l'encyclopéde libre.


Pour utiliser CVS en réseau, il y a (au moins) deux machines à configurer : le client et le serveur. Si vous n'êtes pas l'administrateur de la machine qui héberge le serveur CVS, alors vous pouvez sautez le premier paragraphe.


Sommaire

Côté serveur : cvspserver

Pour utiliser CVS en mode serveur (cvspserver), la machine hôte doit proposer ce service. Pour cela, il faut éditer le fichier /etc/xinetd.conf , qui sert à activer les services réseaux. Ajoutez-y la ligne suivante (tout sur la même ligne) :

$ cvspserver stream tcp nowait root /usr/bin/cvs cvs -f --allow-root=/usr/local/projets pserver

Editez ensuite /etc/services et ajoutez cette ligne (si elle n'est pas déjà présente) :

cvspserver 2401/tcp

Relancez ensuite les services réseaux pour que le serveur CVS soit pris en compte. Pour qu'un utilisateur puisse se connecter au serveur CVS, il doit avoir un compte sur la machine. Il faut maintenant informer CVS de la liste des personnes, qui vont utiliser le service. On crée donc le fichier $CVSROOT/CVSROOT/passwd. La syntaxe est la suivante :

<nom de login>:<mot de passe crypté>:<utilisateur local>
  • <nom de login> est le nom que l'utilisateur utilise pour se connecter,
  • <mot de passe crypté> est le mot de passe correspondant,
  • <utilisateur local> est le login d'un utilisateur local défini sur le système hôte et qui donnera ses privilèges de lecture/écriture à la personne qui se connecte avec le <nom de login> correspondant.

Pour importer un mot de passe crypté, on peut par exemple utiliser l'utilitaire htpasswd fournit avec Apache.

Côté client

Si vous avez accès par le réseau à une machine hébergeant un serveur CVS, vous pouvez vous connecter en utilisant la commande :

$ cvs -d :pserver:user@serveur:/usr/local/projets login

Le <nom de login> est ici user et le dépôt se trouve sur le serveur serveur avec le chemin /usr/local/projets. Entrez votre mot passe à l'invite de CVS. Vous êtes connecté. Pour mettre fin à la session CVS, il faut utiliser la commande logout :

$ cvs -d :pserver:user@serveur:/usr/local/projets logout

Durant votre session CVS, vous pouvez utiliser toutes commandes CVS usuelles comme suit :

$ cvs -d :pserver:user@serveur:/usr/local/projets <commande>

et tout se passe comme en local.

Récupérer un projet CVS sur internet

Voyons maintenant comment récupérer les sources d'un projet CVS sur le web. On peut croiser sur Internet des sites proposant de télécharger les dernières versions des codes sources des programmes qu'ils développent, pour cela un accès anonyme à leur serveur CVS est souvent employé. C'est le cas sur Sourceforge (http://sourceforge.net/). Nous allons donc voir comment y récupérer un projet. Sourceforge héberge des centaines de projets de développement, et pour ne pas m'embarrasser, je choisis de récupérer les sources d'un des projets les plus actifs (les projets les plus actifs sont indiqués en première page). Il s'agit du projet eGroupware (http://www.egroupware.org/), un outil de gestion de projet écrit en php. La première chose à faire est de se connecter en mode anonyme.

$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/egroupware login

Le serveur CVS demande alors un mot de passe. Il suffit de presser la touche <ENTREE>. Ensuite il faut récupérer le projet "egroupware" et le placer dans un répertoire (ici "nom_de_module"). La commande suivante doit être entrée sur une seul ligne.

$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/egroupware co nom_de_module

Si vous voulez être à jour des modifications faites dans le code source du projet, il suffit de se connecter à nouveau depuis le répertoire où on a placé le projet la première fois et de faire une mise à jour, ainsi CVS ne téléchargera que les modifications.

Liens externes

  1. Image:english.png Sourceforge, http://sourceforge.net/
  2. Image:english.png Site officiel de eGroupWare, http://www.egroupware.org/


Image:Cc_somerights.png

Image:20px-Cc-by.png Image:20px-Cc-sa.png

© Copyright S. Laborde
Cette page propose un article et/ou des documents protégés par la licence creative commons By-Sa.
Outils personels