Comment démarrer avec CVS
SommaireOn suppose qu'on a déjà installé CVS avec cygwin, et cclipse. On va mettre en place tout ce qu'il faut pour pouvoir partager du code source via CVS.
Le manuel officiel CVS est ici: http://ximbiot.com/cvs/manual/cvs-1.11.21/cvs.html
"Open Source
Development with CVS" par Karl Fogel est mieux sur plusieurs points.
La procédure est la suivante (cf "Starting a project with CVS")
cvs -d chemin_absolu init
# Par exemple:
cvs -d F:/cvsroot init
# F: sera naturellement un lecteur réseau
cd répertoire_où_sont_les_sources
cvs -d F:/cvsroot import -m "Initial import." nom_module nom_du_fournisseur_source start
Le nom_module est important; c'est le nom avec lequel on fera le checkout.
Et voilà, la base CVS est créée !
Maintenant on peut y accéder en ligne de commande:
cd répertoire_travail
cvs -d F:/cvsroot checkout nom_module
Si on veut se simplifier la vie on peut créer la variable d'environnement CVSROOT:
export CVSROOT=F:/cvsroot
Et alors après c'est plus simple:
cvs checkout nom_module
Mise à jour:
cd nom_module/sous_répertoire
# ... modifier fic1 et fic2; compiler et tester
cvs commit fic1 fic2
# enregister le commentaire de la mise à jour (terminer par . tout seul sur un ligne)
Récupérer les dernières mises à jour;
ceci va "rafraichir" récursivement tous les
sous-répertoires:
cvs update -d
Malheureusement eclipse n'est pas capable de traiter un référentiel CVS situé sur la même machine; il veut un accès réseau.
Bonne doc. en Français :
http://perso.wanadoo.fr/jm.doudoux/java/dejae/chap013.htm#chap_13
Open the preferences (Window > Preferences) and turn on the CVS label decorations (on page Workbench > Label Decorations and ensure CVS is checked).
Sur Windows il faut installer CVSNT
.
Sur Linux il faut installer le paquetage cvs . Cela crée un
fichier
/etc/xinetd.d/cvs
Sur Fedora, le répertoire racine de la base CVS est
donné ainsi :
--allow-root=/var/cvs
Sur Mandrake, c'est donné dans un fichier indépendant
/etc/cvs/cvs.confcomme ceci :
CVS_REPOS=/var/cvs
/etc/init.d/cvs startou sur Fedora via
system-config-services
Ayant lancé un serveur CVS comme expliqué ci-dessus,
on lance les clients comme précédemment, ce qui change
c'est l'identifiant du référenciel après -d :
cvs -d :pserver:jmv@192.168.0.3:/var/cvs checkout nom_module
Si par ailleurs le service ssh est installé et lancé,
on peut accéder de manière cryptée ainsi :
cvs -d :ext:jmv@192.168.0.3:/var/cvs checkout nom_module
Par défaut rien n'est binaire. Donc faire un commit d'un
fichier .jar le corrompt. Il faut déclarer le statut binaire des
fichiers en fonction de leur suffixe .
$ cd /tmp
$ echo $CVSROOT
/var/cvs
$ cvs co CVSROOT/cvswrappers
U CVSROOT/cvswrappers
$ cd CVSROOT
$ gvim cvswrappers
$ tail -6 cvswrappers
# For example:
*.jar -k 'b'
*.ttf -k 'b'
*.jpg -k 'b'
*.png -k 'b'
*.gif -k 'b'
$ cvs commit cvswrappers
Checking in cvswrappers;
/mnt/home-hda1/jmv/cvsroot/CVSROOT/cvswrappers,v <-- cvswrappers
new revision: 1.2; previous revision: 1.1
done
cvs commit: Rebuilding administrative file database