A.3. CVS anonyme

A.3.1. Introduction

CVS anonyme (ou comme on l'appelle également, anoncvs) est une de fonctionnalité des utilitaires CVS livrés avec FreeBSD qui permet la synchronisation avec un référentiel CVS sur une machine distante. Elle permet, entre autres, aux utilisateurs de FreeBSD, de lire, sans autorisation particulière, les archives disponibles sur l'un des serveurs anoncvs officiels du projet FreeBSD. Pour l'utiliser, il suffit simplement de définir la variable d'environnement CVSROOT pour qu'elle pointe sur le serveur anoncvs approprié, fournir le fameux mot de passe “anoncvs” avec la commande cvs login, puis ensuite utiliser la commande cvs(1) pour y accéder de la même manière qu'à un référentiel local.

Note:

La commande cvs login, stocke les mots de passe utilisés pour authentification sur le serveur CVS dans un fichier appelé .cvspass dans votre répertoire HOME. Si ce fichier n'existe pas, vous pourrez obtenir une erreur quand vous essaierez d'utiliser cvs login pour la première fois. Créez juste un fichier .cvspass vide, et relancez la commande.

Bien que l'on puisse aussi dire que CVSup et anoncvs assurent globalement la même fonction, il y a diverses nuances qui peuvent influencer l'utilisateur dans son choix d'une méthode de synchronisation. En résumé, CVSup utilise plus efficacement les ressources réseau et est de loin la méthode la plus sophistiquée des deux, mais cela a un prix. Pour employer CVSup, il faut d'abord installer et configurer un programme client spécialisé avant de pouvoir récupérer quoi que ce soit, et il faut ensuite travailler par sous-ensemble relativement importants, que CVSup appelle catalogues.

anoncvs, au contraire, peut être utilisé pour examiner n'importe quoi, d'un seul fichier à un programme particulier (tel que ls ou grep) en faisant référence au nom du module CVS. Bien sûr, anoncvs n'est bon qu'à lire un référentiel CVS, si vous avez donc l'intention de développer localement sur un référentiel partagé avec le projet FreeBSD, alors vous n'avez d'autre choix que d'utiliser CVSup.

A.3.2. Utiliser CVS anonyme

Configurer cvs(1) pour utiliser un référentiel CVS anonyme consiste simplement à définir la variable d'environnement CVSROOT pour qu'elle pointe sur l'un des serveurs anoncvs du projet FreeBSD. A la date de rédaction de ce document, les serveurs suivants sont disponibles:

  • Autriche: :pserver:anoncvs@anoncvs.at.FreeBSD.org:/home/ncvs (Utilisez cvs login et entrez le mot de passe “anoncvs” quand on vous le demandera.)

  • France: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (pserver (mot de passe “anoncvs”), ssh (aucun mot de passe))

  • Allemagne: :pserver:anoncvs@anoncvs.de.FreeBSD.org:/home/ncvs (rsh, pserver, ssh, ssh/2022)

  • Japon: :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs (Utilisez cvs login et entrez le mot de passe “anoncvs” quand on vous le demandera.)

  • Taiwan: :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs (pserver (utilisez cvs login and entrez n'importe quel mot de passe quand on vous le demandera), ssh (pas de mot de passe))

    SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_host_dsa_key.pub
  • USA: freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs (ssh uniquement - pas de mot de passe)

    SSH HostKey: 1024 a1:e7:46:de:fb:56:ef:05:bc:73:aa:91:09:da:f7:f4 root@sanmateo.ecn.purdue.edu
    SSH2 HostKey: 1024 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65 ssh_host_dsa_key.pub
  • USA: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (ssh2 uniquement - pas de mot de passe)

    SSH2 HostKey: 2048 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62 /etc/ssh/ssh_host_dsa_key.pub

Comme CVS vous permet de récupérer (“check out”) pratiquement n'importe quelle version des sources de FreeBSD ayant existé (ou, dans certains cas, à venir), vous devez maîtriser l'indicateur de révision (-r) de cvs(1) et connaître les valeurs qu'il peut prendre dans le référentiel du projet FreeBSD.

Il y a deux sortes d'étiquettes, les étiquettes de révision et les étiquettes de branches. Les étiquettes de révision s'appliquent à une révision particulière. Leur signification ne varie pas d'un jour à l'autre. Les étiquettes de branche, à l'inverse, se rapportent à la dernière révision sur une branche particulière à un moment donné. Comme les étiquettes de branche ne se rapportent pas à une révision particulière, elles peuvent désigner demain quelque chose de différent de ce qu'elles référencent aujourd'hui.

Section A.7, « Etiquettes CVS » présente les étiquettes de révision qui peuvent intéresser l'utilisateur. Encore une fois, aucune ne s'applique au catalogue des logiciels portés puisque ce dernier ne présente pas de multiples branches de développement.

Quand vous précisez une étiquette de branche, vous obtenez normalement la dernière version des fichiers de cette branche de développement. Si vous voulez une version antérieure, vous pouvez l'obtenir en précisant une date avec l'indicateur -D date. Reportez-vous aux pages de manuel cvs(1) pour plus de détails.

A.3.3. Exemples

Bien qu'il soit vraiment recommandé de lire attentivement les pages de manuel de cvs(1) avant de faire quoi que ce soit, voici quelques exemples rapides qui vous montrent essentiellement comment utiliser CVS anonyme:

Exemple A.1. Récupérer quelque chose de -CURRENT (ls(1)):
% setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
% cvs login
At the prompt, enter any word for « password ».
% cvs co ls
	  

Exemple A.2. Utiliser SSH pour récupérer l'arborescence src/:
% cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src
The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established.
DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts.

Exemple A.3. Récupérer la version 6-STABLE de ls(1):
% setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
% cvs login
At the prompt, enter any word for « password ».
% cvs co -rRELENG_6 ls
	  

Exemple A.4. Générer la liste des différences concernant ls(1) (sous forme de “diffs unifiés”) entre différentes versions de FreeBSD
% setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
% cvs login
At the prompt, enter any word for « password ».
% cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls
	  

Exemple A.5. Savoir quels autres noms de modules peuvent être utilisés:
% setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
% cvs login
At the prompt, enter any word for « password ».
% cvs co modules
% more modules/modules
	  

A.3.4. Autres ressources

Les ressources supplémentaires suivantes peuvent être utiles pour apprendre à se servir de CVS:

  • Guide CVS de Cal Poly.

  • CVS Home, la communauté de développement et de support de CVS.

  • CVSweb est l'interface Web pour CVS du projet FreeBSD.

Ce document, ainsi que d'autres peut être téléchargé sur ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/

Pour toutes questions à propos de FreeBSD, lisez la documentation avant de contacter <questions@FreeBSD.org>.

Pour les questions sur cette documentation, contactez <doc@FreeBSD.org>.