SlideShare a Scribd company logo
1 of 23
Download to read offline
Agenda
                            Introduction
                           Avant propos
                      Rappel historique
           Contrˆle de version distribu´
                o                       e
                        Cas d’utilisation
          Les solutions libres existantes




Les gestionnaires de sources distribu´s et leurs cas
                                     e
                   d’utilisations
                  Salons Solutions Linux 2009


                            Romain PELISSE

                    Atos Origin - Open Source Center


                                19 mars 2010



                      Romain PELISSE        Les gestionnaires de sources distribu´s et leurs cas d’utilisations
                                                                                 e
Agenda
                                 Introduction
                                Avant propos
                           Rappel historique
                Contrˆle de version distribu´
                     o                       e
                             Cas d’utilisation
               Les solutions libres existantes




1   Introduction                                 4   Contrˆle de version distribu´
                                                           o                      e
2   Avant propos                                 5   Cas d’utilisation
3   Rappel historique                            6   Les solutions libres existantes




                           Romain PELISSE        Les gestionnaires de sources distribu´s et leurs cas d’utilisations
                                                                                      e
Agenda
                  Introduction
                 Avant propos
            Rappel historique
 Contrˆle de version distribu´
      o                       e
              Cas d’utilisation
Les solutions libres existantes




             Romain PELISSE
                Architecte Open Source chez Atos
                Origin depuis 2005
                      Contributeur PMD et XRadar
                      Traduction du HgBook
                      Charg´ des TDs G´nie Logiciel et POO `
                           e          e                    a
                      l’ESME Sudria




            Romain PELISSE        Les gestionnaires de sources distribu´s et leurs cas d’utilisations
                                                                       e
Agenda
                                  Introduction
                                 Avant propos
                            Rappel historique
                 Contrˆle de version distribu´
                      o                       e
                              Cas d’utilisation
                Les solutions libres existantes




disclaimer : No Guru here
     Linus ` propos de Git
           a
    Brian O’Sullivan ` propos de
                     a
    Mercurial




                            Romain PELISSE        Les gestionnaires de sources distribu´s et leurs cas d’utilisations
                                                                                       e
Agenda
                                 Introduction
                                Avant propos
                           Rappel historique
                Contrˆle de version distribu´
                     o                       e
                             Cas d’utilisation
               Les solutions libres existantes




De quoi s’agit il vraiment ?
    Libert´
          e
    Processus de travail




                           Romain PELISSE        Les gestionnaires de sources distribu´s et leurs cas d’utilisations
                                                                                      e
Agenda
                                Introduction
                               Avant propos
                          Rappel historique
               Contrˆle de version distribu´
                    o                       e
                            Cas d’utilisation
              Les solutions libres existantes




Mise au point lexicale

                                                Revision control (RCS)
                                                Version control System (VCS)
                                                Software configuration
                                                management (SCM)
                                                Configuration management
                                                Source code management
                                                Source code control
                                                Distributed Version Control
                                                System


                          Romain PELISSE         Les gestionnaires de sources distribu´s et leurs cas d’utilisations
                                                                                      e
Agenda
                                 Introduction
                                Avant propos
                                                 Abolir les limites de CVS : SVN
                           Rappel historique
                                                 BitKeeper et le code de Linux
                Contrˆle de version distribu´
                     o                       e
                             Cas d’utilisation
               Les solutions libres existantes




Historique des outils
    SCCS (1970’s) - Fichier unique, gestion par verrouillage
    RCS (1970’s) - Solution libre, R´pertoire, gestion par
                                    e
    verrouillage
    CVS (1980’s) - Bas´ sur RCS, puis en r´´crit en C
                      e                     ee
         d´pˆt central
          e o
         acc`s r´seau
            e e
         gestion par fusion (“merge”)




                           Romain PELISSE        Les gestionnaires de sources distribu´s et leurs cas d’utilisations
                                                                                      e
Agenda
                                Introduction
                               Avant propos
                                                Abolir les limites de CVS : SVN
                          Rappel historique
                                                BitKeeper et le code de Linux
               Contrˆle de version distribu´
                    o                       e
                            Cas d’utilisation
              Les solutions libres existantes


Contraintes de CVS
     branches
     fichiers binaires
     “commit” non atomique
     impossible de renommer les fichiers
     misc. (HTTP, source inmaintenable,...)




                          Romain PELISSE        Les gestionnaires de sources distribu´s et leurs cas d’utilisations
                                                                                     e
