Programação
Nessa categoria serão publicados artigos relacionados com as Técnicas de Programação e elementos para produção de software, como arquiteturas e paradigmas de construção de software.
Controle de Versão
- Detalhes
- Última atualização em Quarta, 20 Outubro 2010 11:15
- Publicado em Quarta, 27 Janeiro 2010 14:45
- Escrito por Pedro Pisa
Hoje, a maioria dos projetos são feitos em grupo. E mesmo os poucos desenvolvedores que trabalham sozinhos, realizam seu trabalho em mais de um computador. Tal situação nos apresenta um grande desafio para a sincronização dos arquivos de código fonte e de recursos. É bastante trabalhoso transmitir as alterações em determinado arquivo do código para os demais computadores dos membros da equipe. Mais difícil ainda é manter o rastro de todas as alterações, com informações como quem as fez, quando foram feitas e por que foram feitas. Para sanar todas essas dificuldades, surgiram os mecanismos de controle de versão.
Inicialmente, os mecanismos de controle de versão eram centralizados, ou seja, havia um único servidor que armazenava todo o código e mantinham as informações sobre as alterações. Essa é uma solução bastante usada até hoje em equipes de desenvolvimento que possuem o acesso a um servidor, permanentemente ligado, que poderá realizar esse armazenamento e controle. Além disso, a solução centralizada apresenta vantagens como a garantia de que a consistência dos dados está mantida, no sentido de que os dados são atualizados e mantidos num mesmo local. No entanto, como toda solução centralizada, possui a desvantagem de ser um ponto único de falhas. Os principais mecanismos de controle de versão centralizado são o Control Version System (CVS) e o Subversion (SVN).
Com o objetivo de resolver as desvantagens dos mecanismos de controle de versão centralizados sem perder as vantagens e funcionalidades que estes possuem, surgiram os mecanismos de controle de versão distribuídos, como o Git e o Mercurial.