¿Por qué Facebook NO UTILIZA Git?

midulive
17 Mar 202406:50

Summary

TLDREl artículo explora por qué Facebook optó por utilizar Mercurial en lugar de Git, a pesar de la mayor popularidad de este último. Se revela que los problemas de rendimiento de Git eran un cuello de botella para la productividad de Facebook, con tiempos de ejecución lentos para operaciones básicas. La respuesta de Git a sus problemas fue no muy cooperativa, sugiriendo simplemente dividir el repositorio, lo que llevó a Facebook a buscar ayuda en el equipo de Mercurial, que resultó ser más dispuesto a colaborar y mejorar el sistema para sus necesidades específicas. Esto resalta la importancia de la colaboración y la adaptabilidad en el mundo del control de versiones.

Takeaways

  • 📜 Facebook no utiliza git, sino Mercurial como sistema de control de versiones.
  • 📈 Mercurial es una alternativa menor en tamaño comparado con git, que ocupa alrededor del 1-2% del mercado.
  • 🚀 La razón principal para migrar a Mercurial fue el rendimiento, ya que git resultó ser demasiado lento para sus necesidades.
  • 🔍 Facebook experimentó cuellos de botella de productividad debido a problemas de rendimiento con git.
  • 💡 Las mejoras de rendimiento incluyen trabajar con historiales grandes, clonado y pull, lo que se mejoró hasta en 10 veces la velocidad con Mercurial.
  • 📊 Un git status en Facebook tardaba 39 minutos y un git blame 44 minutos, lo cual era inaceptable para la productividad.
  • 🔄 La respuesta de git ante los problemas presentados por Facebook fue no muy cooperativa, sugiriendo dividir el repositorio en varios.
  • 🤝 En contraste, el equipo de Mercurial mostró una mayor apertura para colaborar y ayudar a Facebook a hacer las mejoras necesarias.
  • 📈 La decisión de Facebook de utilizar Mercurial se basó en la disposición de su equipo para colaborar y solucionar los problemas de rendimiento.
  • 🌐 La información sobre la migración de Facebook a Mercurial y las conversaciones relacionadas son públicas y disponibles para su revisión.

Q & A

  • ¿Por qué Facebook no utiliza git?

    -Facebook no utiliza git porque optó por Mercurial, una alternativa que ofrecía mejores rendimientos en situaciones de grandes repositorios y históricos.

  • ¿Cuál es la cuota de mercado de git frente a Mercurial?

    -Git tiene una cuota de mercado del 90%, mientras que Mercurial es alrededor del 1% o 2%.

  • ¿Qué problemas de rendimiento tenía Facebook con git?

    -Con git, Facebook experimentaba problemas de rendimiento significativos, como tardar 39 minutos en ejecutar un comando `git status` y 44 minutos en realizar un `git blame`.

  • ¿Cómo afectaron estos problemas de rendimiento a la productividad de Facebook?

    -Los problemas de rendimiento de git convirtieron en un cuello de botella para la productividad de Facebook, afectando seriamente su capacidad para manejar su crecimiento rápido.

  • ¿Qué mejoras de rendimiento menciona el artículo sobre Mercurial?

    -El artículo menciona mejoras en el clonado y el pull, y que trabajando con Mercurial era hasta 10 veces más rápido que trabajar con git en situaciones de grandes repositorios.

  • ¿Qué fue la respuesta de git ante los problemas reportados por Facebook?

    -La respuesta de git fue que no podían hacer mucho, y sugirieron dividir el repositorio en diferentes ones para manejar el tamaño del historial.

  • ¿Qué hizo Facebook después de que git no ofreciera soluciones satisfactorias?

    -Después de no recibir una respuesta satisfactoria de git, Facebook consideró alternativas y se volvió hacia Mercurial, que estuvo más abierto a colaborar y ayudarles con las mejoras necesarias.

  • ¿Qué es la razón principal por la que Facebook se decidió por Mercurial?

    -La razón principal es que el equipo de Mercurial estuvo más abierto a la colaboración y ayudó a Facebook a crear nuevos patrones y mejoras para manejar su gran repositorio.

  • ¿Qué se puede inferir sobre la toma de decisiones en casos de uso claro con repositorios gigantes?

    -En casos de uso claro con repositorios gigantes, la elección de una herramienta de control de versiones no siempre depende de su popularidad, sino de la capacidad de la herramienta para solucionar los problemas específicos que se enfrentan.

  • ¿Qué pasó con la comunicación entre Facebook y el equipo de git?

    -La comunicación entre Facebook y el equipo de git no resultó en una solución para los problemas reportados, lo que llevó a Facebook a buscar alternativas y migrar a Mercurial.

  • ¿Qué se puede aprender de este caso sobre la colaboración en el desarrollo de software?

    -Este caso demuestra la importancia de la colaboración abierta y la disposición de los equipos para ayudar en la mejora de las herramientas, ya que puede ser clave en la adopción de una tecnología en lugar de otra.

Outlines

plate

Esta sección está disponible solo para usuarios con suscripción. Por favor, mejora tu plan para acceder a esta parte.

Mejorar ahora

Mindmap

plate

Esta sección está disponible solo para usuarios con suscripción. Por favor, mejora tu plan para acceder a esta parte.

Mejorar ahora

Keywords

plate

Esta sección está disponible solo para usuarios con suscripción. Por favor, mejora tu plan para acceder a esta parte.

Mejorar ahora

Highlights

plate

Esta sección está disponible solo para usuarios con suscripción. Por favor, mejora tu plan para acceder a esta parte.

Mejorar ahora

Transcripts

plate

Esta sección está disponible solo para usuarios con suscripción. Por favor, mejora tu plan para acceder a esta parte.

Mejorar ahora
Rate This

5.0 / 5 (0 votes)

Etiquetas Relacionadas
Control de versionesFacebookMercurialGitRendimientoColaboraciónRepositoriosDesarrollo softwareElección tecnológicaComparación VCS