Mercurial

Un article de Wikipédia, l'encyclopédie libre.

Mercurial
Développeur Matt Mackall
Dernière version 1.0.1 (le 22 mai 2008)
Environnement Multiplate-forme
Langue anglais
Type Gestion de version
Licence GNU GPL
Site web selenic.com/mercurial/wiki/

Mercurial est un système de gestion de versions. Il permet en particulier la gestion de version décentralisée. Il est disponible sur plusieurs plate-formes : Unix-like, Windows, Mac OS X.

Il est écrit principalement en Python. Mercurial a été créé pour s'utiliser via des lignes de commande. Toutes les commandes commencent par hg, en référence au symbole chimique du mercure. Ses principales caractéristiques sont, 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.

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

Sommaire

[modifier] Informations techniques

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

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

Mercurial est disponible sur les environnements Windows, Mac OS X, et sur la plupart des systèmes d'exploitation du type Unix.

[modifier] Historique

Mackall mit à 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]


[modifier] Les principales commandes de Mercurial

Commande Signification
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 versions 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ête et les différences pour une ou plusieurs versions
init Créé 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 changement 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 fusionnne le répertoire de travail
verify Vérifie l'intégrité d'un dépôt


[modifier] Projets utilisateurs

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

[modifier] Voir aussi

[modifier] Liens externes