3.1 Controle de versão distribuído e controle de versão centralizado

 

Muitas ferramentas de Controle de versão tradicionais exigem um servidor central que fornece o histórico de alterações ou repositório de uma árvore de arquivos. Para trabalhar com os arquivos, os usuários precisam se conectar ao servidor e baixar (checkout) os arquivos. Isto dava-lhes uma cópia de trabalho em que uma pessoa pode fazer alterações. Para gravar ou enviar (commit) essas alterações, o usuário precisa ter acesso ao servidor central e a partir daí a ferramenta faz a fusão das alterações com a versão mais recente armazenada no servidor, a esta operação chamamos de merge. Esta abordagem é conhecida como o modelo centralizado com um servidor e vários cliente, o modelo de rede é conhecido como estrela.

 

O modelo Distribuído permite que os usuários têm múltiplos repositórios autônomos e em equipes em vez de apenas uma única central. Neste caso, o histórico é normalmente mantidos no mesmo local que o código que está sendo controlado. Isto permite que o usuário execute as operações de gravar suas suas alterações (commit) e atualização (update) sempre que for o momento mais apropriado, mesmo quando o servidor central está offline, o acesso a rede só é necessário quando publica-se as alterações ou quando for acessar mudanças em outro local.

 

Quando utilizamos ferramentas que utilizam o modelo distribuído temos dois novos comandos o pull e opush, o pull puxa uma atualização dos demais repositórios para a maquina cliente e o push empurra para os demais repositórios da rede uma atualização.

 

Conforme André Felipe Dias relata:

 

A sincronização entre os desenvolvedores acontece de repositório a repositório e não existe, em princípio, um repositório mais importante que o outro, embora o papel de um repositório central possa ser usado para convencionar o fluxo de trabalho1.

 

 


1. Distribuído. Disponível em <http://pronus.eng.br/blog/http:/pronus.eng.br/blog/vantagens-e-desvantagens-do-controle-de-versao-distribuido> Acesso em 06 Jul. de 2009.

Comments