Agenda
                                Introduction
                               Avant propos
                                                Abolir les limites de CVS : SVN
                          Rappel historique
                                                BitKeeper et le code de Linux
               Contrˆle de version distribu´
                    o                       e
                            Cas d’utilisation
              Les solutions libres existantes




SVN (SubVersion), Jim Blandy / Karl Fogel (2001)
    “commit” transactionnel (partiellement)
    gestion des fichiers binaires
    d´placement de fichier
     e
    acc`s HTTP
       e


                          Romain PELISSE        Les gestionnaires de sources distribu´s et leurs cas d’utilisations
                                                                                     e
Agenda
                  Introduction
                 Avant propos
                                  Abolir les limites de CVS : SVN
            Rappel historique
                                  BitKeeper et le code de Linux
 Contrˆle de version distribu´
      o                       e
              Cas d’utilisation
Les solutions libres existantes




            Romain PELISSE        Les gestionnaires de sources distribu´s et leurs cas d’utilisations
                                                                       e
Agenda
                                  Introduction
                                 Avant propos
                                                   Abolir les limites de CVS : SVN
                            Rappel historique
                                                   BitKeeper et le code de Linux
                 Contrˆle de version distribu´
                      o                       e
                              Cas d’utilisation
                Les solutions libres existantes




                                         Linus Torvalds :
                                             CVS is broken !
                                                  SVN, CVS make right ? ? ?

                                         ... mais alors comment faisait il ?
                                              tarball et diff !
                                                  BitKeeper (jusqu’` 2005)
                                                                   a
Figure: “I hate CVS with a                        Git
passion”



                            Romain PELISSE         Les gestionnaires de sources distribu´s et leurs cas d’utilisations
                                                                                        e
Agenda
                  Introduction
                 Avant propos     Mod`le distribu´
                                       e          e
            Rappel historique     L’identifiant d’une version
 Contrˆle de version distribu´
      o                       e   Renversement
              Cas d’utilisation
Les solutions libres existantes




            Romain PELISSE        Les gestionnaires de sources distribu´s et leurs cas d’utilisations
                                                                       e
Agenda
                                Introduction
                               Avant propos     Mod`le distribu´
                                                     e          e
                          Rappel historique     L’identifiant d’une version
               Contrˆle de version distribu´
                    o                       e   Renversement
                            Cas d’utilisation
              Les solutions libres existantes




Le commit comme objet unique
    pas de serveur central, num´ro de version locale
                               e
    identification par sha1
    cherry-picking



                          Romain PELISSE        Les gestionnaires de sources distribu´s et leurs cas d’utilisations
                                                                                     e
Agenda
                                Introduction
                               Avant propos        Mod`le distribu´
                                                        e          e
                          Rappel historique        L’identifiant d’une version
               Contrˆle de version distribu´
                    o                       e      Renversement
                            Cas d’utilisation
              Les solutions libres existantes


What just happened ! ?
   fin des ´lites du commit ;
           e
    outil complet ;
    easy fork, easy merge ! ;
    commit often, atomicly ;
    recherche de bugs (bissect).




                                                “Unchained my code...”


                          Romain PELISSE           Les gestionnaires de sources distribu´s et leurs cas d’utilisations
                                                                                        e
Agenda
                               Introduction
                              Avant propos     Mod`le distribu´
                                                    e          e
                         Rappel historique     L’identifiant d’une version
              Contrˆle de version distribu´
                   o                       e   Renversement
                           Cas d’utilisation
             Les solutions libres existantes




Where do we go from there ?
   D´centralisation
     e
    Workflow




                         Romain PELISSE        Les gestionnaires de sources distribu´s et leurs cas d’utilisations
                                                                                    e
Agenda
                                  Introduction
                                 Avant propos     Versionner ses affaires
                            Rappel historique     Travail d´connect´
                                                           e       e
                 Contrˆle de version distribu´
                      o                       e   Synchroniser des branches distinctes
                              Cas d’utilisation
                Les solutions libres existantes




