...:.:: Bienvenue sur mon site ::.:...
HOME | PERSO | LINKS | ABOUT
CVS

Utilisation courante :

Il faut maintenant expliquer à ceux qui travaillent avec vous sur le projet, comment utiliser CVS. Les utilisateurs doivent aussi initialiser les variables d'environement CVSROOT et CVSEDITOR, et se créer un repertoire de travail. Puis en se placant dans ce repertoire, ils doivent récupérer tout le projet en tapant :

cvs checkout <nom_du_projet>

Normalement cette commande ne sera à faire qu'une seule fois (en utilisation normale!) Elle vous crée une copie locale du projet, sur laquelle vous travaillerez...

Ensuite chaque développeur modifie les fichiers sur son compte, et lorsqu'il veut les soumettre à CVS, c'est à dire les enregistrer, dans le dépot, et que tout les autres utilisateurs puisse le charger, il tape :

cvs commit <fichier>

Remarque personnelle : ne déposez un fichier que lorsque celui ci tiens la route, je veux dire par là, qu'il est compilable, et qu'il passe quelques tests élémentaires ; ayez pitié des autres utilisateurs qui vont faire un update et qui ne pourront plus travailler correctement si cette précaution n'est pas prise!

A l'inverse, lorsqu'un utilisateur a modifié un fichier mais qu'il veut revenir à la version originale contenue dans CVS, il tape :

cvs update <fichier>

Ou même plus globalement, il serait bon, en se mettant à la racine de son repertoire de travail, que tous les utilisateurs tapent régulièrement la commande :

cvs update

Qui aura pour conséquence d'écraser toutes les copies des fichiers locaux à chaques utilisateurs, par les dernières versions de CVS, et aisni de se tenir à jouret de na pas travailler sur des versions obsolètes de certains fichiers!

Enfin si un utilisateur souhaite ajouter un nouveau fichier au depot, il faut commencer par taper :

cvs add <fichier>

Puis, comme lors d'une modification :

cvs commit <fichier>

Il en est de même pour un repertoire :

mkdir newdir
cvs add newdir
cvs commit -m "un nouveau repertoire" newdir

La seule différence notable est qu'un repertoire ne peux pas être effacé du depot!

Un utilisateur peut aussi utiliser la commande :

cvs commit

Sans préciser de fichier, mais cette commande est risquée et doit être utilisée avec précautions ; elle va déposer dans CVS, tous les fichiers locaux, alors réfléchissez bien avant. Enfin de toute facon avec CVS, vous pourrez toujours récupérer les versions précédentes!

Rappel : Ne pas modifier directement, à la main, ce qui se trouve dans le depot!
Ne pas toucher au repertoire <nom_du_projet>/CVS sur votre compte!

Lors d'un commit :

cvs commit fichier.cpp

Si jamais un message du genre apparait :

cvs commit: Examining .
cvs commit: Up-to-date check failed for `fichier.cpp'
cvs [commit aborted]: correct above errors first!

C'est que le fichier a été modifié depuis que vous l'avez recuperé, c'est pourquoi il est important de faire des update régulièrement (pour éviter cette erreur!) et vous devez alors faire une mise à jour (update) avant de refaire un commit.
cvs update fichier.cpp. CVS va alors merger les deux versions. Vérifiez que cette fusion, est valide, et que le fichier que vous avez obtenu (sur votre compte) tiens la route (est compilable), et déposez le :

cvs commit fichier.cpp

Par contre, si l'update vous donne une erreur du type :

cvs update: Updating .
RCS file: <chemin>/fichier.cpp,v
retrieving revision 1.7
retrieving revision 1.8
Merging differences between 1.7 and 1.8 into fichier.cpp
rcsmerge: warning: conflicts during merge
cvs update: conflicts found in fichier.cpp
C fichier.cpp

C'est que vous presentez un probleme : CVS n'a pas réussi à fusionner les versions du fichier, il vous faut alors le faire à la main! Mais pas d'inquiètude, en général les corrections sont souvent triviales (utilisez la commande 'cvs diff'). Puis faites un commit!

Autres Commandes :

Voici quelques autres commandes utiles, pour lesquelles vous pouvez vous référer à l'aide de CVS :

Pour consulter les commentaires des versions d'un fichier et les auteurs des modifications :

cvs log <fichier>

Pour afficher les différences entre deux versions :

cvs diff

Pour effacer un fichier, ce qui aura pour conséquences qu'il ne sera plus chargé par les commandes checkout ou update,
même si une archive du fichier reste conservée dans le depot de CVS :

cvs remove <fichier>

Et pour imposer un nom de version à tous les fichiers :

cvs release

Pour plus d'informations, consultez l'aide de CVS, ou mieux, des How-to sur internet...

TOP

Pour tous commentaires, remarques (et insultes), contactez moi.