Formation Mercurial

Comprendre les principes d'un système de gestion de sources décentralisé

Durée 2 jours
DVCS-MERCURIAL-02

Contactez nous pour planifier
la prochaine session.

Description

Mercurial fait partie de la nouvelle génération de gestionnaires de sources qui émerge depuis quelques années dans le monde de l’OpenSource : les DVCS (distributed version control system).

Créé en 2005 par Matt Mackall, les principales propriétés de Mercurial sont la rapidité et la performance, la simplicité d’utilisation, la légéreté combinée avec des possibilités d’extension, ainsi que la disponibilités sur toutes les plateformes.

Quelques unes des communautés OpenSource les plus influentes font confiance à Mercurial pour gérer leurs sources parmis lesquelles : OpenJDK, Mozilla Foundation, le W3C...

Mercurial présente également l’avantage de simplifier la migration depuis les systèmes centralisés (SVN, CVS, …) : d’une part techniquement, grâce aux outils de conversion intégrés, et d’autre part grâce à la consistance des terminologies employées.

Objectifs

  • Comprendre les principes d'un système de gestion de sources décentralisé
  • Savoir mettre en place et configurer un repository Mercurial
  • Maîtriser la gestion de ses sources au quotidien
  • Comprendre les mécanismes de branching/merge fréquents
  • Apprendre à collaborer avec les « repository » distants
  • Connaître les différents moyens de publier un « repository »

Pré-requis : 

  • Aucun

Public : 

  • Architecte
  • Développeur
  • Chef de projet
  • Administrateur système

Pédagogie : 

50% théorie 50% pratique

Programme

Les systèmes de gestion de sources

  • Pourquoi ? Comment ? Quand ? Qui ?
  • Terminologie

Principes d'une architecture distribuées

  • Les avantages
  • Les spécificités

Utilisation au quotidien

  • Récupérer une copie de travail
  • S’informer de l’état d’une copie de travail
  • Enregistrer les modifications
  • Parcourir l'historique des révisions
  • Revenir en arrière en cas d’erreur

Behind the Scene

  • Connaître la structure d’un repository Mercurial et de ses objets

Les branches

  • Comprendre les différents types de branches techniques
  • les branches nommées
  • le branchage par clonnage
  • les branches anonymes
  • les bookmarks
  • Maîtriser le merge
  • Résoudre les conflits

Collaborer

  • Communiquer avec les “repository” distants
  • S’informer des modifications entrantes et sortantes
  • Réintégrer une branche distante (pull -> merge -> commit)
  • Pousser ses modifications vers une branche distante (push)
  • Connaître les workflows collaboratifs recommandés

Administration

  • Configurer un repository
  • Distribuer un repository
  • Les protocoles disponibles
  • Utiliser les scripts CGI fournis hgweb
  • Mise en place d’authentification et autorisations

Les outils

  • Client web hg serve
  • TortoiseHG
  • Plugin Eclipse
  • Les différentes extensions utiles (Mercurial Queues, cherry picking avec Transplant, ...)
  • Les hooks disponibles