Un outil de travail Collaboratif CVS IRD - Centre de Bretagne
Les outils disponibles Logiciels propriétaires: –Visual Source Safe (Microsoft) –Relational Clear Case (IBM) –PVCS (Perforce) Logiciels libres: –RCS –CVS
Description de CVS Outil de travail de développement en équipe Conserve les révisions successives Facilite la collaboration de plusieurs personnes sur un même projet Lutilisateur naccède quà une copie locale des fichiers Les originaux demeurent sur le «référentiel»
Description de CVS Outil multi-plateformes Outil libre ( Fonctionne sur des fichiers texte (ASCII) Code source : C, Fortran, Matlab, Perl, HTML, XML, fichiers de données, etc
Principe Montpellier BrestNouméa checkout update commit Référentiel Copies locales checkout update commit
Mode de connexion Mode daccès: –Local (NFS) –Serveur (telnet et chroot) –Sécurisé Kerberos SSH Utilisateurs –Anonymous –Référencé
Organisation: Les modules checkout update commit Référentiel Copie locale Montpellier Modules oceanoinmarsatTSG passwd anoncvs = r jgrelet = rw TSG Brest
Utilisation Forme générale dune commande: cvs [options] [options] [arguments] Variable denvironnement CVSROOT: $> export CVSROOT Utilisation (obtenir une copie de travail dun module): $> cvs login $> cvs checkout oceano Soumission (archivage) : $> cvs add $> cvs commit –m
Travail sur les fichiers Editeurs –Emacs –VI ou mieux VIM Gère les conflits de versions concurrentes Mettre à jour sa copie de travail pour se préserver des collisions (cvs update) Ne peut pas aider à la résolution de conflits relatifs à des logiques de programmation
Utilisation avancée Historique et état des fichiers $> cvs log callback_analyse.m $> cvs status callback_analyse.m Différences entre versions $> cvs diff –r 1.1 callback_analyse.m Contraintes et branches –Figer une version dun module ou ensemble de fichiers –Gérer des branches de développement
Utilisation avancée module demo titi.m revision 1.1 toto.m revision 1.1 titi.m revision 1.2 titi.m revision 1.3 toto.m revision 1.2 README revision 1.1 titi.m revision 1.4 Appliquer une contrainte Tag version 1.0 toto.m revision 1.8 titi.m revision 1.14 README revision 1.3 Tag version 2.0 Bug sur la version 1.0 dans toto.m toto.m revision Tag version 1.1
Exemple sous Matlab oceano adcpctdxbtlib perlmatlab setenv MATLABPATH ~:/home/perceval/jgrelet/cvs/oceano/lib/matlab
Projet complexe: Thermo Thermo V1.0 Thermo V1.1Thermo V1.1GUI Thermo V2.0 Thermo V1.2GUIThermo V1.2 branche fusion
CVS resources book CVS CVS Home Documentation CVS (jgrelet) CVS-Howto Utilisation de CVS