Mercurial VS. Git

Mercurial VS. Git

Git y Mercurial son las herramientas de software gratuitas para el control de revisión distribuida y la administración del código fuente de software.

Tanto GIT como Mercurial se iniciaron aproximadamente al mismo tiempo con objetivos similares. El estímulo inmediato fue el anuncio en abril de 2005 por BitMover de que estaban retirando la versión gratuita de Bitkeeper, que se había utilizado para los requisitos de control de versiones del proyecto Linux Kernel. El creador de Mercurial Matt Mackall decidió escribir un sistema de control de versiones distribuido como reemplazo para usar con el núcleo de Linux. Mackall anunció por primera vez Mercurial el 19 de abril de 2005.

Git fue creado por Linus Torvalds para el desarrollo del núcleo de Linux, con énfasis en ser rápido. El desarrollo de GIT comenzó el 3 de abril de 2005. El proyecto se anunció el 6 de abril y se convirtió en auto-anfitrión a partir del 7 de abril. La primera fusión de múltiples ramas se realizó el 18 de abril.

El proyecto de kernel de Linux decidió usar git en lugar de mercurial, pero Mercurial ahora es utilizado por muchos otros proyectos ahora.

Cuadro comparativo

Diferencias - similitudes - Git versus tabla de comparación mercurial
GitMercurial
  • La calificación actual es 3.95/5
  • 1
  • 2
  • 3
  • 4
  • 5
(110 calificaciones)
  • La calificación actual es 4.15/5
  • 1
  • 2
  • 3
  • 4
  • 5
(110 calificaciones)
Servidor web incorporado No
Ganchos previos a eventos
Conversiones de final de línea
Etiquetas
Apoyo internacional Parcial
Renombres de archivos Sí (implícito)
Fusionar el nombre de los archivos de archivo
Enlaces simbólicos
Fuente abierta
Revisiones firmadas
IDS de revisión Hashes sha-1 Números, hashes SHA-1
Comodidad atómica
Modelo de historia Instantánea Conjunto de cambios
Tamaño del repositorio O (parche) (gran notación) O (parche) (gran notación)
Modelo de concurrencia Unir Unir
Sistemas operativos Unix, Windows, Mac OS X Unix, Windows, Mac OS X
Área de ensayo No
Rama external No
Costo Gratis Gratis
Palabra clave RCS Sí, pero no recomendado Vía complemento Bundled
Pago / clon de saludo Extensión de Bugzilla
Seguimiento de nombre de archivo/Dir Cambiar el nombre de detección Cambiar el nombre de seguimiento
Pago subdirectorio/clon No No
Modelo de repositorio Repartido Repartido
Permiso manteniendo Solo bit de ejecución Solo bit de ejecución
Protocolos de red Personalizado, personalizado sobre SSH, RSYNC, HTTP, Bundles de correo electrónico Http, personalizado sobre SSH, paquetes de correo electrónico (con complemento estándar)
Desarrollado por Junio ​​Hamano, Linus Torvalds Matt Mackall
Mantenido por Junio ​​Hamano Matt Mackall
Escrito en C, Bourne Shell, Perl Python y C
Seguimiento de fusiones
Integración de rastreador de errores No TRAC (a través del complemento)
Licencia GPL V2 GPL V2
Sitio web git-scm.comunicarse www.selénico.com/mercurial
Sistema operativo Posix, peor soporte de Windows Unix, Windows, Mac OS X
Introducción (de Wikipedia) Git es un control de revisión distribuido gratuito o un proyecto de gestión de código fuente de software con énfasis en ser rápido. Git fue creado inicialmente por Linus Torvalds para el desarrollo del núcleo de Linux. Mercurial es una herramienta de control de revisión distribuida y multiplataforma para desarrolladores de software. Se implementa principalmente utilizando el lenguaje de programación de Python, pero incluye una implementación de diferencias binarias escrita en C.
Tipo Control de revisión Control de revisión

Objetivos de diseño

Los principales objetivos de diseño de Mercurial incluyen un alto rendimiento, escalabilidad, ser un desarrollo colaborativo completamente sin servidor, totalmente distribuido, manejo robusto de texto plano y archivos binarios, y capacidades avanzadas de ramificación y fusión, al tiempo que permanece conceptualmente simple. Incluye una interfaz web integrada.

