Sistemas de controle de versão
●
Visão geral
●
Quando E o que?
O que são sistemas de controle
de versão?
●
VCS: Version Control System
●
SCM: Software Configuration Management
●
Revision Control
Quando e porque utilizar?
●
Controle do código
●
Acompanhamento do projeto
●
Melhorar gerenciamento das equipes
●
Forks e merges
●
Branches/Tags/Trunk...
VCS e o processo de software
●
Influências profundas no processo
●
Organização da equipe
●
Descoberta e correção de bugs
●
Divisão de tarefas
●
Acompanhamento e métrica
●
Extração de dados
●
Encontrar deficiências
●
Melhoriar o processo
Tipos de sistemas de controle de
versão
●
Centralizados
●
Distribuídos
●
Embarcados
VCS Centralizado
VCS Distribuído
Softwares disponíveis no
mercado
●
CVS
●
Subversion
●
Mercurial
●
Bazaar
●
Git
●
Darcs
●
Monotone
Serviços disponíveis
●
Github
●
Gitorious
●
Google Code
●
Launchpad
●
Sourceforge
●
BitBucket
●
CodePlex
A influência do desenvolvimento
distribuído
●
Software global
●
Software livre?
●
The Cathedral and the Bazaar - Eric S.
Raymond
●
Linus' Law
●
●
"Given a large enough beta-tester and codeveloper base, almost every problem will be
characterized quickly and the fix will be
obvious to someone."
Robert Glass diz: ”Falácia, sem base estatística”
Ambientes de desenvolvimento e
VCS
●
VCS como parte de uma IDE
●
Eclipse
●
Mercurial
●
Git
●
Subversion
●
Bazaar
Operações comuns
●
Criar repositório
●
Copiar projeto
●
Buscar modificações
●
Enviar modificações
●
Comparar diferentes versões ou revisões
●
Número de revisão?
●
Obter o histórico de modificações
●
Executar merges
Forks e merges
E o meu projeto?
●
No code yet :-(
●
Outros projetos
●
Trabalho de compiladores
●
Aplicação de monitoramento de tráfego
Trabalho de compiladores
●
Monitoramento de tráfego
Visualização ”orgânica” do
projeto
●
Softwares
●
Gource
●
●
CodeSwarm
●
●
Foco no estado da estrutura arquivos/diretórios
Foco na quantidade de contribuições
Exemplos?
Visualização: primeiro commit
commit 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
Author: Linus Torvalds <[email protected]>
Date: Sat Apr 16 15:20:36 2005 -0700
Linux-2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.
Let it rip!
Download

O que são sistemas de controle de versão?