This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== Mercurial ====== The Ryzom Core Game Server data is hosted on [[http://bitbucket.org/ryzom/ryzomcore|Bitbucket]], which uses the Mercurial repository. We currently use the [[git|git]] system via a local Gitlab instance. If you do not know the concepts(push, pull, clone), go to page [[en:principe_de_developpement_sur_khaganat |how to retrieve data]]. {{https://khaganat.net/wikhan/_media/fr:tuto_mercurial1.png |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: [[http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/|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. <WRAP center round important 60%> OBS: The following are very summary!! For more explanations, read the tutorials. </WRAP> ===== 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: <code>username=Your username <nom.email@domain.com> editor=nano merge=meld </code> // [[http://www.nano-editor.org/|Nano]] and [[http://meldmerge.org/|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 [[wpfr> wiki/TortoiseHg|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. [[en:git|See full article]]. <-- Does not exist!! {{tag>Data Ryzom_Core Tools}}