| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| hg_mercurial [Le 27/12/2009, 19:26] – alternatives 213.95.41.13 | hg_mercurial [Le 14/08/2020, 23:09] (Version actuelle) – [Voir aussi] Lien brisé remplacé par https://www.mercurial-scm.org/guide Bissap |
|---|
| {{tag>Feisty Gutsy programmation}} | {{tag>Xenial programmation}} |
| ---- | ---- |
| |
| ====== Mercurial ( ou hg ) ====== | ====== Mercurial ( ou hg ) ====== |
| |
| Mercurial est un [[wpfr>logiciel de gestion de versions]] permettant en particulier la gestion de version décentralisée (comme [[bazaar]] ou [[git]]). Il est disponible sur plusieurs plate-formes : systèmes Unix, Windows, Mac OS X. | 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 ===== | ===== Installation ===== |
| [[apt://mercurial|{{apt.png |Installation automatique}}]] | [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>mercurial]]**. |
| |
| [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **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 superutilisateur. | 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 home, nommé ~/.hgrc .Dans ce cas, vous n'avez pas besoin des droits de superutilisateur pour éditer ce fichier. | 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. |
| |
| Editez le fichier de configuration: | [[:tutoriel:comment_modifier_un_fichier|Éditez le fichier]] le fichier de configuration **/etc/mercurial/hgrc** ou **editor ~/.hgrc** et placez-y ces informations : |
| |
| ''$ sudo vim /etc/mercurial/hgrc'' ou ''$ vim ~/.hgrc'' | <file> |
| | # system-wide mercurial configuration file |
| | # See hgrc(5) for more information |
| |
| Placez-y ces informations: | # User Interface settings |
| | [ui] |
| |
| ''# system-wide mercurial configuration file'' | username=Your Name <your.email@yourdomain.com> |
| |
| ''# See hgrc(5) for more information'' | editor=vim |
| |
| '''' | merge=meld |
| | </file> |
| |
| ''# User Interface settings'' | Il faut modifier ce fichier à son gré. |
| |
| '' [ui]'' | Pour le merge [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>meld]]**. |
| | |
| '' username= Your Name <your.email@yourdomain.com>'' | |
| | |
| '' editor=vim'' | |
| | |
| '' merge=meld'' | |
| | |
| | |
| Il faut modifier ce fichier à son grès. | |
| | |
| Pour le merge installez également : | |
| [[apt://meld|{{apt.png |Installation automatique}}]] | |
| | |
| [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **meld** | |
| |
| ===== Utilisation ===== | ===== Utilisation ===== |
| ==== Pour initialiser le dossier dans lequel nous allons travailler : ==== | ==== Pour initialiser le dossier dans lequel nous allons travailler : ==== |
| |
| | <code>cd /chemin/du/project/</code> |
| ''$ cd /chemin/du/project/ | <code>hg init</code> |
| $ hg init'' | |
| |
| ==== Pour récupérer une copie des fichiers de travail s'il existe déjà dans ==== | ==== 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'' | <code>hg clone http://votredomaine.com:port depot-du-projet</code> |
| |
| "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. | "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. |
| |
| |
| '' $ hg add'' | <code>hg add</code> |
| |
| ==== Pour enregistrer les changements effectués sur un fichier: ==== | ==== Pour enregistrer les changements effectués sur un fichier: ==== |
| |
| |
| '' $ hg commit'' | <code>hg commit</code> |
| |
| Attention, il faut bien renseigner les changements sinon les modifications ne seront pas prises en compte. | Attention, il faut bien renseigner les changements sinon les modifications ne seront pas prises en compte. |
| |
| |
| '' $ hg push http://votredomaine.com:port depot-du-projet'' | <code>hg push http://votredomaine.com:port depot-du-projet</code> |
| |
| "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. | "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. |
| |
| |
| '' $ hg pull http://votredomaine.com:port depot-du-projet'' | <code>hg pull http://votredomaine.com:port depot-du-projet</code> |
| |
| "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. | "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. |
| |
| |
| '' $ hg pull -u'' | <code>hg pull -u</code> |
| |
| |
| |
| |
| ''$ hg merge'' | <code>hg merge</code> |
| |
| ''$ hg commit'' | <code>hg commit</code> |
| |
| ==== Pour créer un patch et exporter: ==== | ==== Pour créer un patch et exporter: ==== |
| |
| |
| ''$ hg commit | <code>hg commit</code> |
| $ hg export tip'' | <code>hg export tip</code> |
| |
| ==== Pour permettre l'export du dépôt via HTTP avec une interface navigable: ==== | ==== Pour permettre l'export du dépôt via HTTP avec une interface navigable: ==== |
| |
| |
| ''$ hg serve -n "Mon depot" -p <numérodeport>'' | <code>hg serve -n "Mon depot" -p <numérodeport></code> |
| | ===== Voir aussi ===== |
| | |
| ==== Fichier .hgignore ==== | |
| | |
| Mercurial dispose d'un système pour n'inclure que certains type de fichier. Il faut créer un fichier appelé .hgignore à la racine du dépôt. Voici un exemple : | |
| | |
| <code> | |
| syntax: glob | |
| | |
| *.orig | |
| *.swp | |
| *.rej | |
| *~ | |
| *.o | |
| tests/*.err | |
| | |
| syntax: regexp | |
| .*\#.*\#$ | |
| </code> | |
| | |
| Pour tester le fichier .hgignore : | |
| |
| '' $ hg status'' | 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]] |
| |
| ---- | ---- |
| Pour plus d'informations, n'hésitez pas à contacter [[utilisateurs:pezzos]]. | |
| |
| //Contributeurs: [[utilisateurs:pezzos]], [[utilisateurs:Fabien26]]// | //Contributeurs : [[utilisateurs:pezzos]], [[utilisateurs:Fabien26]], [[utilisateurs:guigouz|Guigouz]]// |