- Mercurial
-
Mercurial Desarrollador Matt Mackall
http://mercurial.selenic.com/Información general Última versión estable 2.0 (info)
1 de noviembre de 2011Género Control de versiones Programado en Python y C Sistema operativo Tipo Unix, Windows, Mac OS X Licencia GPL v2 En español ? Mercurial es un sistema de control de versiones multiplataforma, para desarrolladores de software. Está implementado principalmente haciendo uso del lenguaje de programación Python, pero incluye una implementación binaria de diff escrita en C. Mercurial fue escrito originalmente para funcionar sobre Linux. Ha sido adaptado para Windows, Mac OS X y la mayoría de otros sistemas tipo Unix. Mercurial es, sobre todo, un programa para la línea de comandos. Todas las operaciones de Mercurial se invocan como opciones dadas a su programa motor, hg, que hace referencia al símbolo químico del mercurio.
Las principales metas de desarrollo de Mercurial incluyen un gran rendimiento y escalabilidad; desarrollo completamente distribuido, sin necesidad de un servidor; gestión robusta de archivos tanto de texto como binarios; y capacidades avanzadas de ramificación e integración, todo ello manteniendo sencillez conceptual.[1] Incluye una interfaz web integrada.
El creador y desarrollador principal de Mercurial es Matt Mackall. El código fuente se encuentra disponible bajo los términos de la licencia GNU GPL versión 2, lo que clasifica a Mercurial como software libre.
Contenido
Información técnica
Al igual que git y Monotone, Mercurial usa resumenes SHA-1 para identificar revisiones.
Para el acceso a repositorios mediante red, Mercurial usa un protocolo eficiente, basado en HTTP, que persigue reducir el tamaño de los datos a transferir, así como la proliferación de peticiones y conexiones nuevas. Mercurial puede funcionar también sobre ssh, siendo el protocolo muy similar al basado en HTTP.
Documentación
Bryan O'Sullivan ha escrito un extenso manual de referencia, Distributed revision control with Mercurial.[2] El manual es de libre acceso bajo los términos de la Open Publication License.
Historia
Mackall hizo pública la existencia de Mercurial el 19 de abril de 2005.[3] El estímulo que llevó a esto fue el anuncio de Bitmover, publicado anteriormente aquel mismo mes, informando que retirarían la versión gratuita de BitKeeper.
Se había estado usando BitKeeper debido a los requisitos de control de versiones del proyecto del núcleo Linux. Mackall decidió escribir un sistema de control distribuido de versiones como sustituto para usarlo con el núcleo Linux. Este proyecto comenzó aproximadamente al mismo tiempo que otro denominado git, iniciado por el propio Linus Torvalds con objetivos similares.
El proyecto Linux decidió usar Git en lugar de Mercurial. Sin embargo, muchos otros proyectos usan este último.
Software relacionado
- Entre las interfaces GUI para Mercurial se encuentra Hgk (Tcl/Tk). Se ha implementado como extensión a Mercurial y es parte de la versión oficial. Este visor muestra el grafo acíclico dirigido de las listas de cambios de un repositorio de Mercurial. Este visor se puede invocar mediante la orden 'hg view', si la extensión está activa. hgkse basó originalmente en una herramienta similar para git llamada gitk. También existe un cliente en Gtk bautizado hgview, escrito completamente en Python y mantenido por la empresa Logilab.
- Entre las herramientas para integración de cambios se encuentran (h)gct (Qt) y Meld.
- La extensión 'convert' permite importar repositorios de CVS, Darcs, git, GNU Arch, Monotone y Subversion.
- El IDE Netbeans admite trabajar con Mercurial desde su versión 6.
- Tortoise Hg proporciona una interfaz amigable para Windows, con menús contextuales (de botón derecho).
- VisualHG es un proveedor de control de código fuente para MS Visual Studio 2005, 2008 y 2010 que habilita el uso de Mercurial.
Proyectos que usan Mercurial
Algunos de los proyectos que usan el RCS distribuido Mercurial:[4]
- Python
- OpenOffice.org
- Google Code Project Hosting on Google Code permite crear repositorios mercurial (además de Subversion)
- Aldrin
- Audacious
- CubicWeb
- Dovecot IMAP server[5]
- GNU Octave
- Growl
- MoinMoin wiki software
- Mozilla[6]
- Netbeans[7]
- OpenJDK[8]
- SAGE
- OpenSolaris de Sun[9]
- Los desarrolladores de Xen[10]
- Software Opensource de Oracle como Btrfs[11]
Véase también
- Portal:Software libre. Contenido relacionado con Software libre.
- Control de versiones
Referencias
- ↑ Matt Mackall, Towards a Better SCM: Revlog and Mercurial, Ottawa Linux Symposium Proceedings, 2006.
- ↑ O'Sullivan, Bryan (01-01-2007). Distributed revision control with Mercurial. http://hgbook.red-bean.com/.
- ↑ Matt Mackall (2005-04-20), «Mercurial v0.1 - a minimal scalable distributed SCM», lista de correo Linux-Kernel, http://www.ussg.iu.edu/hypermail/linux/kernel/0504.2/0670.html.
- ↑ Algunos proyectos que usan Mercurial
- ↑ Timo Sirainen (2007-05-19), «CVS to Mercurial switch», lista de correo Dovecot-news, http://www.dovecot.org/list/dovecot-news/2007-May/000044.html.
- ↑ Reed, J. Paul (12-04-2007). «Version Control System Shootout Redux Redux».
- ↑ «Switch to hg.netbeans.org completed» (Enero de 2008).
- ↑ James Gosling. Entrevista con Robert Eckstein.James Gosling on Open Sourcing Sun's Java Platform Implementations, Part 1.
- ↑ «OpenSolaris SCM Project History» (05-10-2006).
- ↑ Ian Pratt (2005-07-01), «mercurial now live», lista de correo Xen-devel, http://lists.xensource.com/archives/html/xen-devel/2005-07/msg00003.html.
- ↑ «Oracle Opensource Software Repositories» (25-08-2008).
Enlaces externos
- Wiki oficial del proyecto Mercurial
- Libro de Mercurial
- Mercurial: an alternative to git de LWN.net
- Mercurial para usuarios de TeamWare
- Google TechTalk sobre Mercurial
- Subversion or CVS, Bazaar or Mercurial? Four open source version control systems compared
- "Comenzando con mercurial", recomendable para usuarios de SVN (ingles)
Categorías:- Sistemas de Control de Versiones Distribuidos
- Python
- Software libre
Wikimedia foundation. 2010.