130 likes | 303 Views
Concurrent Versions System. Sabrina LEFIEVRE - sabrina.lefievre@imag.fr Stéphane CHOMAT - stephane.chomat@imag.fr. Equipe ADELE Jeudi 21 Février 2002. CVS Concurrent Versions System. Pourquoi ? Partage, centralisation de code Récupération des dernières versions
E N D
Concurrent Versions System Sabrina LEFIEVRE - sabrina.lefievre@imag.fr Stéphane CHOMAT - stephane.chomat@imag.fr Equipe ADELE Jeudi 21 Février 2002
CVSConcurrent Versions System • Pourquoi ? • Partage, centralisation de code • Récupération des dernières versions • Retour aux précédentes versions • Différences entre les versions • Supporte les fichiers binaires • Pour qui ? • Développeurs individuels • Equipes, projets
CVSConcurrent Versions System • Comment ? • Modèle client/serveur • Un repository sur le serveur • Quels clients ? • WinCVS (Windows) • JCVS (Java) • CVSweb ...
CVSConcurrent Versions System Developer A update development checkout checkin repository Developer B Idéalement...
checkin conflict resolution checkin update X conflict CVSConcurrent Versions System Developer A repository Developer B En pratique...
CVSConcurrent Versions System • Usage • Checkout • Copies privées dans le répertoire de travail • Plusieurs copies possibles de plusieurs versions • Commit • Envoi des modifications au serveur • Update • Mise à jour des versions depuis le serveur
CVSConcurrent Versions System • Les principales commandes • Syntaxe • cvs [cvs-options] command [cmd-options] [files] • Commandes • checkout • add • remove • log • diff • update • commit • tag...
CVSConcurrent Versions System • Sources • CVS home : http://www.cvshome.org • Client WinCvs: http://www.wincvs.org • Client jCVS: http://www.jcvs.org/
CVS avec ANT • Syntaxe : <cvs [liste des propriétés]/> • Principales propriétés • Autres propriétés : date, quiet, noexec, output, error, port, passfile.
Le Target co-management contient la commande ci-dessus. Le fichier a été modifié, il est laissé tel quel dans le répertoire de travail Un Exemple • mets les fichiers du module "compitv/doc-management" dans le répertoire de travail. • <cvs cvsRoot=":pserver:chomats@zidane:/data/cvs" • package="compitv/doc-management" • dest="${mon_repertoire_de_travail}" • /> • $ ant co-management • Buildfile: build.xml • co-management: • [cvs] cvs server: Updating compitv/doc-management • [cvs] M compitv/doc-management/CDC.doc • [cvs] A compitv/doc-management/PDL.doc • [cvs] A compitv/doc-management/SE0.doc
Conseils pour utiliser cvs • Avoir une architecture logicielle modulaire et bien définie. • Faire des « commit » à chaque modification importante. • Une personne responsable pour résoudre les conflits. • Les documents binaires sont en mode « verrouillé ».
Comment créer un module • Avoir un compte au niveau du serveur cvs. • Créer en local notre architecture = répertoire + fichier. • Utiliser la commande import de cvs pour mettre ces fichiers dans la base. • Puis utiliser la commande update ou checkout.
Référence • http://jakarta.apache.org/ant/manual/CoreTasks/cvs.html • http://www.wincvs.org • CVS home : http://www.cvshome.org • Client WinCvs: http://www.wincvs.org • Client jCVS: http://www.jcvs.org/ • Des questions ?