terça-feira, 22 de julho de 2008

Sistema de Controle de Versão (Mercurial)


Todos já ouviram falar do CVS, sistema de controle de versão. Tenho tido alguns problemas com ele ultimamente em um projeto com vários desenvolvedores trabalhando pararelo. O processo de merge e tracking das alterações é um bocado complicado. Tentando acabar com esses problemas fiz um estudo com algumas opções e no final das contas estamos usando o Mercurial.

Olhamos o GIT, Mercurial(HG) e Subversion. O git é ótimo mas o modelo que é usado para armazenar o histórico pode corromper e precisa ser reindexado periodicamente. O subversion é muito bom, mas ainda não chega aos pés do tracking 
de alterações suportadas pelo GIT e o Mercurial.

Iniciamos a utilização em um projeto que já estava no CVS, conseguimos importar o histórico para o Mercurial sem muito problemas, precisamos de um linux para isso, uma vez que precisamos do PCVS. O Mercurial só aceita conexão segura para commit dos dados no repositório central e traz o conceito de Sistema de Controle de Versão Distribuído, que é outro assunto. Basicamente o commit é feito local e unido com os outros commits através de siscronismo, um pouco complicado no início, mas depois que pega o jeito fica fácil.

Há distribuições para quase todas as plataformas, no ambiente que montamos usamos o TortoiseHG, bem windows like. 

Quem estiver pensando em trocar seu atual sistema de controle de versão vale a pena dar uma olhada. Qualquer dúvida, estamos aqui.

Nenhum comentário:

Postar um comentário