Mercurial

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Mercurial
Image illustrative de l'article Mercurial
Logo

Développeur Matt Mackall
Dernière version 2.8.1 (1er décembre 2013) [+/-]
Environnement Multiplate-forme
Langue anglais
Type Gestion de version
Licence GNU GPL
Site web mercurial.selenic.com

Mercurial est un logiciel de gestion de versions décentralisé disponible sur la plupart des systèmes Unix et Windows.

Le créateur et principal développeur de Mercurial est Matt Mackall. C'est un logiciel libre, l'ensemble des sources du logiciel étant sous la GNU GPL version 2.

Mackall met à disposition Mercurial pour la première fois le 19 avril 2005, seulement quelques jours après que le développement de Git eut commencé[1].

Informations techniques[modifier | modifier le code]

Disponible pour les systèmes d'exploitation Microsoft Windows, Mac OS X, et sur la plupart des systèmes d'exploitation du type Unix, Mercurial est écrit principalement en Python. Il a été créé pour s'utiliser via des lignes de commandes. Toutes les commandes commencent par « hg », en référence au symbole chimique du mercure. Ses principales caractéristiques sont[2], entre autres :

  • sa rapidité et sa capacité à gérer les gros projets ;
  • son utilisation sans nécessiter un serveur ;
  • son fonctionnement complètement distribué ;
  • sa robustesse dans la gestion des fichiers ASCII et binaires ;
  • sa gestion avancée des branches et des fusions ;
  • son interface web intégrée.

Comme Git et Monotone, Mercurial utilise une fonction de hachage SHA-1 pour identifier ses versions.

Mercurial utilise un protocole réseau basé sur HTTP.

Les principales commandes de Mercurial[modifier | modifier le code]

add 
Ajoute tout ou une partie des fichiers pour le prochain commit
annotate 
Montre l'origine de chaque ligne distincte dans un fichier texte (auteur, date, révision...)
archive 
Extrait une version sans les méta-données depuis le dépôt
clone 
Fait une copie du dépôt d'un projet existant
commit (ci) 
Enregistre une partie ou toutes les modifications locales dans le dépôt créant ainsi une nouvelle version
diff 
Calcule la différence entre deux versions
export 
Récupère les en-têtes et les différences pour une ou plusieurs versions
init 
Crée un dépôt dans le répertoire donné en paramètre (répertoire courant sans paramètre)
log 
Donne l'historique des versions d'un dépôt entier ou de fichiers donnés
manifest 
Donne la liste des fichiers contenus dans une version donnée
merge 
Fusionne le répertoire de travail avec une autre version
parents 
Montre les parents de la version de travail en cours ou d'une version donnée
pull 
Récupère les changements depuis un dépôt donné
push 
Exporte les changements vers un dépôt donné
remove (rm) 
Supprime tout ou une partie des fichiers pour le prochain commit
revert 
Revient à une version donnée de fichiers ou de répertoires
serve 
Rend visible le contenu du dépôt via HTTP
status (st) 
Montre les fichiers qui ont subi des changements dans le répertoire de travail
strip 
Efface une version ainsi que toutes les versions suivantes sur une branche donnée
tag 
Associe un marqueur (une étiquette, un label) à une version donnée
tags 
Liste tous les marqueurs d'un dépôt
update (up/checkout/co) 
Met à jour ou fusionne le répertoire de travail
verify 
Vérifie l'intégrité d'un dépôt

Projets utilisateurs[modifier | modifier le code]

Voici une liste de quelques projets qui utilisent Mercurial (Mercurial en fait aussi partie)[3] :

Notes et références[modifier | modifier le code]

  1. (en) Linux Kernel mailing)list : Mercurial v0.1 - a minimal scalable distributed SCM
  2. Matt Mackall, Towards a Better SCM: Revlog and Mercurial, Ottawa Linux Symposium Proceedings, 2006.
  3. Projects using Mercurial sur le site web de Mercurial
  4. (fr) Mozilla Developer Center : « Mercurial est le logiciel distribué de contrôle de versions que nous utilisons pour le développement des prochaines versions majeures (« le tronc »). Il a pris la place de CVS après la branche Mozilla 1.9. »
  5. (en) Passage de la fondation Mozilla de CVS à Mercurial
  6. (en) The OpenJDK Developers' Guide: Repositories
  7. (en) OpenJDK Build README
  8. (en) OpenOffice.org development switches to Mercurial
  9. (en) Courriel de G. Van Rossum annonçant le basculant du projet Python de Subversion à Mercurial

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]