Un outil de travail Collaboratif CVS IRD - Centre de Bretagne.

14
Un outil de travail Collaboratif CVS IRD - Centre de Bretagne

Transcript of Un outil de travail Collaboratif CVS IRD - Centre de Bretagne.

Page 1: Un outil de travail Collaboratif CVS IRD - Centre de Bretagne.

Un outil de travail Collaboratif

CVS

IRD - Centre de Bretagne

Page 2: 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

Page 3: Un outil de travail Collaboratif CVS IRD - Centre de Bretagne.

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

• L’utilisateur n’accède qu’à une copie locale des fichiers

• Les originaux demeurent sur le «référentiel»

Page 4: Un outil de travail Collaboratif CVS IRD - Centre de Bretagne.

Description de CVS

• Outil multi-plateformes• Outil libre (http://www.cvshome.org)

• Fonctionne sur des fichiers texte (ASCII)Code source :

C, Fortran, Matlab, Perl, HTML, XML, fichiers de données, etc

Page 5: Un outil de travail Collaboratif CVS IRD - Centre de Bretagne.

Principe

Montpellier

Brest Nouméa

checkout

updatecommit

Référentiel

Copies locales

checkout

update

commit

Page 6: Un outil de travail Collaboratif CVS IRD - Centre de Bretagne.

Mode de connexion

• Mode d’accès:– Local (NFS)

– Serveur (telnet et chroot)

– Sécurisé• Kerberos

• SSH

• Utilisateurs– Anonymous (:pserver:[email protected]:/projet)– Référencé (:pserver:[email protected]:/projet)

Page 7: Un outil de travail Collaboratif CVS IRD - Centre de Bretagne.

Organisation: Les modules

checkout

updatecommit

Référentiel

Copie locale

Montpellier

Modules oceano inmarsat TSG

passwd

anoncvs = r

jgrelet = rw

TSG

Brest

Page 8: Un outil de travail Collaboratif CVS IRD - Centre de Bretagne.

Utilisation

• Forme générale d’une commande:cvs [options] <sous commande> [options] [arguments]

• Variable d’environnement CVSROOT:$> export CVSROOT :pserver:[email protected]:/projet

• Utilisation (obtenir une copie de travail d’un module):$> cvs login$> cvs checkout oceano

• Soumission (archivage) :$> cvs add <fichier>$> cvs commit –m <descriptif> <fichier>

Page 9: Un outil de travail Collaboratif CVS IRD - Centre de Bretagne.

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

Page 10: Un outil de travail Collaboratif CVS IRD - Centre de Bretagne.

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 d’un module ou ensemble de

fichiers– Gérer des branches de développement

Page 11: Un outil de travail Collaboratif CVS IRD - Centre de Bretagne.

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 1.2.1

Tag version 1.1

Page 12: Un outil de travail Collaboratif CVS IRD - Centre de Bretagne.

Exemple sous Matlab

oceanooceano

adcpadcp ctdctd xbtxbt liblib

matlabmatlabperlperl

setenv MATLABPATH ~:/home/perceval/jgrelet/cvs/oceano/lib/matlab

Page 13: Un outil de travail Collaboratif CVS IRD - Centre de Bretagne.

Projet complexe: Thermo

Thermo V1.0

Thermo V1.1 Thermo V1.1GUI

Thermo V2.0

Thermo V1.2GUI Thermo V1.2

branche

fusion

Page 14: Un outil de travail Collaboratif CVS IRD - Centre de Bretagne.

CVS resources book

• CVS

• CVS Home http://www.cvshome.org

• Documentation CVS (jgrelet)

• CVS-Howto http://www.ac-grenoble.fr/slis/devel/cvs-howto.html

• Utilisation de CVS http://www.idealx.com