Nenhum comentário

Controle de versões - Parte I

Controle de versões
Este post faz parte da série Controle de versões. Leia também os outros posts da série:

Com o avanço tecnológico, muitos sistemas embarcados atuais possuem poder de processamento maior que computadores pessoais de apenas 5 anos atrás. Isso significa que a cada dia podemos e desenvolvemos mais e mais software e/ou firmware. Para quem tem alguma experiência em projetos em sistemas embarcados, por diversas razões, nota-se que na maioria deles gasta-se mais tempo desenvolvendo firmware e software do que hardware. Diante desse cenário, no intuito de manter a qualidade do software, é imprescindível o uso de uma ferramenta para controle de versões.

Através de uma ferramenta de controle de versões, o programador tem um maior controle sobre o código fonte. Algumas vantagens e praticidades de um sistema de controle de versão:

  • Guardar o histórico de alterações no código fonte;
  • Marcar pontos importantes do projeto, como release de versões;
  • Criar ramificações (branches) do código a fim de desenvolver/testar um novo algoritmo;
  • Facilitar e/ou permitir o trabalho em paralelo em uma equipe;
  • Retornar o código num estado anteriormente salvo, etc.

Existem dois principais tipos de sistemas de controle: sistemas de controle centralizado e sistemas de controle distribuído.

1) Sistemas de controle centralizado (VCS - Version Control System)

Basicamente esse tipo de sistema segue o padrão cliente-servidor. O repositório fica localizado no servidor e todo o código fonte e metadados para controle de versão (informações necessárias para salvar o status, commits, usuários, etc) são salvos nele. Todos clientes devem ler e escrever no servidor.

2) Sistemas de controle distribuído (DVCS - Distributed Version Control System)

Em sistemas distribuídos, todo o código fonte e metadados para o controle de versão são salvos localmente e por isso não existe um repositório único, mas tantos quanto o número de usuários que o compartilhem. Porém na prática, um repositório é escolhido para ser o "repositório oficial" para que todos possam contribuir num mesmo código.

No próximo post abordaremos um pouco mais sobre sistemas de controle centralizado, softwares que usam essa arquitetura, vantagens e desvantagens desse modelo.

E você caro leitor, tem usado em seus projetos algum tipo de sistema de controle de versões?

Referências:

http://en.wikipedia.org/wiki/Distributed_revision_control
http://en.wikipedia.org/wiki/Concurrent_Versions_System
http://www.ericsink.com/vcbe/

Outros artigos da série

Controle de versões Parte II - CVS/SVN >>
Este post faz da série Controle de versões. Leia também os outros posts da série:
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Software » Controle de versões - Parte I
Talvez você goste:
Comentários:

Deixe um comentário

avatar
  Notificações  
Notificar

Séries



Outros da Série

Menu