5 pontos por xguru 2020-05-11 | 1 comentários | Compartilhar no WhatsApp
  • Ferramenta de controle de versão interna do Facebook. Foi criada com base no Mercurial, mas expandida para atender às próprias necessidades da empresa.

  • Composta por 3 componentes

→ eden : ferramenta de CLI. Windows/Mac/Linux

→ Mononoke : servidor de SCM não distribuído. Para oferecer suporte a repositórios gigantes, no checkout baixa apenas parte do conteúdo em vez de tudo, e faz downloads adicionais quando necessário. Somente Linux. Suporte ao Rust Cargo previsto

→ EdenFS : sistema de arquivos virtual para gerenciar checkouts. Usado para fazer checkouts rápidos em repositórios gigantes. É semelhante ao Sparse Checkout, mas muito mais conveniente para o usuário por não exigir o gerenciamento de uma lista separada. Também integra com o Watchman. Linux/macOS/Windows

  • Como foi criado para dar suporte ao enorme código-base monorepo do Facebook, o suporte para uso fora do Facebook ainda está em fase experimental.

1 comentários

 
xguru 2020-05-11

Windows/Google/Facebook são todos monorepos gigantescos, então dá para ver isso como o fato de que o Git daquela época (início dos anos 2010) não era adequado e cada um seguiu seu próprio caminho.

→ Em 2016, o Google tinha 86 TB, 2 bilhões de linhas, 9 milhões de arquivos de código-fonte e 35 milhões de commits

→ Em 2013, o Facebook tinha 17 milhões de linhas e 44 mil arquivos de código-fonte

Hoje o Git também oferece suporte a Sparse Checkout a partir da versão 2.25, mas ainda dá para considerar que está em estágio inicial.

Lançamento do Git 2.25 - principais mudanças https://pt.news.hada.io/topic?id=1309