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. On assume que vous êtes familier avec le shell Unix.
Les nouveaux comptes CVS peuvent êtres créés via l'Interface Web, ou
avec la commande cvs add de l'Interface Shell:
csoftadm> cvs add mycvsuser1 csoftadm> cvs add mycvsuser2
Optionellement, vous pouvez attribuer des clefs publiques SSH à chaque
compte CVS à l'aide des commandes cvs pubkey (ou depuis l'Interface Web,
cliquez sur l'utilisateur CVS en question). Les clefs publiques sont
utiles pour l'authentification sans mot de passe.
csoftadm> cvs pubkey add mycvsuser1 csoftadm> cvs pubkey list mycvsuser1
CVS utilise les simples modes de permissions Unix pour gérer l'accès
sur les dépots (si une gestion de l'accès plus complexe est nécessaire,
il est recommandé d'utiliser SVN).
Nous allons créer un nouveau groupe Unix pour définir un ensemble
d'utilisateurs avec accès en lecture et écriture sur le nouveau dépot.
Il est important d'ajouter votre nom d'utilisateur principal au groupe.
csoftadm> group add mycvsgroup csoftadm> group user-add mycvsgroup myself csoftadm> group user-add mycvsgroup mycvsuser1 csoftadm> group user-add mycvsgroup mycvsuser2
Après avoir créé le nouveau groupe, assurez-vous de vous déconnecter
de votre session shell existante, et reconnectez-vous ensuite (sinon
la prochaine commande chgrp ne fonctionnera pas).
Depuis votre shell, utilisez la commande cvs init pour
initialiser un nouveau dépot CVS, et attribuez les permissions
correctes au répertoire ainsi créé.
$ export CVSROOT="/home/myself/MyCVS" $ cvs -d $CVSROOT init $ chgrp -R mycvsgroup $CVSROOT $ chmod 770 $CVSROOT
Maintenant que votre dépot CVS est initialisé, vous pouvez vous
connecter avec un logiciel de client CVS distant. En assumant que
vous utilisez le client cvs traditionnel:
$ export CVSROOT="mycvsuser1@myhost.csoft.net:/home/myname/cvs" $ export CVS_RSH=ssh $ mkdir test $ cd test $ cvs import -m "Test" test mycvsuser1 start
Dans l'exemple précédent, substituez mycvsuser1 pour le nom du compte CVS que vous voulez utiliser. Aussi, changez myhost pour le nom du serveur csoft.net assigné à votre compte (si vous possédez un compte Budget au minimum, il est possible d'utiliser votre propre domaine également). Le paramètre CVSROOT est enregistré avec votre copie locale. Il est inutile de le respécifier après un checkout.
Voici quelques exemples d'opérations communes qui peuvent être exécutées à l'aide du client traditionnel CVS.
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
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
Si l'erreur « can't getwd » apparait lorsque vous utilisez commit ou checkout, vérifiez que le compte CVS possède bien les permissions d'exécution (+x) et de lecture (+r) sur tous les répertoire parents du répertoire du dépot.
Pour acquérir une compétence de base avec CVS, référez vous au FAQ.
© 2026 Communications CubeSoft