Lançamento no HN: Diversion (YC S22), uma alternativa ao Git nativa da nuvem
(news.ycombinator.com)- Diversion é um sistema de controle de versão voltado a grandes repositórios e colaboração na era da nuvem, com usuários iniciais sendo desenvolvedores de jogos que buscam simplicidade e escalabilidade
- O Git foi criado em 2005, em um contexto de redes lentas, projetos pequenos e ausência de nuvem, e por isso seria limitado nas dimensões atuais de repositórios, arquivos e número de usuários simultâneos
- Os sistemas internos de controle de versão do Google e da Meta, além do uso de SVN e Perforce por algumas empresas de jogos, semicondutores e serviços financeiros, são citados como evidência de que o Git não serve para todas as organizações
- O Diversion processa operações de repositório como commit, branch e merge por chamadas de API sobre armazenamento distribuído, banco de dados, REST API e infraestrutura de nuvem serverless
- Atualmente está em beta aberta, equipes pequenas podem começar gratuitamente, e melhorias de velocidade, integração com CI, plugins para IDEs e engines de jogos, além de melhorias de usabilidade, estão em andamento
Os limites do Git que o Diversion quer atacar
- O Diversion é um sistema de controle de versão nativo da nuvem oferecido em diversion.dev
- Uma demo rápida está disponível em vídeo no YouTube
- Os usuários iniciais são desenvolvedores de jogos, que veem simplicidade e escalabilidade como vantagens
- O Git teve um papel importante no avanço do desenvolvimento de software nos últimos 18 anos, mas foi criado para o ambiente de 2005 e não é a ferramenta perfeita para todos os usuários
- A maior desvantagem é a escalabilidade limitada, que aparece no tamanho do repositório, no tamanho dos arquivos e no número de usuários simultâneos
- Google e Meta criaram seus próprios sistemas de controle de versão por causa disso
- Algumas grandes empresas de jogos, semicondutores e serviços financeiros continuam usando ferramentas legadas como SVN e Perforce
- A complexidade do Git também pode levar à perda real de trabalho
- Em uma startup anterior, houve um caso em que um cientista de dados usou um comando do Git incorretamente e a equipe perdeu um mês de trabalho
- Algumas horas depois, foi possível recuperar a partir de um clone do repositório que não havia sido atualizado
- Ainda assim, os recursos de branch e merge do Git contribuíram muito para práticas modernas de desenvolvimento, como feature branches e CI/CD, além de aumentar a velocidade dos desenvolvedores
Como funciona na nuvem
- O Diversion busca manter o recurso de branches do Git, mas com um sistema de controle de versão mais simples, rápido e escalável
- Aplica ao controle de versão o conceito de colaboração em tempo real das ferramentas modernas de nuvem
- Como no Google Docs e no Figma, é possível compartilhar o estado do trabalho em andamento
- Nem sempre os desenvolvedores querem expor tudo o que estão fazendo, mas isso pode ser útil para receber feedback antes do commit, detectar e evitar conflitos de merge, ou ver quais partes do codebase outras pessoas estão alterando
- Sua estrutura interna é baseada em armazenamento distribuído, banco de dados, REST API e infraestrutura de nuvem serverless
- Todas as operações de repositório, como API calls de commit, branch e merge, são processadas dessa forma
- O cliente desktop sincroniza em tempo real com a nuvem até mesmo o estado do trabalho em andamento antes do commit
- Os usuários podem acessar por CLI interativa, Web UI e plugin de IDE
- No momento, o plugin de IDE oferece suporte ao JetBrains, com mais opções previstas
- A Web UI permite realizar a maioria das tarefas básicas sem instalar o cliente desktop
- É compatível com Git e pode sincronizar com repositórios Git existentes
- Novos commits do Diversion entram no Git, e novos commits do Git também entram no Diversion
Plano de lançamento e condições da beta
- Há planos de abrir o código como open source quando o codebase estiver maduro e o diretório de repositórios open source estiver implementado no site
- O código do Diversion também é gerenciado no próprio Diversion
- No momento, está disponível em beta aberta, e é possível começar em modo self-service clicando em Get Started
- É possível usar sem precisar conversar com ninguém
- É gratuito para equipes pequenas, e as informações de preço estão em pricing
- As melhorias em andamento incluem velocidade, integração com CI, plugins para IDEs e engines de jogos, além de outras melhorias de usabilidade
1 comentários
Comentários no Hacker News