La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

27 juin 20071 Formation à lutilisation dun client Subversion Vincent Carpier Florent Guilleux Paris, 27 Juin 2007.

Présentations similaires


Présentation au sujet: "27 juin 20071 Formation à lutilisation dun client Subversion Vincent Carpier Florent Guilleux Paris, 27 Juin 2007."— Transcription de la présentation:

1 27 juin Formation à lutilisation dun client Subversion Vincent Carpier Florent Guilleux Paris, 27 Juin 2007

2 27 juin Programme 9h30 : accueil et introduction à Subversion 10h00 : début des travaux pratiques 12h30 : repas 14h00 : reprise des travaux pratiques 17h30 : fin

3 27 juin 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 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 ?.....

5 27 juin 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 Introduction à Subversion

7 27 juin 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

8 27 juin 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 … 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 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 Un dépôt central et une copie de travail Référentiel Copie de travail dAlice svn checkout svn commit trunk/

12 27 juin Gérer des conflits

13 27 juin 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 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 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 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 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 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 Les étiquettes

20 27 juin Une étiquette est un nom donné à une révision Référentiel … … … 482 Étiquettes REL-0.9 REL-1.1a trunk/

21 27 juin Une étiquette est stockée comme une copie Référentiel … … … 482 trunk/ tags/ tags/REL-0.9 tags/REL-1.1a

22 27 juin Les branches

23 27 juin 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 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 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 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 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 Diffusion de la version Correction bogues REL Diffusion de la version RB-1.1 Début de la préparation dune nouvelle version Report corrections

28 27 juin 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 Une branche est stockée comme une copie Référentiel … … … 482 trunk/ tags/ branches/ … RB-0.8 REL-0.8

30 27 juin Conclusion

31 27 juin 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 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 Ressources


Télécharger ppt "27 juin 20071 Formation à lutilisation dun client Subversion Vincent Carpier Florent Guilleux Paris, 27 Juin 2007."

Présentations similaires


Annonces Google