Les gestionnaires de sources distribués et leurs cas d'utiliation - Solutions Linux 2009
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 697 views

Introduction aux spécificités des gestionnaires de source distribués et description des usages nouveaux qu'ils apportent.

Introduction aux spécificités des gestionnaires de source distribués et description des usages nouveaux qu'ils apportent.

Statistics

Views

Total Views
697
Views on SlideShare
695
Embed Views
2

Actions

Likes
0
Downloads
11
Comments
0

1 Embed 2

http://www.slideshare.net 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • 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