====== 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é.