| AccueilCalendrierVenir aux réunionsContactsMembresDocumentationsLiens Forbach (57) Metz (57) Ventron (88) BacASable |
MirabellugWikiCvsIntroPetit manuel de CVS ExpressLe but est de permettre d'utiliser les fonctionnalités de base de CVS avec les serveurs hébergeurs de projet comme Gna, Savannah, SourceForge et plein d'autres encore, pour le développement d'un projet libre. Nous utiliserons ici le couple CVS et SSH, ce dernier permettant d'assurer l'authentification, le transport et la confidentialité des informations échangées avec le serveur CVS. Pour faire fonctionner la partie SSH, il faut se générer une paire de clef SSH ( voir la présentation de SSH pour les détails ) et transfèrer la clef publique sur le serveur, en utilisant en générale l'interface web prévue à cet effet. Une fois que cette partie fonctionne, on va rapatrier en local les fichiers sur le CVS distant. Si nous avons un compte cvsuser sur le serveur cvs.cvsserver.org et que nous voulons récuperer les sources du projet monprojet, celà donne : $ export CVS_RSH=ssh $ cvs -d cvsuser@cvs.cvsserver.org:/cvs/monprojet co src cvs checkout: Updating src U src/README $ ls src CVS README La variable d'environnement CVS_RSH explique à CVS d'utiliser SSH pour se connecter au serveur distant. La commande cvs co (alias de checkout) rapatrie les sources du module monprojet du projet monprojet. Le module (un répertoire racine du projet, ici src) ne porte pas forcément le même nom que le projet : ça dépend des serveurs. On remarque ici qu'il y a un répertoire CVS. En fait il y un répertoire CVS par répertoire que vous allez créer dans le cvs. Il est conseillé de ne pas toucher à ces répertoires, ils sont utilisés pour le fonctionnement de CVS. Sur le dépot il existe aussi un répertoire CVSROOT qui est utiliser pour administrer le comportement du dépôt cvs. Ces noms sont bien entendu réservés, il ne faut donc pas les utiliser pour ces propres sources. Synchronisons nous avec le serveur CVS : $cd src $ cvs -z3 up cvs update: Updating . Tout est à jour. Ajoutons un fichier test.txt à notre projet : $ echo "Ceci est un projet de test" > test.txt Synchronisons nous avec le serveur CVS : $ cvs -q -z3 up ? test.txt Le ? signifie que le fichier test.txt ne fait partie du dépot CVS. Les options -q et -z3 sont optionnelles : -q pour quiet (n'affiche pas les répertoires parcourus)
-z3 pour activer la compression. Ajoutons le : $ cvs -q -z3 add test.txt cvs add: scheduling file `test.txt' for addition cvs add: use `cvs commit' to add this file permanently Le fichier est marqué pour ajout, mais n'est pas encore sur le CVS. Pour l'envoyer réellement sur le cvs, il faut faire un checkin (alias : ci) : $ cvs -q -z3 ci -m "Ajout d'un fichier au projet" test.txt /cvs/monprojet/src/test.txt,v <-- test.txt initial revision: 1.1 Ajoutons une ligne à notre fichier de test : $ echo "Ajout d'une ligne" >> test.txt $ cvs up cvs update: Updating . M test.txt Lors de la synchronisation, un M apparait devant le nom du fichier pour nous indiquer que nous possèdons une copie modifiée du fichier, différente de la dernière version mise à jour sur le serveur. Mais quelle sont les différences ? $ cvs diff test.txt Index: test.txt =================================================================== RCS file: /cvs/monprojet/src/test.txt,v retrieving revision 1.1 diff -r1.1 test.txt 1a2 > Ajout d'une ligne Metons à jour le serveur cvs : $ cvs ci -m "Ajout d'une ligne" test.txt /cvs/test/src/test.txt,v <-- test.txt new revision: 1.2; previous revision: 1.1 On remarque ici que le numéro de version du fichier c'est incrémenté automatiquement.
Il n'y a pas de commentaire sur cette page.
[Afficher commentaires/formulaire]
|