Sécurité, Performance
et Haute Disponibilité
Petit guide CVS

Ce petit guide donne un bref aperçu des commandes et détails de configuration nécessaires à l'utilisation de comptes CVS sur un serveur Csoft.net.

NOTE: This guide is under construction.

L'initialisation du compte

Après avoir obtenu votre compte(s) CVS, soit par le biais de csoftadm ou par requête au support technique, imitez les commandes suivantes en appliquant les substitutions nécessaires.

Dans les exemples suivants, assumez que -

  • L'utilisateur CVS = mycvsuser
  • Le serveur = myhost.csoft.net
  • Le compte principal = myname
  • Le dépot cvs = /home/myname/cvs

Déclarez les variables d'environnement suivantes sur votre poste de travail -

  Shell Bourne:
    $ export CVSROOT=mycvsuser@myhost.csoft.net:/home/myname/cvs
    $ export CVS_RSH=ssh
  Shell C:
    % setenv CVSROOT mycvsuser@myhost.csoft.net:/home/myname/cvs
    % setenv CVS_RSH ssh

Le paramètre CVSROOT est enregistré avec votre copie locale. Il est inutile de le respécifier après un checkout.

Avant que des commandes cvs puissent être issues, un dépot CVS doit être initialisé. Pour initialiser un dépot CVS, exécutez -

  $ cvs -d $CVSROOT init

La création de répertoire et l'ajout/suppression de fichier

Pour créer un répertoire nommé html sur le serveur et y ajouter un fichier nommé new.html, exécutez -

  $ cd ~/
  $ mkdir html
  $ cp new.html html
  $ cd html
  $ cvs import -m "Mon site web" html mycvsuser start

Les commandes précédentes créent un répertoire, html et générent une version cvs de new.html dans /home/myname/cvs. La valeur exacte des paramètres vendor-tag (ici «mycvsuser») et release-tag (ici «start») n'est pas importante dans la plupart des cas.

L'opération précédente aurait aussi pu être effectuée à l'aide de la commande import.

Pour confirmer l'existence du répertoire et fichier sur le dépot, téléchargez les, après avoir enlevé la copie locale du répertoire html -

  $ cd ~/
  $ rm -rf html
  $ cvs checkout html

Pour supprimer un fichier, utilisez la commande remove. Tout comme avec add, la commande devient effective seulement après un commit. Le flag d'option -R supprime récursivement l'ensemble d'un répertoire et de son contenu. Pour effacer new.html, vous exécuteriez -

  $ cd ~/html
  $ cvs remove -f new.html
  $ cvs commit new.html

Autres

Le transfert d'un fichier binaire au serveur nécessite une attention particulière pour éviter la substitution des «tags» RCS. Pour importer un fichier de type binaire, spécifiez le flag d'option -kb avec la commande add. Pour importer un fichier binaire nommé image.jpg sur le dépot, vous exécuteriez -

  $ cd ~/html
  $ cvs add -kb image.jpg
  $ cvs commit image.jpg

Les différences entre les revisions peuvent être visualisées avec la commande diff -

  $ cvs diff foo.txt
  $ cvs diff -r1.2 -r1.3 foo.txt

Pour voir l'historique de revision des fichiers inclus dans le dépot, utilisez la commande log -

  $ cvs log foo.txt

Des arguments par défaut pour les commandes cvs peuvent être spécifiés dans le fichier ~/.cvsrc. Par exemple -

  # Utiliser la compression de niveau 3
  cvs -z3
  # Créer nouveaux répertoires, enlever ceux qui sont vides.
  update -dP
  # Supprimer les répertoires vides.
  checkout -P
  # Format de diff unifié, inclure fichiers ajoutés/supprimés
  diff -uN

En cas de problèmes

(Traduc en cours) If the error "can't getwd" appears when attempting to commit or even checkout data, check that the CVS account you are using has the permissions +x (and possibly +r, depending on your server OS) on all parent directories relative to the repository.

  $ ls -ld $HOME
  $ ls -ld $HOME/my-repo/
  $ chgrp my_cvs_users $HOME/my-repo
  $ chmod g+rwx $HOME/my-repo

More information

Pour acquérir une compétence de base avec CVS, référez vous au FAQ.

Quelques liens utiles:


  Contre les brevets logiciels!