====== Mercurial ======
Les données du serveur de jeu Ryzom Core sont hébergées sur [[http://bitbucket.org/ryzom/ryzomcore|Bitbucket]], qui utilise le système de gestion des dépôts Mercurial. Nous utilisons actuellement le système [[fr:git|git]], via une instance locale Gitlab. Si vous ne connaissez pas du tout les concepts (push, pull, clone), allez voir la page [[fr:principe_de_developpement_sur_khaganat|comment récupérer les données]].
{{ tuto_mercurial1.png?direct&200 |Site Internet de Bitbucket}}
Un tutoriel sur l'utilisation de Mercurial est disponible ici, en français : [[https://www.mercurial-scm.org/wiki/FrenchTutorial]].
Un tutoriel que je trouve également très bien fait, en une page l'essentiel est dit : [[http://blog.pilotsystems.net/2009/05/tutorial-francais-mercurial-hg]]
Un guide sur les Branches dans Mercurial, en anglais : [[http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/|A Guide to Branching in Mercurial]].
Le mieux est de lire l'un de ces tutoriels pour commencer. Mais si vous souhaitez aller directement à l'essentiel, le chapitre suivant vous aide à vos premières manipulations avec Mercurial.
C'est très résumé ! Pour plus d'explications, les tutoriels listés sont parfaits.
===== Les commandes de base =====
Après l'installation de Mercurial, modifiez le fichier dans ''~/.hgrc'' pour indiquer votre éditeur de texte favori, l'éditeur pour comparer lors d'un merge, ainsi que votre identifiant lors des commit :
username=Votre Pseudo
editor=nano
merge=meld
//[[http://www.nano-editor.org/|Nano]] et [[http://meldmerge.org/|Meld]] ne sont que des suggestions ; assurez-vous aussi d'avoir les deux logiciels en question installés !//
//On commence par cloner un dépôt distant sur son propre ordi.//
Cloner un dépôt chez soi :
hg clone http://depots.khaganat.net/scm/hg/Fabrique
//On peut cloner dans un second dossier la copie du premier, afin de garder pour comparer la version "serveur" et la version en cours de travail. Cela permet de pouvoir fusionner les différences de façon plus confortable aussi.//
Cloner chez soi une branche "pour bidouiller" (afin de revenir plus facilement en arrière au besoin) :
hg clone Fabrique FabriquePerso
Ensuite, dans ce dossier //FabriquePerso//, on fait tout ce qu'on veut : modifier des fichiers, en créer... Si on ajoute des dossiers, il faut dire à mercurial qu'ils existent, en les listant.
Lister les dossiers nouvellement créés :
hg addremove
Lister les changements :
hg status
OU
hg st
Annuler un changement :
hg revert nomdufichier
Prendre en compte les changements (committer). Cela ouvre un éditeur de texte, dans lequel on indique ce qu'on a changé. Attention ça ne marche que sur son propre dépôt ; c'est nécessaire de le faire avant de "pusher" sur le dépôt original :
hg commit
OU
hg ci
Envoyer les changements sur le dépôt original (push). Le nom d'utilisateur et mot de passe sera demandé :
cd ../FabriquePerso
hg push ../Fabrique
hg up
Fusionner des changements (deux dépôts avec des fichiers divergents). Attention à faire ça dans le bon sens ! En cas de conflit, comparer les deux fichiers.
hg merge
En cas de confit de merge, une fois résolu :
hg resolve -m nomdufichier
Mettre à jour depuis un dépôt distant (récupérer ce que les autres ont changé)
cd ../Fabrique
hg pull -u http://depots.khaganat.net/scm/hg/Fabrique
hg up
Il existe ensuite plusieurs méthodes pour synchroniser ses fichiers avec le repository maître du projet, parmi elles on distingue [[wpfr>wiki/TortoiseHg|TortoiseHg]], un outil graphique disponible sous Windows et GNU/Linux (et bientôt Mac).
===== Installation de Tortoise Hg =====
Il existe dans les dépôts de binaires Debian : //tortoisehg// et/ou //tortoisehg-nautilus// (dépendent de //Mercurial//).
\\ Sinon on trouve des explications sur la [[http://tortoisehg.bitbucket.org/download/index.html|page de download du projet]].
===== Git =====
Git est un autre système de gestion de version. Il est utilisé pour Khaganat actuellement, le connaitre peut donc s'avérer utile.
[[fr:git|Voir l'article complet]].
{{tag>Données Ryzom_Core Outils}}