Mercurial és un sistema de control de versions, que es caracteritza per portar la gestió de versions de forma descentralitzada. Es troba disponible a gran nombre de plataformes, com ara les UNIX com Linux, Windows i Mac OS X.
Està escrit principalment amb Python i fou creat per a ser emprat des de la línia d'ordres. Les aplicacions tenen noms que comencen amb hg, en referència al símbol químic del mercuri. Les seues principals característiques són, entre d'altres:
La seua rapidesa i capacitat d'adaptar-se a grans projectes El seu ús permet no deprendre d'un servidor El seu funcionament és completament distribuït És robust tant en la gestió de fitxers ASCII com amb binaris Té una gestió avançada de les branques i de les fusions Té integrada una interfície web
Com altre programari, com el Git o el Monotone, utilitza una funció de resum SHA-1 per a identificar les versions. El seu protocol de xarxa es basa en HTTP.
El creador i principal desenvolupador és en Matt Mackall, que va posar a disposició de la comunitat el programa el 19 d'abril del 2005, pocs dies després que comencés el desenvolupament del Git. Es tracta de programari lliure sota una llicència lliure GNU GPL.
Actualment utilitzen aquest sistema gran nombre de projectes de codi obert a la xarxa, com ara MoinMon, Mozilla o OpenSolaris.
Ordres principals del Mercurial OrdreAcció add S'afegeix tots o una part dels fitxers en una propera confirmació de canvis (commit) annotate Es mostra l'origen de cada línia diferent en un fitxer de text (autor, data, revisió...) archive S'extreu unes versions sense les metadades d'un repositori clone Es fa una còpia d'un repositori d'un projecte existent commit (ci) Es confirma i enregistra una part o totes les modificacions locals en un repositori creant-se així una nova versió diff Es calcula la diferència entre dues versions export Es recuperen les capçaleres i les diferències d'una o diferents versions init Es crea un repositori dins el directori donat com a paràmetre (l'actual si no s'especifica cap paràmetre) log Es retorna l'historial de les versions d'un repositori sencer o d'uns fitxers donats manifest Es retorna la llista dels fitxers continguts en una versió determinada merge Es fusiona el directori de treball amb una altra versió parents Es mostra els pares d'una versió de treball actual o d'una versió donada pull Es recuperen els canvis d'un repositori donat push S'exporten els canvis d'un repositori donat remove (rm) Se suprimeixen tots o una part dels fitxers en una propera confirmació de canvis (commit) revert Es reverteix a una versió donada de fitxers o de directoris serve Es fa visible el contingut d'un repositori gràcies a l'HTTP status (st) Es mostren els fitxers que han patit canvis en el directori de treball respecte al repositori strip S'esborra una versió i totes les següents d'una branca donada tag S'associa una etiqueta amb una versió donada tags Es llisten totes les etiquetes d'un repositori update (up/checkout/co) S'actualitza o es fusiona el directori de treball verify Es verifica la integritat d'un repositori
Enllaços externs
Wiki del projecte Google TechTalk sobre Mercurial Comparativa de diferents sistemes de control de versions
Categoria:Programari lliure