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.
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.
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).
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 is another version management system. It is used for Khaganat currently, knowing it can therefore prove useful. See full article. ←- Does not exist!!