Table des matières

Mercurial

Les données du serveur de jeu Ryzom Core sont hébergées sur Bitbucket, qui utilise le système de gestion des dépôts Mercurial. Nous utilisons actuellement le système git, via une instance locale Gitlab. Si vous ne connaissez pas du tout les concepts (push, pull, clone), allez voir la page comment récupérer les données.

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 : 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 <nom.email@domain.com>
editor=nano
merge=meld

Nano et 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 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 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.

Voir l'article complet.