Table des matières

Mercurial

The Ryzom Core Game Server data is hosted on Bitbucket, which uses the Mercurial repository. We currently use the git system via a local Gitlab instance. If you do not know the concepts(push, pull, clone), go to page how to retrieve data. Website of Bitbucket

A tutorial on using Mercurial is available here, in French: https://www.mercurial-scm.org/wiki/FrenchTutorial.

A well done tutorial, in one page that essentially said it all: http://blog.pilotsystems.net/2009/05/tutorial-francais-mercurial-hg

A guide on the Branches in Mercurial, in English: A Guide to Branching in Mercurial.

The best is to start reading one of these tutorials. But if you want to go straight to the basics, the next chapter will help you get started with Mercurial.

OBS: The following are very summary!! For more explanations, read the tutorials.

The basic commands

After installing Mercurial, edit the file ~/.hgrc to indicate your favorite text editor, the editor to compare at a merge, and your login at commit:

username=Your username <nom.email@domain.com>
editor=nano
merge=meld

Nano and Meld are only suggestions… Make also sure that you have the these two software's installed! We start by cloning a remote repository to our own computer.

Cloning a repository to home folder:

hg clone http://depots.khaganat.net/scm/hg/Fabrique

You can clone the first one to an second folder, in order to keep/compare the “server” version and versions in the course of work. This makes it possible to merge the differences more comfortably.

Cloning a branch “to tweak”(in order to return more easily if necessary):

 Hg clone FabriquePerso

Then, in the folder: FabriquePerso, we can do everything we want, like: editing files, create etc… But if we add folders, we must tell mercurials about there existence by listing them.

List newly created folders:

hg addremove

List changes:

hg status

OR

hg st

Cancel Change:

hg revert file name

Move into account changes(committer). This opens a text editor, in which you indicate you're changes. Warning: It only works on it's own deposit!! It is therefore necessary to do this before “pushing” to the original repository:

hg commit

OR

hg and

Send changes to the original repository(push). The username and password will be requested:

cd ../FabriquePerso
hg push ../Fabrique
hg up

Merge changes(two repositories with divergent files). Be careful so you do this in the right direction! In case of conflict, compare the two files.

hg merge

In case of merge conflict, and to resolve:

hg resolve -m file name

Update from remote repository(retrieve what others have changed).

cd ../Fabrique
hg pull -u http://depots.khaganat.net/scm/hg/Fabrique
hg up

There are also several methods to synchronize it's files with the master repository of the project, among which is distinguished as TortoiseHg, a graphical tool available in Windows and GNU/Linux(and soon Mac).

Installation of Tortoise Hg

It already exist in Debian binaries: tortoisehg and/or tortoisehg-nautilus(depends on Mercurial).
Otherwise you can find explanations on the http://tortoisehg.bitbucket.org/download/index.html project download page].

Git

Git is another version management system. It is used for Khaganat currently, knowing it can therefore prove useful. See full article. ←- Does not exist!!