Crash-course de cvs:

Il y a plusieurs mécanismes qui permettent de récupérer sur un serveur cvs une arborescence, la première (et c'est celle à préférer) suppose que vous avez droit d'accès à un utilisateur sur le serveur (ce qui signifie pouvoir faire un rsh sur le serveur sans mot de passe) pour cette méthode l'utilisation de ssh(2) est vivement recommandée, la deuxième utilise la méthode login du serveur, qui s'appuie elle aussi sur la présence dans le système d'un utilisateur (par la suite appelé cvs), cette méthode à tous les inconvénients du telnet de base: nom d'utilisateur et mot de passe transitent en clair sur le réseau.

Tout d'abord s'assurer que les variables d'environnement soyent bien reglées: echo $CVSROOT doit retourner tux.u-strasbg.fr:/usr/local/cvsroot si c'est pas le cas:

export CVSROOT=tux.u-strasbg.fr:/usr/local/cvsroot

et echo $CVS_RSH doit donner ssh(2), sinon déclarer cette variable comme décrit plus haut. Ou bien pour utiliser un accès externe, régler sur le scripte que vous aurez pris la peine de télécharger et placer dans un endroit accessible par votre chemin par défaut (p.ex. /bin).

Ensuite: cvs -d cvs@tux.u-strasbg.fr:/usr/local/cvsroot co www pour la première méthode ou

cvs -d :pserver:cvs@tux.u-strasbg.fr:/usr/local/cvsroot login (avec le mot de passe convenu, à n'utiliser qu'en cas d'urgence fatale)

Puis cvs -d :pserver:cvs@tux.u-strasbg.fr:/usr/local/cvsroot co www pour la deuxième méthode (qui je le répète est absolument à éviter.

Préférez à la version pserver, la version sécurisée utilisant ssh:

CVS_RSH= /bin/sshanoncvs cvs -d :ext:cvs@inforezo.u-strasbg.fr:/usr/local/cvsroot checkout jmud

il y a une alternative à cela, il suffit de placer dans votre /.ssh/config:

Host kitenet.net
User = cvs
IdentityFile = ~/.ssh/identity_anoncvs
ForwardAgent = no
ForwardX11 = no
Compression = yes

Et mettez à la place de /.ssh/identity_anoncvs ce fichier en utilisant pour CVS_RSH comme d'habitude ssh. Cet accès est en lecture uniquement, pour un accès en lecture/écriture en anonyme, le mécanisme est le même, mais les clés changent, et vous les demanderez aux mainteneurs des différents projets.

À savoir que les paramètres du style -d :pserver:cvs@tux.u-strasbg.fr:/usr/local/cvsroot sont stoquès (ex. www/CVS/Root) dans l'arborescence qui vient d'ètre crée, donc tant que l'on évoluera dans cette arborescence ces arguments n'auront plus besoin d'ètre répétes.

Pour rajouter des fichiers au serveur, vous vous positionnez dans le repertoire dans lequel ils se trouvent, puis cvs add votre_fichier (les wildcards sont permis, et chose importante les répertoires aussi doivent ètre déclarés au préalable), pour enlever, reciproquement cvs delete le_fichier (pour que cette dernière commande soit acceptée, il faut que le fichier en question n'existat déjà plus dans ce répertoire). A savoir que cela stoque seulement votre intention de faire une telle action, vous allez la finaliser ainsi que la sauvegarde de vos changements sur le serveur avec cd racine_de_votre_projet , cvs -m"un commentaire" ci (qui est recursif...).

Prière de mettre des commentaires parlants (que l'on peut récupérer par cvs log un_fichier) car pour ceux qui passeront derrière, pour chercher un problème, p.ex. ne seront pas forcément ravis de trouver des coucou et autres messages à la c.. !

Avant de faire un ci (check in) s'assurer que personne n'en a fait avant vous: cvs update >log 2>&1 . Contrôlez le log concernant les erreurs et les lignes commencant avec un C indiquant des conflits qui doivent etre resolus a la main.