Versionner ses propres affaires
     fonctionnement en local
    aucun partage, mais possible
    ` posteriori
    a

Application
    d´but d’un projet
      e
    recherche de configuration
    faire ´voluer un document
          e
    mais garder ses versions
    utiliser des tags pour suivre
    ses documents

                            Romain PELISSE        Les gestionnaires de sources distribu´s et leurs cas d’utilisations
                                                                                       e
Agenda
                                   Introduction
                                  Avant propos     Versionner ses affaires
                             Rappel historique     Travail d´connect´
                                                            e       e
                  Contrˆle de version distribu´
                       o                       e   Synchroniser des branches distinctes
                               Cas d’utilisation
                 Les solutions libres existantes



Travail d´connect´
         e        e
    travailler sur un projet sans le
    r´seau, car
     e
         pas de r´seau !
                 e
         acc`s interdit
            e
         trop lent/lourd
    disposer de l’historique (bissect !)
    faire un ensemble de commits et
    les soumettre en une fois

Application
    ´volution synchrone
    e
    bugfixing dans l’avion/train

                             Romain PELISSE        Les gestionnaires de sources distribu´s et leurs cas d’utilisations
                                                                                        e
Agenda
                                    Introduction
                                   Avant propos     Versionner ses affaires
                              Rappel historique     Travail d´connect´
                                                             e       e
                   Contrˆle de version distribu´
                        o                       e   Synchroniser des branches distinctes
                                Cas d’utilisation
                  Les solutions libres existantes




Synchroniser des branches distinctes
    plusieurs serveurs centraux
         site physiques distincts
         plusieurs architectures cibles
    disposer de l’historique (bissect !)
    s´rie de commit atomique
     e
    transplant
    scalability

Application
    ´volution synchrone
    e
    sites physiques d´connect´
                     e       e

                              Romain PELISSE        Les gestionnaires de sources distribu´s et leurs cas d’utilisations
                                                                                         e
Agenda
                               Introduction
                              Avant propos
                         Rappel historique
              Contrˆle de version distribu´
                   o                       e
                           Cas d’utilisation
             Les solutions libres existantes


/                          Git                         Mercurial                     Bazaar
Version                    1.55                        1.2                           1.3.1
SLOC                       130550                      38172                         79864
Technologies               C                           Python                        Python
Mod`le
     e                     Snapshot                    Changeset                     Snapshot
Commit atomique
Merge file renames
R´visions sign´e
  e           e                                                                      Partiel
Suivi des merge
Partial checkout           submodules                  Pr´vu/extensions
                                                           e                         Pr´vu
                                                                                         e
Utilisation                Complexe                    Tr`s Simple
                                                           e                         Simple
Base utilisateur           Grande                      Grande                        R´duite
                                                                                       e
...                        ...                         ...                           ...
           Informations extraites de http ://www.infoq.com/articles/dvcs-guide.




                         Romain PELISSE         Les gestionnaires de sources distribu´s et leurs cas d’utilisations
                                                                                     e
Agenda
                                Introduction
                               Avant propos
                          Rappel historique
               Contrˆle de version distribu´
                    o                       e
                            Cas d’utilisation
              Les solutions libres existantes




Comment choisir son outil ?
   d´finir le mode de travail
    e
    contexte d’utilisation
    ´vualuation QSOS
    e
         m´thodologie Open Source
            e
         d´di´ aux logiciels Open Source
           e e
         template DVCS
         ´valuation outils
         e


                          Romain PELISSE        Les gestionnaires de sources distribu´s et leurs cas d’utilisations
                                                                                     e
Agenda
                                Introduction
                               Avant propos
                          Rappel historique
               Contrˆle de version distribu´
                    o                       e
                            Cas d’utilisation
              Les solutions libres existantes




Quelques r´f´rences
          ee
    http ://www.selenic.com/mercurial/wiki/
    http ://www.infoq.com/articles/dvcs-guide
    http ://qsos.org/
    http ://www.russellbeattie.com/blog/distributed-revision-
    control-systems-git-vs-mercurial-vs-svn




                          Romain PELISSE        Les gestionnaires de sources distribu´s et leurs cas d’utilisations
                                                                                     e
Agenda
                               Introduction
                              Avant propos
                         Rappel historique
              Contrˆle de version distribu´
                   o                       e
                           Cas d’utilisation
             Les solutions libres existantes




Quelques exemples de projet ayant adopt´ un DVCS...
                                       e
    Linux (Git)
    Python (Mercurial)
    OpenJDK (Mercurial)
    gnu emacs (Bazaar)
    Firefox (Mercurial)




                         Romain PELISSE        Les gestionnaires de sources distribu´s et leurs cas d’utilisations
                                                                                    e
Agenda
                                       Introduction
                                      Avant propos
                                 Rappel historique
                      Contrˆle de version distribu´
                           o                       e
                                   Cas d’utilisation
                     Les solutions libres existantes




