introduction à la gestion de configuration avec cvs xavier baril
TRANSCRIPT
![Page 1: Introduction à la gestion de configuration avec CVS Xavier Baril](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dc8497959293b8e36c4/html5/thumbnails/1.jpg)
Introduction à la gestion de configuration avec
CVS
Xavier Baril
![Page 2: Introduction à la gestion de configuration avec CVS Xavier Baril](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dc8497959293b8e36c4/html5/thumbnails/2.jpg)
(C) Xavier Baril 2
Plan
Introduction Architecture Quelques commandes Les tags Les branches Conclusion
![Page 3: Introduction à la gestion de configuration avec CVS Xavier Baril](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dc8497959293b8e36c4/html5/thumbnails/3.jpg)
(C) Xavier Baril 3
La gestion de configuration
« La gestion de configuration consiste à gérer la description technique d'un système (et de ses divers composants), ainsi qu'à gérer l'ensemble des modifications apportées au cours de l'évolution du système. »
Wikipedia
Logiciel de gestion de version (CVS)
![Page 4: Introduction à la gestion de configuration avec CVS Xavier Baril](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dc8497959293b8e36c4/html5/thumbnails/4.jpg)
(C) Xavier Baril 4
CVS : qu’est ce que c’est ?
CVS = Concurrent Version System Outil d’aide au développement Gestion de versions
Au niveau du projet Au niveau de chaque fichier
Permet d’annoter les modifications sur des fichiers
![Page 5: Introduction à la gestion de configuration avec CVS Xavier Baril](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dc8497959293b8e36c4/html5/thumbnails/5.jpg)
(C) Xavier Baril 5
Projet informatique
Entre 1 et N développeurs Un cahier des charges De la production (spécification ?, conception,
codage, …) Des livraisons (conception, sources, tests,
exécutable, documentation)
Beaucoup de fichiers ! Nécessité de conserver une trace du travail
![Page 6: Introduction à la gestion de configuration avec CVS Xavier Baril](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dc8497959293b8e36c4/html5/thumbnails/6.jpg)
(C) Xavier Baril 6
Exemple d’arborescence
code lib scripts src test
delivery
doc design quality spec test
tools java uml …
![Page 7: Introduction à la gestion de configuration avec CVS Xavier Baril](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dc8497959293b8e36c4/html5/thumbnails/7.jpg)
(C) Xavier Baril 7
Intérêts de CVS
Conserver un historique du travail Faciliter le développement en équipe
Qui a fait une modification ? A quelle date ? Pourquoi ?
Stockage centralisé Gestion des accès concurrents
![Page 8: Introduction à la gestion de configuration avec CVS Xavier Baril](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dc8497959293b8e36c4/html5/thumbnails/8.jpg)
(C) Xavier Baril 8
Limites et difficultés
Limites : Espace de stockage CVS ne gère pas tout ! Pas de prise en compte de « processus métier »
Difficultés : Renommer les fichiers Modifier l’arborescence Nécessite des compétences (administration,
gestion des branches, …)
![Page 9: Introduction à la gestion de configuration avec CVS Xavier Baril](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dc8497959293b8e36c4/html5/thumbnails/9.jpg)
(C) Xavier Baril 9
Historique
SCCS (Source Code Control System) RCS (Revision Control System) Défauts de SCCS et RCS
Fonctionnent au niveau fichier Ne sont pas interopérables à distance
Création de CVS en appui sur RCS : 1989(CVS est sous licence GPL)
![Page 10: Introduction à la gestion de configuration avec CVS Xavier Baril](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dc8497959293b8e36c4/html5/thumbnails/10.jpg)
(C) Xavier Baril 10
Concepts de base
Dépôt (repository) Répertoire partagé par tous Conserve l’historique des modifications
Module Ensemble de fichiers sources ou de répertoire
constituant un projet Révision
Chaque fichier a un numéro de révision unique
![Page 11: Introduction à la gestion de configuration avec CVS Xavier Baril](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dc8497959293b8e36c4/html5/thumbnails/11.jpg)
(C) Xavier Baril 11
Architecture
Copie
Client CVS (pserver)
Copie
Server CVS
Copie
Client CVS (ssh)
CVSROOT/usr/local/cvs
CVSROOT:pserver:usr@server:/usr/local/cvs
CVSROOT:ext:usr@server:/usr/local/cvs
![Page 12: Introduction à la gestion de configuration avec CVS Xavier Baril](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dc8497959293b8e36c4/html5/thumbnails/12.jpg)
(C) Xavier Baril 12
Vocabulaire
Revision Repository Working copy Check out
Commit Log message Update Conflict
![Page 13: Introduction à la gestion de configuration avec CVS Xavier Baril](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dc8497959293b8e36c4/html5/thumbnails/13.jpg)
(C) Xavier Baril 13
Quelques commandes (1)
Cvs add Nécessaire lorsqu’on
créé un nouveau fichier (ou répertoire) pour l’ajouter au module
Seules les modifications en local sont effectuées : utiliser cvs commit
Cvs checkout Demander au serveur de
renvoyer les fichiers d'un module
![Page 14: Introduction à la gestion de configuration avec CVS Xavier Baril](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dc8497959293b8e36c4/html5/thumbnails/14.jpg)
(C) Xavier Baril 14
Quelques commandes (2)
Cvs commit Valider et intégrer les
changements effectués en local
Le serveur attribut un nouveau numéro de révision
Cvs update Mettre à jour les fichiers
locaux
![Page 15: Introduction à la gestion de configuration avec CVS Xavier Baril](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dc8497959293b8e36c4/html5/thumbnails/15.jpg)
(C) Xavier Baril 15
Statuts d’un fichier
Up-to-date Locally Modified Locally Added Locally Removed Needs Checkout Needs Merge Unresolved Conflict Unknown …
![Page 16: Introduction à la gestion de configuration avec CVS Xavier Baril](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dc8497959293b8e36c4/html5/thumbnails/16.jpg)
(C) Xavier Baril 16
La notion de « tag »
Tag : (marqueur) d’un ensemble de fichiers afin de définir une version pour le projet.
Utilisé pour les livraisons
![Page 17: Introduction à la gestion de configuration avec CVS Xavier Baril](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dc8497959293b8e36c4/html5/thumbnails/17.jpg)
(C) Xavier Baril 17
Les « sticky tags »
Bloquer un fichier sur une révision particulière
Lors d’un update : « classique » le fichier n’est pas modifié « remove any sticky tag » le fichier est modifié
![Page 18: Introduction à la gestion de configuration avec CVS Xavier Baril](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dc8497959293b8e36c4/html5/thumbnails/18.jpg)
(C) Xavier Baril 18
La notion de branche
Définition : « dérivation dans l’histoire des éléments de configuration »
Caractéristiques : Correspond à un « axe d’évolution » Rattachée à une branche source Peut contenir des sous-branches
Concrètement : permet de gérer l’évolution de versions parallèles
![Page 19: Introduction à la gestion de configuration avec CVS Xavier Baril](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dc8497959293b8e36c4/html5/thumbnails/19.jpg)
(C) Xavier Baril 19
Fusion de branches
Combiner des modifications pour créer une nouvelle version
Intérêts : Synchronisation entre plusieurs développeurs Annulation d’une ancienne modification Import d’une modification d’une branche vers une
autre
![Page 20: Introduction à la gestion de configuration avec CVS Xavier Baril](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dc8497959293b8e36c4/html5/thumbnails/20.jpg)
(C) Xavier Baril 20
Modèle de branche par objectif
![Page 21: Introduction à la gestion de configuration avec CVS Xavier Baril](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dc8497959293b8e36c4/html5/thumbnails/21.jpg)
(C) Xavier Baril 21
Outils
Client : Interfaces graphiques WinCVS TortoiseCVS tkcvs … Eclipse
Serveur (Windows) CVSNT
![Page 22: Introduction à la gestion de configuration avec CVS Xavier Baril](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dc8497959293b8e36c4/html5/thumbnails/22.jpg)
(C) Xavier Baril 22
Plugin Eclipse : propriétés
![Page 23: Introduction à la gestion de configuration avec CVS Xavier Baril](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dc8497959293b8e36c4/html5/thumbnails/23.jpg)
(C) Xavier Baril 23
Plugin eclipse : menus
![Page 24: Introduction à la gestion de configuration avec CVS Xavier Baril](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dc8497959293b8e36c4/html5/thumbnails/24.jpg)
(C) Xavier Baril 24
Conclusion (1)
Cas d’utilisation Historisation archivage de documents Développement à plusieurs
Points faibles Renommage, déplacement, suppression de
fichiers Dépôt unique Incomplet pour la gestion de configuration
(pas de règles d’utilisation)
![Page 25: Introduction à la gestion de configuration avec CVS Xavier Baril](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dc8497959293b8e36c4/html5/thumbnails/25.jpg)
(C) Xavier Baril 25
Conclusion (2)
Points forts Performant pour la gestion de versions Accès à distance du dépôt Très utilisé Intégré dans de nombreux outils Gratuit, open-source
![Page 26: Introduction à la gestion de configuration avec CVS Xavier Baril](https://reader035.vdocuments.pub/reader035/viewer/2022062622/551d9dc8497959293b8e36c4/html5/thumbnails/26.jpg)
(C) Xavier Baril 26
Bibliographie
http://www.cvshome.org(site officiel)
http://www.nongnu.org/cvs(site officiel)
http://cvsbook.red-bean.com/cvsbook.html(assez complet)
http://www.google.fr;-)