Escolar Documentos
Profissional Documentos
Cultura Documentos
Erick Sasse
Desenvolvedor h uns 15 anos Ex-MSX (Expert DDPlus) Ex-clippeiro Ex-BBSeiro Delphi desde a primeira verso Aventuras em C# (VS.NET) Usurio PalmOS (inclinando para PocketPC) Aspirante a mergulhador Palestrante DDD, FDD, BorCon.
Registro histrico dos arquivos dos projetos ao longo do tempo. Permite que desenvolvedores trabalhem juntos sem que um atrapalhe o outro. No apenas para equipes de desenvolvedores. Pode rodar localmente com muita eficincia. Existem opes totalmente gratuitas (ex. SubVersion). Segurana total na manipulao e alterao do cdigo. Loucura no usar, principalmente quando em mais de um desenvolvedor.
Benefcios
Backup automtico do cdigo fonte (quando usado em computador separado). Recuperao fcil do estado anterior do cdigo quando se faz algo que no ficou bom. Compartilhamento de cdigo totalmente suave e sem dores de cabea. Diferentes verses em paralelo (branches). Consultar qualquer verso de um arquivo. Voc no precisa mais gritar pelo corredor para saber se algum est usando o arquivo que voc quer editar.
Mesmo assim...
70%
dos
Open Source Roda nas principais plataformas (Windows, Linux) Roda localmente Sucessor natural do CVS Versionamento de diretrios Commits atmicos Acesso via HTTP http://subversion.tigris.org/
TortoiseSVN
Cliente grfico do SubVersion para Windows Integrado ao shell Voc praticamente s usar ele. http://tortoisesvn.tigris.org/
Modelos de Versionamento
Lock-Modify-Unlock
Ou
checkout-edit-checkin; Falsa noo de segurana. Mais problemas do que parece. Desenvolvedores esquecem arquivos travados frequentemente. Voc s consegue alterar um arquivo se conseguir destrav-lo. Dificulta uso off-line.
Modelos de Versionamento
Copy-Modify-Merge
Mtodo
usado pelo SubVersion. Mais simples e prtico. Desenvolvedores podem trabalhar em paralelo no mesmo arquivo. Muito menos problemtico do que voc pensa. Todo desenvolvedor tem uma cpia de trabalho em sua mquina liberada para edio. Tranqilo para uso off-line.
Demo
Demo
voc faz um release Antes de fazer uma grande modificao Quando voc faz um build automatizado
Branches
Voc usa branches quando precisa trabalhar em duas verses distintas de um projeto ao mesmo tempo.
Novas
verses: Aps o lanamento da verso 1.0 do seu aplicativo, voc tem que iniciar o desenvolvimento da verso 2.0 e manter a 1.0.
/projeto2
/trunk /braches /tags
Somente arquivos necessrios para o build do aplicativo. No controle arquivos que so gerados automaticamente, como EXEs, DLLs, DCUs, etc. Arquivos texto (cdigo fonte, HTML, XML) so gerenciados graciosamente. Arquivos binrios devem ser controlados apenas em ltimo caso, ou seja, quando no se tem os fontes que os geram. E ainda assim, somente se eles forem necessrios para o build do nosso aplicativo.
Regras Bsicas
o chopp da galera no
final do projeto;
Realizar commits freqentes, para evitar conflitos. Execute o Diff sempre antes de cada commit para revisar suas alteraes. Descreva seus commits o mximo possvel.
Referncias
SubVersion (http://subversion.tigris.org) TortoiseSVN (http://tortoisesvn.tigris.org) SVN Book (http://svnbook.org/) Source Control HOWTO (http://software.ericsink.com/scm/source_control .html) Wush.net Hospedagem SubVersion (http://www.wush.net/)
Obrigado!
erick.sasse@cadena.com.br www.ericksasse.com.br