quinta-feira, 30 de abril de 2009

Implante um DVCS!

Enquanto vejo grandes projetos e empresas adotarem o uso de um DVCS (distributed version control system) como Git, Mercurial ou Bazaar, e muitos estarem até mesmo substituindo o Subversion gradualmente, fico intrigado sobre o motivo pelo qual várias empresas ainda estão querendo passar por um atrasado processo de migração do CVS para o Subversion. Ignorância? Medo? Este post é para elas.

Com certeza o Subversion é uma boa opção de VCS. Mas a adoção de um DVCS traz alguns benefícios:
  • Todo munto tem seu próprio repositório. Você pode fazer mudanças e roll backs em sua máquina. Acabam-se os checkins gigantes e todo o histório de mudanças está disponível em seu repositório.
  • Trabalho offline. Você precisa estar online somente para compartilhar mudanças. Desta forma, você pode estar com sua máquina em qualquer local e fazer seus checkings e undos, sem se preocupar se um servidor está parado ou se você está num avião.
  • Rapidez. Diffs, commits e reversões são feitos localmente. Como não há necessidade de rede, tudo é mais rápido.
  • Mudanças bem gerenciadas. As mudanças em DVCSs são construídas pelo compartilhamento de mudanças. Cada mudança tem um identificador (guid) que é fácil de ser rastreada.
  • Branching e merging mais fáceis. Pelo fato de cada desenvolvedor "ter seu próprio branch", cada mudança é como uma integração ao reverso. Mas guids tornam fácil combinar automaticamente o código e evitar duplicações.
  • Menos gerenciamento. Distributed VCS são simples de serem instalados, não há o conceito de cliente servidor, mas sim o de local/remoto. Mesmo assim, nada impede que você crie este conceito (mas a instalação do software é da mesma forma). Também, como não há servidor, não há o requisito de que você crie novos usuários nele.

Hoje eu andei fazendo testes com o Mercurial, após ler a mensagem de que o Google Code também passou a suportá-lo. Achei ele simples e também mais fácil do que o Git, que também já venho utilizando em algums projetos pessoais.

Como venho estudando o Python e acompanhando de perto a sua comunidade, também li a notícia de que o Mercurial será utilizado por seus desenvolvedores. Luciano Ramalho do grupo Python Brasil comenta a respeito.

Leia a comparação que o Google fez do Git com o Mercurial.

O SourceForge também já suporta, além do CVS e do Subversion, o Git, o Bazaar e o Mercurial.

Para saber mais sobre DVCS, Git e Mercurial e conhecer a opinião de alguns desenvolvedores no mercado, recomendo as seguintes leituras:

Nenhum comentário:

Postar um comentário