27 juin 20071 - PowerPoint PPT Presentation

1 / 33
About This Presentation
Title:

27 juin 20071

Description:

apprendre les commandes de base et avanc es pour g rer le cycle de d veloppement ... Une fois les concepts acquis c'est simple utiliser. Une fois habitu il para t difficile ... – PowerPoint PPT presentation

Number of Views:24
Avg rating:3.0/5.0
Slides: 34
Provided by: IRD52
Category:
Tags: acquis | juin

less

Transcript and Presenter's Notes

Title: 27 juin 20071


1
  • Formation à lutilisation
  • dun client Subversion
  • Vincent Carpier
  • Florent Guilleux
  • http//www.cru.fr/
  • Paris, 27 Juin 2007

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

3
Objectifs de la formation
  • comprendre les concepts de la gestion de version
    dans Subversion
  • apprendre les commandes de base et avancées pour
    gérer le cycle de développement d'un logiciel
    avec Subversion
  • maîtriser l'utilisation d'un client Subversion

4
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.htmlclients

5
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
Introduction à Subversion
7
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)?

8
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
qui justifient leffort de prise en main
trunk
patch
version
commit
modules
diff
tag
merge
branches
BASE
repository
update
HEAD
conflict
check out
10
Les étapes de cette formation
  • Découvrir les concepts de Subversion
  • Utiliser les opérations de base
  • Travailler à plusieurs avec Subversion
  • Gérer le cycle de développement dun logiciel
  • Fonctionnalités avancées

11
Un dépôt central et une copie de travail
Référentiel
trunk/
1
3
2
svn checkout
svn commit
svn commit
Copie de travail dAlice
12
Gérer des conflits
13
Des conflits peuvent survenir
Copie de travail de Bob
svn commit
svn checkout
Référentiel
trunk/
1
svn checkout
svn commit
Copie de travail dAlice
14
Résolution des conflits
Copie de travail de Bob
svn update
svn commit
svn checkout
Référentiel
trunk/
1
2
svn commit
svn checkout
Copie de travail dAlice
15
Si les modifications concernent des lignes
différentes
État merGed G
Bob
Zéro Un Deux Trois QUATRE
Zéro Un Deux Trois Quatre
svn commit
svn update
Zéro Un Deux Trois QUATRE
Un Deux Trois Quatre
Un Deux Trois QUATRE
Alice
16
Si les modifications concernent les mêmes lignes
État Conflict C
Un ltltltlt .mine Two Dos gtgtgtgt
.r2 Deux Trois QUATRE
Un Two Trois Quatre
svn update
Un Deux Trois Quatre
Un Dos Trois QUATRE
17
Si les modifications concernent les mêmes lignes
Un ltltltlt .mine Two Dos gtgtgtgt .r2 Trois QUATRE
Un Two Trois QUATRE
Un Two Trois QUATRE
svn resolved
résolution manuelle
svn commit
Un Two Trois QUATRE
État Conflict C
18
Cycle de travail typique
1. Mettre à jour sa copie de travail svn update
5. Mise à jour / Synchro svn update
  • 4. Fusionner les modifications
  • svn merge / resolved

19
Les étiquettes
20
Une étiquette est un nom donné à une révision
Référentiel
482
418
345
trunk/
215



REL-1.1a
Étiquettes
21
Une étiquette est stockée comme une copie
Référentiel
trunk/
418
345
215


tags/REL-0.9
419
tags/
tags/REL-1.1a
22
Les branches
23
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
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
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
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
Exemple du cycle de préparation, diffusion et
maintien d'une version
REL-1.0.1
REL-1.0.2
REL-1.0
étiquettes
Diffusion de la version
Diffusion de la version
Diffusion de la version
Début de la préparation de la nouvelle version
Correction bogues
Correction bogues
Report corrections
Report corrections
Report corrections
trunk
Correction bogues
Nouvelles fonctionnalités
Début de la préparation dune nouvelle version
RB-1.1
28
Exemples dutilisation de branches
Branche de correction de bogue
Branche de diffusion
trunk
Ligne principale
Branche dexpérimentation
29
Une branche est stockée comme une copie
Référentiel
482
418
trunk/
250
215




217
216
314
branches/
RB-0.8
315
REL-0.8
tags/
30
Conclusion
31
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
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
Ressources
  • http//www.cru.fr/faq/sourcesup/gestion_src/
  • http//freshmeat.net/browse/1109/
Write a Comment
User Comments (0)
About PowerShow.com