5 puntos por xguru 2020-05-11 | 1 comentarios | Compartir por WhatsApp
  • Herramienta interna de control de versiones de Facebook. Está basada en Mercurial, pero fue ampliada para adaptarse a sus necesidades.

  • Está compuesta por 3 componentes

→ eden: herramienta CLI. Windows/Mac/Linux

→ Mononoke: servidor SCM no distribuido. Para soportar repositorios enormes, al hacer checkout descarga solo una parte en lugar de todo, y descarga más cuando hace falta. Solo Linux. Soporte para Rust Cargo próximamente

→ EdenFS: sistema de archivos virtual para gestionar el checkout. Se usa para hacer checkouts rápidos en repositorios enormes. Es similar a Sparse Checkout, pero resulta mucho más conveniente para el usuario porque no requiere administrar una lista por separado. También se integra con Watchman. Linux/Mac/Windows

  • Fue creado para soportar la enorme base de código monorepo de Facebook, por lo que el soporte fuera de Facebook todavía está en fase experimental.

1 comentarios

 
xguru 2020-05-11

Windows/Google/Facebook tienen todos monorepos gigantes, así que puede verse como que, en esa época (a inicios de la década de 2010), Git no era adecuado y por eso siguieron su propio camino.

→ En el caso de Google, en 2016 eran 86 TB, 2 mil millones de líneas, 9 millones de archivos de código fuente y 35 millones de commits

→ En el caso de Facebook, en 2013 eran 17 millones de líneas y 44,000 archivos de código fuente

Ahora Git también soporta Sparse Checkout desde la versión 2.25, pero todavía puede considerarse en una etapa inicial.

Lanzamiento de Git 2.25 - principales cambios: https://es.news.hada.io/topic?id=1309