Sources des images
    http ://commons.wikimedia.org/wiki/File :Git-logo.svg
    http ://www.flickr.com/photos/soldiersmediacenter/3130119367/
    http ://fr.wikipedia.org/wiki/Fichier :Linus Torvalds.jpeg
    http ://www.flickr.com/photos/caveman 92223/3102228691/sizes/o/
    http ://www.flickr.com/photos/doberagi/1404539812/sizes/l/
    http ://www.sikh-history.com/sikhhist/gurus/nanak5.html
    http ://flickr.com/photos/kliefi/2303269060/
    http ://flickr.com/photos/andreasmarx/38313268/
    http ://flickr.com/photos/vogelium/330566664/
    http ://openclipart.org/media/files/jean victor balin/8656
    http ://www.flickr.com/photos/c-remy/2373123435/
    http ://www.flickr.com/photos/sharynmorrow/4797654/
    http ://www.flickr.com/photos/mvisosky/2683222011/
    http ://www.flickr.com/photos/wolfsoul/2072332105/




                                 Romain PELISSE          Les gestionnaires de sources distribu´s et leurs cas d’utilisations
                                                                                              e

More Related Content

Viewers also liked

Analyse du mouillage forain sur l herbier - posidonia
Analyse du mouillage forain sur l herbier - posidoniaAnalyse du mouillage forain sur l herbier - posidonia
Analyse du mouillage forain sur l herbier - posidoniaThomas SCHOHN
 
Anne de bretagne
Anne de bretagneAnne de bretagne
Anne de bretagneeeoofoje
 
Practica 1.1. edicion basica practica asistida
Practica 1.1.  edicion basica practica asistidaPractica 1.1.  edicion basica practica asistida
Practica 1.1. edicion basica practica asistidajair1606
 
Atelier 1 "Créer et animer ma page Facebook"
Atelier 1 "Créer et animer ma page Facebook" Atelier 1 "Créer et animer ma page Facebook"
Atelier 1 "Créer et animer ma page Facebook" Tourisme Obernai
 
Roles del aprendiz y del totor virtual
Roles del aprendiz y del totor virtualRoles del aprendiz y del totor virtual
Roles del aprendiz y del totor virtualJohanna Sanchez
 
Lina maria gomez diaz microsoft_ powert point.
Lina maria  gomez diaz  microsoft_ powert point.Lina maria  gomez diaz  microsoft_ powert point.
Lina maria gomez diaz microsoft_ powert point.limagodi
 
Diana rojas eje4_actividad 1. lectura y escrituras exploratoria
Diana rojas eje4_actividad 1. lectura y escrituras exploratoriaDiana rojas eje4_actividad 1. lectura y escrituras exploratoria
Diana rojas eje4_actividad 1. lectura y escrituras exploratoriaDiana Rojas
 
Les bénévoles sous les projecteurs
Les bénévoles sous les projecteursLes bénévoles sous les projecteurs
Les bénévoles sous les projecteursCatherine Bernier
 
Higuiene y seguridad
Higuiene y seguridadHiguiene y seguridad
Higuiene y seguridadyenmonta
 

Viewers also liked (20)

Brochure MS INDA
Brochure MS INDABrochure MS INDA
Brochure MS INDA
 
Analyse du mouillage forain sur l herbier - posidonia
Analyse du mouillage forain sur l herbier - posidoniaAnalyse du mouillage forain sur l herbier - posidonia
Analyse du mouillage forain sur l herbier - posidonia
 
Anne de bretagne
Anne de bretagneAnne de bretagne
Anne de bretagne
 
Practica 1.1. edicion basica practica asistida
Practica 1.1.  edicion basica practica asistidaPractica 1.1.  edicion basica practica asistida
Practica 1.1. edicion basica practica asistida
 
Celine PECHEUR
Celine PECHEURCeline PECHEUR
Celine PECHEUR
 
Las ntic's
Las ntic'sLas ntic's
Las ntic's
 
Atelier 1 "Créer et animer ma page Facebook"
Atelier 1 "Créer et animer ma page Facebook" Atelier 1 "Créer et animer ma page Facebook"
Atelier 1 "Créer et animer ma page Facebook"
 
machine a parpaing
machine a parpaingmachine a parpaing
machine a parpaing
 
machine a parpaing
machine a parpaingmachine a parpaing
machine a parpaing
 
