Clique e receba as novidades quentinhas no Telegram

Microsoft-GVFS

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).

Microsoft-Git-Virtual-File-System

Funciona assim:

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:

“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