{{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]]//