diff -r f4d1d5d9ccbb -r 90f2f20367bc goa/doc/devmanual_fr/sect_mercurial.txt --- a/goa/doc/devmanual_fr/sect_mercurial.txt Tue Jul 27 12:36:03 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,110 +0,0 @@ -Présentation de Mercurial -------------------------- - -Introduction -```````````` -Mercurial_ gère un ensemble distribué d'entrepôts contenant des arbres de -révisions (chaque révision indique les changements à effectuer pour obtenir la -version suivante, et ainsi de suite). Localement, on dispose d'un entrepôt -contenant un arbre de révisions, et d'un répertoire de travail. Il est possible -de mettre dans son répertoire de travail, une des versions issue de son entrepôt -local, de la modifier puis de la verser dans son entrepôt. Il est également -possible de récuprer dans son entrepôt local des révisions venant d'un autre -entrepôt, ou d'exporter ses propres révisions depuis son entrepôt local vers un -autre entrepôt. - -A noter que contrairement à CVS/Subversion, on crée généralement un entrepôt par -projet à gérer. - -Lors d'un développement collaboratif, on crée généralement un entrepôt central -accessible à tout les développeurs du projet. Ces entrepôts centraux servent de -référence. Selon ses besoins, chacun peut ensuite disposer d'un entrepôt local, -qu'il faudra penser à synchroniser avec l'entrepôt central de temps à autre. - - -Principales commandes -````````````````````` -* Créer un entrepôt local :: - - hg clone ssh://orion//home/src/prive/rep - -* Voir le contenu de l'entrepôt local (outil graphique en Tk) :: - - hg view - -* Ajouter un sous-répertoire ou un fichier dans le répertoire courant :: - - hg add rep - -* Placer dans son répertoire de travail une révision spécifique (ou la dernière - revision) issue de l'entrepôt local :: - - hg update [identifiant-revision] - hg up [identifiant-revision] - -* Récupérer dans son entrepôt local, l'arbre de révisions contenu dans un - entrepôt distant (cette opération ne modifie pas le répertoire local) :: - - hg pull ssh://orion//home/src/prive/rep - hg pull -u ssh://orion//home/src/prive/rep # équivalent à pull + update - -* Voir quelles sont les têtes de branches de l'entrepôt local si un `pull` a - tiré une nouvelle branche :: - - hg heads - -* Verser le répertoire de travail dans l'entrepôt local (et créer une nouvelle - révision) :: - - hg commit - hg ci - -* Fusionner, avec la révision mère du répertoire local, une autre révision issue - de l'entrepôt local (la nouvelle révision qui en résultera aura alors deux - révisions mères) :: - - hg merge identifiant-revision - -* Exporter dans un entrepôt distant, l'arbre de révisions contenu dans son - entrepôt local (cette opération ne modifie pas le répertoire local) :: - - hg push ssh://orion//home/src/prive/rep - -* Voir quelle sont les révisions locales non présentes dans un autre entrepôt :: - - hg outgoing ssh://orion//home/src/prive/rep - -* Voir quelle sont les révisions d'un autre entrepôt non présentes localement :: - - hg incoming ssh://orion//home/src/prive/rep - -* Voir quelle est la révision issue de l'entrepôt local qui a été sortie dans le - répertoire de travail et modifiée :: - - hg parent - -* Voir les différences entre le répertoire de travail et la révision mère de - l'entrepôt local, éventuellement permettant de les verser dans l'entrepôt - local :: - - hg diff - hg commit-tool - hg ct - - -Bonnes pratiques -```````````````` -* penser à faire un `hg pull -u` régulièrement et particulièrement avant de - faire un `hg commit` - -* penser à faire un `hg push` lorsque votre entrepôt contient une version - relativement stable de vos modifications - -* si un `hg pull -u` a créé une nouvelle tête de branche : - - 1. identifier l'identifiant de celle-ci avec `hg head` - 2. fusionner avec `hg merge` - 3. `hg ci` - 4. `hg push` - -.. _Mercurial: http://www.selenic.com/mercurial/