====== Mercurial ======
[[http://mercurial.selenic.com/|Mercurial]] est un logiciel de version décentralisé, écrit en Python.
===== Paramétrage =====
Il faut soit créer un fichier ''.hgrc'' à la racine de notre **$HOME**, soit créer ce fichier dans le dossier caché ''.hg/'' de son projet (ce dossier est automatiquement créé lorsqu'on exécute la commande ''hg init'').
[ui]
username = ...
verbose = True
editor = /usr/bin/vim
[extensions]
graphlog =
color =
Il faut bien sur, adapter les valeurs de chacune des clés ((Les extensions ne contiennent aucune valeur.)).
===== Quelques commandes utiles =====
Ajouter un fichier :
hg add nouveau_fichier
On peut également utiliser des //jokers// (dans la cas ci-dessous, on ajoute tous les fichiers ''.c'') :
hg add *.c
Connaître l'état du dépôt (savoir si des fichiers ont été modifiés) :
hg status
Enregistrer les modifications :
hg commit
Cela a pour effet d'ouvrir l'éditeur de texte pré-défini.
Envoyer les modifications du dépôt sur un dépôt externe à celui en local :
hg push
Mettre à jour son dépôt local (par rapport à celui distant) :
hg pull
En fonction de la réponse, si il y a eu des modifications sur le dépôt distant, on enchaîne avec la commande ''hg update'' (sinon, on ne fait rien).
==== Cas particulier, revenir en arrière ====
Après avoir sauvegardé nos modifications, on peut constater un problème, une erreur.
=== Après un "push" ===
La commande ''hg push'' envoie nos modifications locales sur le serveur distant. Si on constate une erreur, on peut revenir en arrière avec la commande ''hg rollback''.
''hg rollback'' s'utilise une **seule fois**.
Il est conseillé de consulter le journal (''hg log'') de toutes nos modifications avant et après cette commande.
=== Avant un "push" ===
Il faut utiliser la commande ''hg revert'' sur le (ou les) fichier(s) / dossier(s) modifié.