{{tag>Xenial programmation}}
----
====== Mercurial ( ou hg ) ======
Mercurial est un [[wpfr>logiciel de gestion de versions]] permettant en particulier la gestion de version décentralisée (comme [[bzr]] ou [[git]]). Il est disponible sur plusieurs plate-formes : systèmes Unix, Windows, Mac OS X.
===== Pré-requis =====
* Disposer des [[:sudo|droits d'administration]].
* Disposer d'une connexion à Internet configurée et activée.
===== Installation =====
[[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>mercurial]]**.
===== Configuration =====
Le fichier de configuration de Mercurial par défaut est localisé dans **/etc/mercurial/hgrc**. Il affecte tous les utilisateurs du poste et doit être édité avec les droits de super-utilisateur.
Vous pouvez cependant configurer Mercurial pour votre session uniquement en créant un fichier de configuration dans votre **Dossier Personnel**, nommé ~/.hgrc .Dans ce cas, vous n'avez pas besoin des droits de [[sudo|super-utilisateur]] pour éditer ce fichier.
[[:tutoriel:comment_modifier_un_fichier|Éditez le fichier]] le fichier de configuration **/etc/mercurial/hgrc** ou **editor ~/.hgrc** et placez-y ces informations :
# system-wide mercurial configuration file
# See hgrc(5) for more information
# User Interface settings
[ui]
username=Your Name
editor=vim
merge=meld
Il faut modifier ce fichier à son gré.
Pour le merge [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>meld]]**.
===== Utilisation =====
==== Pour initialiser le dossier dans lequel nous allons travailler : ====
cd /chemin/du/project/
hg init
==== Pour récupérer une copie des fichiers de travail s'il existe déjà dans ====
hg clone http://votredomaine.com:port depot-du-projet
"depot-du-projet" sert à spécifier le répertoire de destination des fichiers et dossiers qui seront téléchargés. Si aucune destination n'est spécifiée alors la destination aura le même nom que celle du répertoire du dépôt.
==== Pour prendre en compte des nouveaux fichiers dans le dépôt: ====
hg add
==== Pour enregistrer les changements effectués sur un fichier: ====
hg commit
Attention, il faut bien renseigner les changements sinon les modifications ne seront pas prises en compte.
==== Pour mettre les changements sur un dépôt distant: ====
hg push http://votredomaine.com:port depot-du-projet
"depot-du-projet" sert à spécifier le répertoire de destination des fichiers et dossiers qui seront téléchargés. Si aucune destination n'est spécifiée alors la destination aura le même nom que celle du répertoire du dépôt.
==== Pour récupérer les changements sur un dépôts distant: ====
hg pull http://votredomaine.com:port depot-du-projet
"depot-du-projet" sert à spécifier le répertoire de destination des fichiers et dossiers qui seront téléchargés. Si aucune destination n'est spécifiée alors la destination aura le même nom que celle du répertoire du dépôt.
==== Pour mettre à jour les sources (similaire à svn update ou cvs update) faites simplement : ====
hg pull -u
==== Pour fusionner les changements: ====
hg merge
hg commit
==== Pour créer un patch et exporter: ====
hg commit
hg export tip
==== Pour permettre l'export du dépôt via HTTP avec une interface navigable: ====
hg serve -n "Mon depot" -p
===== Voir aussi =====
Vous pouvez consulter les sites suivants pour obtenir un complément d'information...
* **(en)** [[https://www.mercurial-scm.org/guide|Guide pour l'utilisation de Mercurial]]
----
//Contributeurs : [[utilisateurs:pezzos]], [[utilisateurs:Fabien26]], [[utilisateurs:guigouz|Guigouz]]//