1 / 19

Controle de Versão com SubVersion

Controle de Versão com SubVersion. Erick Sasse Cadena Sistemas. Erick Sasse. Desenvolvedor há uns 15 anos Ex-MSX (Expert DDPlus) Ex-clippeiro Ex-BBSeiro Delphi desde a primeira versão Aventuras em C# (VS.NET) Usuário PalmOS (inclinando para PocketPC) Aspirante a mergulhador

austin
Download Presentation

Controle de Versão com SubVersion

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Controle de Versão com SubVersion Erick Sasse Cadena Sistemas

  2. Erick Sasse • Desenvolvedor há uns 15 anos • Ex-MSX (Expert DDPlus) • Ex-clippeiro • Ex-BBSeiro • Delphi desde a primeira versão • Aventuras em C# (VS.NET) • Usuário PalmOS (inclinando para PocketPC) • Aspirante a mergulhador • Palestrante DDD, FDD, BorCon.

  3. Por que usar controle de versão? • Registro histórico dos arquivos dos projetos ao longo do tempo. • Permite que desenvolvedores trabalhem juntos sem que um atrapalhe o outro. • Não é apenas para equipes de desenvolvedores. • Pode rodar localmente com muita eficiência. • Existem opções totalmente gratuitas (ex. SubVersion). • Segurança total na manipulação e alteração do código. • Loucura não usar, principalmente quando em mais de um desenvolvedor.

  4. Benefícios • Backup automático do código fonte (quando usado em computador separado). • Recuperação fácil do estado anterior do código quando se faz algo que não ficou bom. • Compartilhamento de código totalmente suave e sem dores de cabeça. • Diferentes versões em paralelo (branches). • Consultar qualquer versão de um arquivo. • Você não precisa mais gritar pelo corredor para saber se alguém está usando o arquivo que você quer editar.

  5. Mesmo assim... • Algumas pesquisas indicam que cerca de 70% dos desenvolvedores não utilizam nenhum tipo de controle de versão!!!!

  6. Será que ele usava?

  7. Por que SubVersion? • Open Source • Roda nas principais plataformas (Windows, Linux) • Roda localmente • Sucessor natural do CVS • “Versionamento” de diretórios • Commits atômicos • Acesso via HTTP • http://subversion.tigris.org/

  8. TortoiseSVN • Cliente gráfico do SubVersion para Windows • Integrado ao “shell” • Você praticamente só usará ele. • http://tortoisesvn.tigris.org/

  9. Modelos de “Versionamento” • Lock-Modify-Unlock • Ou checkout-edit-checkin; • Falsa noção de segurança. • Mais problemas do que parece. • Desenvolvedores esquecem arquivos travados frequentemente. • Você só consegue alterar um arquivo se conseguir destravá-lo. • Dificulta uso off-line.

  10. Modelos de “Versionamento” • Copy-Modify-Merge • Método usado pelo SubVersion. • Mais simples e prático. • Desenvolvedores podem trabalhar em paralelo no mesmo arquivo. • Muito menos problemático do que você pensa. • Todo desenvolvedor tem uma cópia de trabalho em sua máquina liberada para edição. • Tranqüilo para uso off-line.

  11. Ciclo básico de trabalho • Atualiza sua cópia de trabalho com os arquivos do servidor • Realiza modificações na cópia local • Examina modificações • Salva suas modificações no servidor • Demo

  12. Tags (ou labels) • Um dos recursos mais importantes do controle de versão. • Usadas para marcar um determinado momento do seu repositório com um nome com algum significado mais simbólico. • Demo

  13. Quando usar tags • Use a vontade, não tem efeitos colaterais: • Quando você faz um release • Antes de fazer uma grande modificação • Quando você faz um build automatizado

  14. Branches • Você usa branches quando precisa trabalhar em duas versões distintas de um projeto ao mesmo tempo. • Novas versões: Após o lançamento da versão 1.0 do seu aplicativo, você tem que iniciar o desenvolvimento da versão 2.0 e manter a 1.0. • Não tenha medo de usar. • Demo

  15. Árvore padrão de projeto /projeto1 /trunk (sua linha atual de desenvolvimento) /braches /tags /projeto2 /trunk /braches /tags

  16. Quais arquivos controlar? • Somente arquivos necessários para o build do aplicativo. • Não controle arquivos que são gerados automaticamente, como EXEs, DLLs, DCUs, etc. • Arquivos texto (código fonte, HTML, XML) são gerenciados graciosamente. • Arquivos binários devem ser controlados apenas em último caso, ou seja, quando não se tem os fontes que os geram. E ainda assim, somente se eles forem necessários para o build do nosso aplicativo.

  17. Regras Básicas • Só “commitar” código compilável. • Quem quebrar o build tem que sofrer: • Fazer café toda manhã; • Depositar R$1 no jarro para o chopp da galera no final do projeto; • Realizar commits freqüentes, para evitar conflitos. • Execute o Diff sempre antes de cada commit para revisar suas alterações. • Descreva seus commits o máximo possível.

  18. Referências • 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/)

  19. Obrigado! • erick.sasse@cadena.com.br • www.ericksasse.com.br

More Related