Uno de los objetivos clave de diseño de Linus Torvalds para GIT fue la velocidad y la eficiencia de las operaciones. Otros criterios de diseño incluyeron fuertes salvaguardas contra la corrupción, ya sea accidental o maliciosa.

Proyectos utilizando git vs proyectos utilizando mercurial

Varios proyectos de software de alto perfil ahora usan Git para el control de revisiones, sobre todo el núcleo de Linux, Perl, Samba, X.Org Server, Qt (Kepskit), una computadora portátil por niño (OLPC) Desarrollo central, Ruby on Rails Web Marco, VLC, Yui, Merb, Wine, SWI Prolog, Gnome, Gstreamer, Dragonfly BSD y la plataforma Mobile Android Mobile Platform Mobile.

Los proyectos que usan Mercurial incluyen AdBlock Plus, Aldrin, Audacious, Dovecot IMAP Server, GNU Octave, NXOS, Nuxeo, Growl, Moinmoin Wiki Software, Mozilla, Mutt (Cliente de correo electrónico), NetBeans (IDE), OpenJDK, Python, Sage, Sun MicroSystem OpenSolaris's OpenSolaris's OpenSolaris y el software OpenSource de Oracle como BTRFS.

Git vs portabilidad mercurial

Mercurial se escribió inicialmente para ejecutarse en Linux. Se ha portado a Windows, Mac OS X y la mayoría de los otros sistemas similares a unix. Mercurial es principalmente un programa de línea de comandos.

GIT se desarrolla principalmente en Linux, pero se puede usar en otros sistemas operativos similares a UNIX, incluidos BSD y Solaris.

Git también se ejecuta en Windows. Hay dos variantes:

  • Un puerto nativo de Microsoft Windows, llamado msysgit, se acerca a la finalización. A partir de febrero de 2009, hay instaladores descargables listos para probar que algunos comandos aún no están disponibles desde las GUI, y deben invocarse desde la línea de comando.
  • Git también se ejecuta sobre Cygwin (una capa de emulación Posix), aunque es notablemente más lento, especialmente para los comandos escritos como scripts de shell.

Interfaz de usuario para Git vs Mercurial

Todas las operaciones de Mercurial se invocan como opciones de palabras clave para su programa de controladores HG, una referencia al símbolo químico del elemento Mercurio. Las interfaces GUI para Mercurial incluyen HGK (TCL/TK). Esto se implementa como una extensión mercurial y es parte de la versión oficial. Este espectador muestra el gráfico acíclico dirigido de los conjuntos de cambios de un repositorio mercurial. Este visor se puede invocar a través del comando 'Vista HG', si la extensión está habilitada. HGK se basó originalmente en una herramienta similar para Git llamada Gitk. Hay un reemplazo de HGK llamado HGView que está escrito en Pure Python y proporciona interfaces GTK y QT.

Las herramientas mercuriales relacionadas incluyen:

  • Las herramientas relacionadas para la fusión incluyen (H) GCT (QT) y Meld.
  • La extensión de Convierte permite la importación de CVS, DARC, GIT, GNU Arch, Montonone y Repositorios de subversión.
  • NetBeans IDE admite Mercurial de la versión 6.
  • Tortoise HG proporciona una interfaz de menú fácil de usar de Windows.
  • VisualHG es un complemento de proveedor de control de fuente mercurial para MS Visual Studio 2008.
  • Mercurial Eclipse es un complemento de proveedor de equipo de Eclipse para Eclipse 3.3 y más nuevo.

Alternativas para ejecutar git usando una GUI incluyen:

  • git-cvsserver (que emula un servidor CVS, permitiendo el uso de clientes CVS de Windows)
  • Cliente Git basado en Eclipse IDE, basado en una implementación pura de Java de las partes internas de Git: EGIT
  • El soporte de NetBeans IDE para GIT está en desarrollo.
  • Se inició una extensión de explorador de Windows (una tortoisecvs/tortoisesvn-blookike) en Tortoisegit y Git Extensions, que es una extensión de explorador, así como una GUI independiente y un complemento Visual Studio 2008

Videos relacionados