Svn Tech Thursday

799 views
745 views

Published on

Apresentação de boas práticas em Subversion (SVN) que apresentei na Tech Thursday da Agence.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
799
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Svn Tech Thursday

  1. 1. SVN <ul><li>Se Vira, Nub </li></ul>
  2. 3. SVN : O que é? <ul><li>Sistema de controle de versão </li></ul><ul><li>Substituto do CVS </li></ul><ul><li>Software Livre </li></ul>
  3. 4. Sistema de Controle de Versão <ul><li>Funções Básicas: </li></ul><ul><ul><li>Envio e resgate de versões; </li></ul></ul><ul><ul><li>Histórico de envios; </li></ul></ul><ul><ul><li>Comparação de versões; </li></ul></ul><ul><ul><li>Resolução de conflitos; </li></ul></ul><ul><ul><li>Ramificações e marcações; </li></ul></ul><ul><ul><li>Otimização de espaço e velocidade. </li></ul></ul>
  4. 5. Sistema de Controle de Versão <ul><li>Microsoft Visual SourceSafe (VSS) </li></ul><ul><li>Rational ClearCase (IBM) </li></ul><ul><li>Concurrent Version System (CVS) </li></ul><ul><li>Subversion (SVN) </li></ul><ul><li>Git </li></ul><ul><li>Mercurial </li></ul>Comparativo
  5. 6. Subversion <ul><li>Projeto iniciado em 2000 </li></ul><ul><li>Financiado pela CollabNet </li></ul><ul><li>Primeiro release em 2004 </li></ul><ul><li>Semelhante ao CVS com melhorias </li></ul>
  6. 7. Subversion : Recursos <ul><li>Commits são atômicos (CVS não) </li></ul><ul><li>Suporte a rename , move , copy </li></ul><ul><li>Permissões por pasta (WebDAV) </li></ul><ul><li>Bom suporte para arquivos binários </li></ul>
  7. 8. Subversion : Diagrama Básico
  8. 9. Subversion : Conceitos <ul><li>Repositório / Versão Local (WC) </li></ul><ul><li>Checkout (co) </li></ul><ul><li>Importar / Exportar </li></ul><ul><li>Uptade (up) / Commit (ci) / Merge </li></ul><ul><li>Revisão / HEAD </li></ul><ul><li>Relocate / Switch </li></ul>
  9. 10. Subversion : Conceitos <ul><li>Branch / Tag </li></ul><ul><li>Properties (svn:ignore) </li></ul><ul><li>Lock / Unlock </li></ul><ul><li>Patch </li></ul>
  10. 11. Subversion : Problemas <ul><li>Operação rename = copy + delete </li></ul><ul><li>Arquivos .svn podem causar problema </li></ul><ul><li>Nomes de arquivos em unicode </li></ul><ul><li>Comando svn log recursivo </li></ul>
  11. 12. Subversion : Boas Práticas trunk Rev01 Rev02 Rev03
  12. 13. Subversion : Boas Práticas <ul><li>Comentar os Commits </li></ul>trunk Rev01: Commit inicial Rev02: Criação do login e cadastro de usuário Rev03: Implementação da listagem de usuários
  13. 14. Subversion : Boas Práticas <ul><li>Trabalhar em Branches </li></ul>trunk Rev01: Commit inicial Rev02: Criação do login e cadastro de usuário Rev03: Implementação da listagem de usuários copy switch merge commit Rev04: Commit da task 001 branches/task_001 atividade de criação do gerenciamento de usuários
  14. 15. Subversion : Boas Práticas <ul><li>Gerar Tags estáveis (para produção) </li></ul>trunk Rev01: Commit inicial Rev02: Criação do login e cadastro de usuário Rev03: Implementação da listagem de usuários branches/task_001 atividade de criação do gerenciamento de usuários copy switch merge commit Rev04: Commit da task 001 tags/20100802 copy
  15. 16. Subversion : Boas Práticas
  16. 17. Subversion : Boas Práticas <ul><li>Trunk sempre compilável (Integração contínua) </li></ul><ul><li>Constante integração do WC com o Repositório </li></ul><ul><li>Evitar commit de coisas dispensáveis (usar svn:ignore) </li></ul>

×