Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
hg_mercurial [Le 09/09/2008, 08:52] pezzos |
hg_mercurial [Le 14/08/2020, 23:09] (Version actuelle) Bissap [Voir aussi] Lien brisé remplacé par https://www.mercurial-scm.org/guide |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>feisty Gutsy développement}} | + | {{tag>Xenial programmation}} |
---- | ---- | ||
====== Mercurial ( ou hg ) ====== | ====== Mercurial ( ou hg ) ====== | ||
- | Mercurial est un système de gestion de versions comme [[subversion]] ou [[cvs]]. | + | 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 ===== |
- | Configuration du fichier /etc/mercurial/hgrc pour stocker des infos : | + | 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. |
- | ''$ sudo vim /etc/mercurial/hgrc'' | + | 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'' | + | <file> |
+ | # system-wide mercurial configuration file | ||
+ | # See hgrc(5) for more information | ||
- | ''# See hgrc(5) for more information'' | + | # User Interface settings |
+ | [ui] | ||
- | '''' | + | username=Your Name <your.email@yourdomain.com> |
- | ''# User Interface settings'' | + | editor=vim |
- | '' [ui]'' | + | merge=meld |
+ | </file> | ||
- | '' username= Your Name <your.email@yourdomain.com>'' | + | Il faut modifier ce fichier à son gré. |
- | '' editor=vim'' | + | Pour le merge [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>meld]]**. |
- | + | ||
- | '' merge=meld'' | + | |
- | + | ||
- | + | ||
- | Il faut modifier ce fichier à son grès. | + | |
===== Utilisation ===== | ===== Utilisation ===== | ||
Ligne 42: | Ligne 44: | ||
==== 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. | ||
Ligne 56: | Ligne 57: | ||
- | '' $ 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. | ||
Ligne 68: | Ligne 69: | ||
- | '' $ 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. | ||
Ligne 75: | Ligne 76: | ||
- | '' $ 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. | ||
Ligne 82: | Ligne 83: | ||
- | '' $ hg pull -u'' | + | <code>hg pull -u</code> |
==== Pour fusionner les changements: ==== | ==== Pour fusionner les changements: ==== | ||
- | ''$ 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 : | + | |
- | + | ||
- | '' syntax: glob'' | + | |
- | + | ||
- | '' *.orig'' | + | |
- | + | ||
- | '' *.rej'' | + | |
- | + | ||
- | '' *~'' | + | |
- | + | ||
- | '' *.o'' | + | |
- | + | ||
- | '' tests/*.err'' | + | |
- | + | ||
- | '''' | + | |
- | + | ||
- | '' syntax: regexp'' | + | |
- | + | ||
- | '' .*\#.*\#$'' | + | |
- | + | ||
- | 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]]// |