Git é o sistema de controle de versão distribuído mais amplamente usado no mundo, sustentando projetos que vão desde o kernel Linux até o software corporativo. Criado por Linus Torvalds em 2005, ele permaneceu escrito principalmente em C, com foco em velocidade, confiabilidade e portabilidade em uma enorme variedade de plataformas.
Ao longo dos anos, o Git viu melhorias graduais, mas sua filosofia central de eficiência e onipresença manteve amplamente suas bases técnicas estáveis, até agora.
O que está acontecendo:
No início de setembro, um pedido de comentários (RFC) propôs tornar Rust obrigatório no Git, potencialmente na época de uma futura versão do Git 3.0. A ideia não é reescrever imediatamente grandes seções da ferramenta, mas preparar infraestrutura e fluxos de trabalho para que os desenvolvedores possam construir com confiança com o Rust instalado.
Patrick Steinhardt, autor do RFC, colocou assim:
Como dito, todo o objetivo é que tenhamos um playground fácil no qual possamos experimentar e desenvolver a infraestrutura de forma incremental sem ainda ter que nos comprometer com nada.
Estou dividindo principalmente o tópico de introdução do Rust da série maior que o introduz no xdiff para que possamos nos concentrar mais no processo real de introdução do Rust no Git e menos nos recursos potenciais que queremos construir em cima dele.
O que esperar:
Se o Git avançar com Rust como um requisito, os mantenedores podem esperar ganhos em segurança e capacidade de manutenção. O compilador do Rust foi projetado para evitar classes inteiras de bugs de memória comuns em C, potencialmente oferecendo garantias mais fortes de robustez.
Ainda assim, os riscos permanecem. A obrigatoriedade do Rust pode aumentar a complexidade da compilação e excluir plataformas sem cadeias de ferramentas Rust confiáveis, especialmente ambientes restritos ou legados.
Para um projeto tão universal quanto o Git, manter uma ampla acessibilidade é uma consideração crítica. Os próximos meses de discussão e experimentação moldarão se o Rust se tornará uma parte essencial do futuro do Git ou permanecerá no repositório como um aprimoramento opcional.
Via: Phoronix