Git é um sistema de controle de revisão distribuída que é usado no desenvolvimento de softwares que envolvem muitas pessoas. Muitas equipes da Microsoft já estão usando o Git. As equipes que têm grandes bases de código estão enfrentando problemas de desempenho com a versão atual do Git, já que ele não foi projetado para trabalhar com grandes bases de código.
Por exemplo, a base de código do Windows tem mais de 3,5 milhões de arquivos e mais de 270GB de tamanho. Quando você executa um “git checkout”, demora até 3 horas, “git clone” leva mais de 12 horas, ou até mesmo um simples “git status” leva quase 10 minutos para executar. Para evitar esses problemas de desempenho, a Microsoft está trabalhando em uma solução que permite que o cliente Git trabalhe melhor com repositórios realmente enormes. A nova solução é chamada GVFS (Git Virtual File System).
GVFS virtualiza o sistema de arquivos sob seu repositório e parece que todos os arquivos em seu repositório estão presentes, mas na realidade, só baixa um arquivo a primeira vez que ele é aberto.
GVFS também gerencia ativamente quanto o repositório Git tem que considerar em operações como check-out e status, uma vez que qualquer arquivo que não tenha sido modificado pode ser seguramente ignorado.
Desde que o GVFS seja gerenciado no nível do sistema de arquivos, seus IDEs e ferramentas de compilação serão suportados. Enquanto GVFS já oferece melhorias significativas no desempenho, a Microsoft está trabalhando para melhorá-lo ainda mais. A Microsoft também está abrindo o código fonte do GVFS que está disponível sob a licença MIT.
O ex-chefe do programa Windows Insider, Gabriel Aul, ainda não desenvolveu um novo botão vermelho para disponibilizar novidades no GVFS. Aul agora é o Vice-Presidente do Windows e sistemas de engenharia do grupo de dispositivos (WDG), e ajudou a anunciar algumas das últimas tecnologias por trás do GVFS da Microsoft.
A Microsoft está se tornando mais aberta e o Git tem sido uma peça importante para o seu desenvolvimento de softwares e produtos. Mas, até mesmo suas equipes admitem que o cliente Git não estava satisfazendo as suas necessidades quando se tratava de velocidade.
“Este cliente Git nunca foi projetado para funcionar com repositórios com tantos arquivos ou muito conteúdo,” explicou o post.
Gabe Aul, twitou:
For those who ask what I've been working on, here's a bit. We're moving our SCM to Git and invented a bit of tech: https://t.co/rQdcOx6wI5
— Gabriel Aul (@GabeAul) February 3, 2017
“Para quem perguntou o que eu estava trabalhando, aqui tem um pouco. Estamos movendo nosso SCM para Git e inventando um pouco de tecnologia.”
Você pode encontrar o código fonte no GitHub aqui e se quiser saber mais sobre o GVFS (Git Virtual File System), clique aqui.
Fonte: MSPU
Comentários