Manual balay microondas 3wm360nic
Manual balay   microondas 3wm360nicManual balay   microondas 3wm360nic
Manual balay microondas 3wm360nic
 
Roles del aprendiz y del totor virtual
Roles del aprendiz y del totor virtualRoles del aprendiz y del totor virtual
Roles del aprendiz y del totor virtual
 
Lina maria gomez diaz microsoft_ powert point.
Lina maria  gomez diaz  microsoft_ powert point.Lina maria  gomez diaz  microsoft_ powert point.
Lina maria gomez diaz microsoft_ powert point.
 
E-Book Diciembre
E-Book DiciembreE-Book Diciembre
E-Book Diciembre
 
"Información Gráfica"
"Información Gráfica""Información Gráfica"
"Información Gráfica"
 
Diana rojas eje4_actividad 1. lectura y escrituras exploratoria
Diana rojas eje4_actividad 1. lectura y escrituras exploratoriaDiana rojas eje4_actividad 1. lectura y escrituras exploratoria
Diana rojas eje4_actividad 1. lectura y escrituras exploratoria
 
Portefeuille Investessor 2013
Portefeuille Investessor 2013Portefeuille Investessor 2013
Portefeuille Investessor 2013
 
Les bénévoles sous les projecteurs
Les bénévoles sous les projecteursLes bénévoles sous les projecteurs
Les bénévoles sous les projecteurs
 
Mis fotos familiares
Mis fotos familiaresMis fotos familiares
Mis fotos familiares
 
Higuiene y seguridad
Higuiene y seguridadHiguiene y seguridad
Higuiene y seguridad
 
Bienestar
BienestarBienestar
Bienestar
 

