Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parAcelet Rodier Modifié depuis plus de 10 années
1
27 juin 20071 Formation à lutilisation dun client Subversion Vincent Carpier Florent Guilleux http://www.cru.fr/ Paris, 27 Juin 2007
2
27 juin 20072 Programme 9h30 : accueil et introduction à Subversion 10h00 : début des travaux pratiques 12h30 : repas 14h00 : reprise des travaux pratiques 17h30 : fin
3
27 juin 20073 Objectifs de la formation 1. comprendre les concepts de la gestion de version dans Subversion 2. apprendre les commandes de base et avancées pour gérer le cycle de développement d'un logiciel avec Subversion 3. maîtriser l'utilisation d'un client Subversion
4
27 juin 20074 Choix du client Subversion Aujourdhui : TortoiseSVN ou Subclipse ? Langage de développement utilisé Framework de développement Système d'exploitation Support / connaissance Choix d'équipe ?..... http://subversion.tigris.org/links.html#clients
5
27 juin 20075 Organisation des travaux pratiques En binômes Un document à suivre avec exercices et quelques explications Nhésitez pas à nous demander des précisions ou plus dexplications ! Au cours de la journée quelques présentations pour lensemble des participants
6
27 juin 20076 Introduction à Subversion
7
27 juin 20077 Subversion est un outil de gestion de version Permet de gérer lhistorique des modifications de son projet Présenté comme le successeur de CVS Version actuelle 1.4, la version 1.0 date de février 2004 Produit open source, supporté par CollabNet Utilisé par en entreprise et par de nombreux projets du libre (Apache, KDE, Gnome, Python) Alternative : système décentralisés (voir http://2005.jres.org/paper/2.pdf) http://2005.jres.org/paper/2.pdf
8
27 juin 20078 La gestion de version apporte de nombreux gains Retours en arrière et corrections toujours possibles Historique de toutes les opérations Indispensable pour le travail en équipe Travaux en parallèle sur plusieurs branches Pour du code mais aussi un site web, de la doc…
9
27 juin 20079 … qui justifient leffort de prise en main commit tag branches repository HEAD BASE update version check out modules merge conflict diff patch trunk
10
27 juin 200710 Les étapes de cette formation 1. Découvrir les concepts de Subversion 2. Utiliser les opérations de base 3. Travailler à plusieurs avec Subversion 4. Gérer le cycle de développement dun logiciel 5. Fonctionnalités avancées
11
27 juin 200711 Un dépôt central et une copie de travail Référentiel Copie de travail dAlice svn checkout svn commit 1 2 3 trunk/
12
27 juin 200712 Gérer des conflits
13
27 juin 200713 Des conflits peuvent survenir Référentiel svn checkout svn commit 1 2 Copie de travail dAlice Copie de travail de Bob svn checkout svn commit trunk/
14
27 juin 200714 Résolution des conflits Référentiel svn checkout svn commit 1 2 Copie de travail dAlice Copie de travail de Bob svn checkout svn commit svn update trunk/
15
27 juin 200715 Si les modifications concernent des lignes différentes Un Deux Trois Quatre Zéro Un Deux Trois Quatre Un Deux Trois QUATRE Zéro Un Deux Trois QUATRE svn update État « merGed » : G Zéro Un Deux Trois QUATRE svn commit Bob Alice
16
27 juin 200716 Si les modifications concernent les mêmes lignes Un Deux Trois Quatre Un Two Trois Quatre Un Dos Trois QUATRE Un <<<<.mine Two ==== Dos >>>>.r2 Deux Trois QUATRE svn update État « Conflict » : C
17
27 juin 200717 Si les modifications concernent les mêmes lignes Un <<<<.mine Two ==== Dos >>>>.r2 Trois QUATRE État « Conflict » : C Un Two Trois QUATRE résolution manuelle Un Two Trois QUATRE svn resolved Un Two Trois QUATRE svn commit
18
27 juin 200718 Cycle de travail typique 1. Mettre à jour sa copie de travail svn update 3. Visualiser les modifications svn status (-u) / diff / revert 2. Apporter des modifications svn add / copy / delete / move 4. Fusionner les modifications svn merge / resolved 6. Enregistrer ses modifications svn commit 5. Mise à jour / Synchro svn update
19
27 juin 200719 Les étiquettes
20
27 juin 200720 Une étiquette est un nom donné à une révision Référentiel 215 345 418 … … … 482 Étiquettes REL-0.9 REL-1.1a trunk/
21
27 juin 200721 Une étiquette est stockée comme une copie Référentiel 215 345 418 … … … 482 trunk/ tags/ tags/REL-0.9 tags/REL-1.1a 419 420
22
27 juin 200722 Les branches
23
27 juin 200723 Les contraintes posées par la gestion de multiples versions d'un logiciel (1) pour préparer la sortie d'une nouvelle version, on ne travaille plus que sur la correction de bogues mais pendant ce temps d'autres développeurs peuvent vouloir introduire de nouvelles fonctionnalités pour les futures versions
24
27 juin 200724 Les contraintes posées par la gestion de multiples versions d'un logiciel (2) quand on corrige un bogue dans une version, il faut pouvoir reporter cette correction dans les autres versions maintenues
25
27 juin 200725 Les contraintes posées par la gestion de multiples versions d'un logiciel (3) certaines fonctionnalités d'une version ont peut-être disparues dans des version ultérieures mais tant que cette version est maintenue activement, il faut pouvoir corriger les bogues de ces fonctionnalités
26
27 juin 200726 Les branches sont utiles pour gérer ces contraintes Une branche est une ligne de développement parallèle Elle a son propre historique et suivi des modifications La fonctionnalité de merge permet de reporter des modifications réalisées dans une branche dans le trunk et vice versa (ou entre branches)
27
27 juin 200727 Exemple du cycle de préparation, diffusion et maintien d'une version trunk RB-1.0 Début de la préparation de la nouvelle version REL-1.0 Diffusion de la version étiquettes Nouvelles fonctionnalités Correction bogues Report corrections Correction bogues REL-1.0.1 Diffusion de la version Correction bogues REL-1.0.2 Diffusion de la version RB-1.1 Début de la préparation dune nouvelle version Report corrections
28
27 juin 200728 BUG-2561 Exemples dutilisation de branches trunk RB-O.8 Ligne principale Branche dexpérimentation Branche de diffusion Branche de correction de bogue TRY-new_cache
29
27 juin 200729 Une branche est stockée comme une copie Référentiel 215 250 418 … … … 482 trunk/ tags/ branches/ 216 217 … 314 315 RB-0.8 REL-0.8
30
27 juin 200730 Conclusion
31
27 juin 200731 A lusage Subversion se révèle rapidement indispensable Cela vaut le coup de sentraîner à lutiliser Une fois les concepts acquis cest simple à utiliser Une fois habitué il paraît difficile de sen passer
32
27 juin 200732 Il faut plus que connaître les commandes Sassurer que tous les développeurs du projet sauront lutiliser : convaincre et former Mettre en œuvre petit à petit les fonctionnalités de Subversion Se mettre daccord sur des pratiques dutilisations Définir des règles de nommage Définir comment lon utilise les branches et étiquettes Dans quels cas utilise-t-on le locking ? Les propriétés ? Documenter le tout
33
27 juin 200733 Ressources http://www.cru.fr/faq/sourcesup/gestion_src/ http://freshmeat.net/browse/1109/
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.