Les gestionnaires de sources distribués et leurs cas d'utiliation - Solutions Linux 2009

  • 1. Agenda Introduction Avant propos Rappel historique Contrˆle de version distribu´ o e Cas d’utilisation Les solutions libres existantes Les gestionnaires de sources distribu´s et leurs cas e d’utilisations Salons Solutions Linux 2009 Romain PELISSE Atos Origin - Open Source Center 19 mars 2010 Romain PELISSE Les gestionnaires de sources distribu´s et leurs cas d’utilisations e
  • 2. Agenda Introduction Avant propos Rappel historique Contrˆle de version distribu´ o e Cas d’utilisation Les solutions libres existantes 1 Introduction 4 Contrˆle de version distribu´ o e 2 Avant propos 5 Cas d’utilisation 3 Rappel historique 6 Les solutions libres existantes Romain PELISSE Les gestionnaires de sources distribu´s et leurs cas d’utilisations e
  • 3. Agenda Introduction Avant propos Rappel historique Contrˆle de version distribu´ o e Cas d’utilisation Les solutions libres existantes Romain PELISSE Architecte Open Source chez Atos Origin depuis 2005 Contributeur PMD et XRadar Traduction du HgBook Charg´ des TDs G´nie Logiciel et POO ` e e a l’ESME Sudria Romain PELISSE Les gestionnaires de sources distribu´s et leurs cas d’utilisations e
  • 4. Agenda Introduction Avant propos Rappel historique Contrˆle de version distribu´ o e Cas d’utilisation Les solutions libres existantes disclaimer : No Guru here Linus ` propos de Git a Brian O’Sullivan ` propos de a Mercurial Romain PELISSE Les gestionnaires de sources distribu´s et leurs cas d’utilisations e
  • 5. Agenda Introduction Avant propos Rappel historique Contrˆle de version distribu´ o e Cas d’utilisation Les solutions libres existantes De quoi s’agit il vraiment ? Libert´ e Processus de travail Romain PELISSE Les gestionnaires de sources distribu´s et leurs cas d’utilisations e
  • 6. Agenda Introduction Avant propos Rappel historique Contrˆle de version distribu´ o e Cas d’utilisation Les solutions libres existantes Mise au point lexicale Revision control (RCS) Version control System (VCS) Software configuration management (SCM) Configuration management Source code management Source code control Distributed Version Control System Romain PELISSE Les gestionnaires de sources distribu´s et leurs cas d’utilisations e
  • 7. Agenda Introduction Avant propos Abolir les limites de CVS : SVN Rappel historique BitKeeper et le code de Linux Contrˆle de version distribu´ o e Cas d’utilisation Les solutions libres existantes Historique des outils SCCS (1970’s) - Fichier unique, gestion par verrouillage RCS (1970’s) - Solution libre, R´pertoire, gestion par e verrouillage CVS (1980’s) - Bas´ sur RCS, puis en r´´crit en C e ee d´pˆt central e o acc`s r´seau e e gestion par fusion (“merge”) Romain PELISSE Les gestionnaires de sources distribu´s et leurs cas d’utilisations e
  • 8. Agenda Introduction Avant propos Abolir les limites de CVS : SVN Rappel historique BitKeeper et le code de Linux Contrˆle de version distribu´ o e Cas d’utilisation Les solutions libres existantes Contraintes de CVS branches fichiers binaires “commit” non atomique impossible de renommer les fichiers misc. (HTTP, source inmaintenable,...) Romain PELISSE Les gestionnaires de sources distribu´s et leurs cas d’utilisations e
  • 9. Agenda Introduction Avant propos Abolir les limites de CVS : SVN Rappel historique BitKeeper et le code de Linux Contrˆle de version distribu´ o e Cas d’utilisation Les solutions libres existantes SVN (SubVersion), Jim Blandy / Karl Fogel (2001) “commit” transactionnel (partiellement) gestion des fichiers binaires d´placement de fichier e acc`s HTTP e Romain PELISSE Les gestionnaires de sources distribu´s et leurs cas d’utilisations e
  • 10. Agenda Introduction Avant propos Abolir les limites de CVS : SVN Rappel historique BitKeeper et le code de Linux Contrˆle de version distribu´ o e Cas d’utilisation Les solutions libres existantes Romain PELISSE Les gestionnaires de sources distribu´s et leurs cas d’utilisations e
  • 11. Agenda Introduction Avant propos Abolir les limites de CVS : SVN Rappel historique BitKeeper et le code de Linux Contrˆle de version distribu´ o e Cas d’utilisation Les solutions libres existantes Linus Torvalds : CVS is broken ! SVN, CVS make right ? ? ? ... mais alors comment faisait il ? tarball et diff ! BitKeeper (jusqu’` 2005) a Figure: “I hate CVS with a Git passion” Romain PELISSE Les gestionnaires de sources distribu´s et leurs cas d’utilisations e
  • 12. Agenda Introduction Avant propos Mod`le distribu´ e e Rappel historique L’identifiant d’une version Contrˆle de version distribu´ o e Renversement Cas d’utilisation Les solutions libres existantes Romain PELISSE Les gestionnaires de sources distribu´s et leurs cas d’utilisations e
  • 13. Agenda Introduction Avant propos Mod`le distribu´ e e Rappel historique L’identifiant d’une version Contrˆle de version distribu´ o e Renversement Cas d’utilisation Les solutions libres existantes Le commit comme objet unique pas de serveur central, num´ro de version locale e identification par sha1 cherry-picking Romain PELISSE Les gestionnaires de sources distribu´s et leurs cas d’utilisations e
  • 14. Agenda Introduction Avant propos Mod`le distribu´ e e Rappel historique L’identifiant d’une version Contrˆle de version distribu´ o e Renversement Cas d’utilisation Les solutions libres existantes What just happened ! ? fin des ´lites du commit ; e outil complet ; easy fork, easy merge ! ; commit often, atomicly ; recherche de bugs (bissect). “Unchained my code...” Romain PELISSE Les gestionnaires de sources distribu´s et leurs cas d’utilisations e
  • 15. Agenda Introduction Avant propos Mod`le distribu´ e e Rappel historique L’identifiant d’une version Contrˆle de version distribu´ o e Renversement Cas d’utilisation Les solutions libres existantes Where do we go from there ? D´centralisation e Workflow Romain PELISSE Les gestionnaires de sources distribu´s et leurs cas d’utilisations e
  • 16. Agenda Introduction Avant propos Versionner ses affaires Rappel historique Travail d´connect´ e e Contrˆle de version distribu´ o e Synchroniser des branches distinctes Cas d’utilisation Les solutions libres existantes Versionner ses propres affaires fonctionnement en local aucun partage, mais possible ` posteriori a Application d´but d’un projet e recherche de configuration faire ´voluer un document e mais garder ses versions utiliser des tags pour suivre ses documents Romain PELISSE Les gestionnaires de sources distribu´s et leurs cas d’utilisations e
  • 17. Agenda Introduction Avant propos Versionner ses affaires Rappel historique Travail d´connect´ e e Contrˆle de version distribu´ o e Synchroniser des branches distinctes Cas d’utilisation Les solutions libres existantes Travail d´connect´ e e travailler sur un projet sans le r´seau, car e pas de r´seau ! e acc`s interdit e trop lent/lourd disposer de l’historique (bissect !) faire un ensemble de commits et les soumettre en une fois Application ´volution synchrone e bugfixing dans l’avion/train Romain PELISSE Les gestionnaires de sources distribu´s et leurs cas d’utilisations e
  • 18. Agenda Introduction Avant propos Versionner ses affaires Rappel historique Travail d´connect´ e e Contrˆle de version distribu´ o e Synchroniser des branches distinctes Cas d’utilisation Les solutions libres existantes Synchroniser des branches distinctes plusieurs serveurs centraux site physiques distincts plusieurs architectures cibles disposer de l’historique (bissect !) s´rie de commit atomique e transplant scalability Application ´volution synchrone e sites physiques d´connect´ e e Romain PELISSE Les gestionnaires de sources distribu´s et leurs cas d’utilisations e
  • 19. Agenda Introduction Avant propos Rappel historique Contrˆle de version distribu´ o e Cas d’utilisation Les solutions libres existantes / Git Mercurial Bazaar Version 1.55 1.2 1.3.1 SLOC 130550 38172 79864 Technologies C Python Python Mod`le e Snapshot Changeset Snapshot Commit atomique Merge file renames R´visions sign´e e e Partiel Suivi des merge Partial checkout submodules Pr´vu/extensions e Pr´vu e Utilisation Complexe Tr`s Simple e Simple Base utilisateur Grande Grande R´duite e ... ... ... ... Informations extraites de http ://www.infoq.com/articles/dvcs-guide. Romain PELISSE Les gestionnaires de sources distribu´s et leurs cas d’utilisations e
  • 20. Agenda Introduction Avant propos Rappel historique Contrˆle de version distribu´ o e Cas d’utilisation Les solutions libres existantes Comment choisir son outil ? d´finir le mode de travail e contexte d’utilisation ´vualuation QSOS e m´thodologie Open Source e d´di´ aux logiciels Open Source e e template DVCS ´valuation outils e Romain PELISSE Les gestionnaires de sources distribu´s et leurs cas d’utilisations e
  • 21. Agenda Introduction Avant propos Rappel historique Contrˆle de version distribu´ o e Cas d’utilisation Les solutions libres existantes Quelques r´f´rences ee http ://www.selenic.com/mercurial/wiki/ http ://www.infoq.com/articles/dvcs-guide http ://qsos.org/ http ://www.russellbeattie.com/blog/distributed-revision- control-systems-git-vs-mercurial-vs-svn Romain PELISSE Les gestionnaires de sources distribu´s et leurs cas d’utilisations e
  • 22. Agenda Introduction Avant propos Rappel historique Contrˆle de version distribu´ o e Cas d’utilisation Les solutions libres existantes Quelques exemples de projet ayant adopt´ un DVCS... e Linux (Git) Python (Mercurial) OpenJDK (Mercurial) gnu emacs (Bazaar) Firefox (Mercurial) Romain PELISSE Les gestionnaires de sources distribu´s et leurs cas d’utilisations e
  • 23. Agenda Introduction Avant propos Rappel historique Contrˆle de version distribu´ o e Cas d’utilisation Les solutions libres existantes Sources des images http ://commons.wikimedia.org/wiki/File :Git-logo.svg http ://www.flickr.com/photos/soldiersmediacenter/3130119367/ http ://fr.wikipedia.org/wiki/Fichier :Linus Torvalds.jpeg http ://www.flickr.com/photos/caveman 92223/3102228691/sizes/o/ http ://www.flickr.com/photos/doberagi/1404539812/sizes/l/ http ://www.sikh-history.com/sikhhist/gurus/nanak5.html http ://flickr.com/photos/kliefi/2303269060/ http ://flickr.com/photos/andreasmarx/38313268/ http ://flickr.com/photos/vogelium/330566664/ http ://openclipart.org/media/files/jean victor balin/8656 http ://www.flickr.com/photos/c-remy/2373123435/ http ://www.flickr.com/photos/sharynmorrow/4797654/ http ://www.flickr.com/photos/mvisosky/2683222011/ http ://www.flickr.com/photos/wolfsoul/2072332105/ Romain PELISSE Les gestionnaires de sources distribu´s et leurs cas d’utilisations e