Revision control software

●   O que é ?
●   Subversion/SVN
Revision control software

●   Controle de mudanças em ficheiros
●   Regressão para revisões antigas
●   Separação em dive...
Termos importantes

●   Repository
●   Checkout
●   Commit
●   Merge
●   Revision
●   Sync/Update
●   Branch
●   Tags/Rele...
Tipos de software

●   Centralizado
●   Distribuído
Centralizado
Centralizado

●   CVS
●   Subversion
Distribuído
Distribuído

●   GNU Arch
●   Git
●   Mercurial
●   Darcs
Subversion (SVN)

●   Centralizado
●   Substituto para o CVS
●   Melhor funcionamento interno que o CVS
Subversion



 Criação de repositórios:

 svnadmin create /caminho/para/repositorio
Subversion



 Importação de dados:

 cd projecto/
 mkdir trunk
 mkdir tags
 mkdir branches
 svn import . file:///caminho/...
Subversion



 Checkouts:

 svn checkout 
  file:///caminho/para/repositorio/trunk
Subversion




 Actualização da cópia:

 svn update
Subversion




 Modificação de ficheiros:

 svn add
 svn delete
 svn copy
 svn move
Subversion




 Verificação de alterações:

 svn status
 svn diff
 svn revert
 svn resolved ficheiro.c
Subversion



 Submissão de alterações:

 svn commit ­m “Alteração do sistema de 
  logins”
Subversion



 Verificação de alterações passadas:

 svn log
 svn ­­revision 3 list
 svn ­­revision 5 diff
Subversion



 Rollbacks:

 svn ­­revision 5 checkout
 svn ­–revision 7 update
Subversion



 Branching:

 Criação de diferentes ramos para o
  projecto.
Subversion



 Branching:

 - retirar uma cópia actualizada do projecto
   do repositório
 - criar uma ramificação a parti...
Subversion


 Branching:

 svn checkout file:///caminho/para/repositorio
 svn copy trunk branches/ramificacao
 svn commit ...
Subversion



 Tagging:

 Versões definidas pelo utilizador, ou
  releases.
Subversion




 Tagging:

 svn copy 
  file:///caminho/para/repositorio/trunk 
  file:///caminho/para/repositorio/tags/rel...
Subversion - Clientes

●   CLI
●   Clientes gráficos
●   Plugins para IDE's (Visual Studio, Eclipse,
    etc)
●   Web inte...
Upcoming SlideShare
Loading in...5
×

“Revision Control Systems: Subversion (SVN)” por Tiago Rodrigues

1,665

Published on

Workshop Técnico de 29 de Novembro de 2006: “Revision Control Systems: Subversion (SVN)” Por Tiago Rodrigues

Published in: Technology

Transcript of "“Revision Control Systems: Subversion (SVN)” por Tiago Rodrigues"

  1. 1. Revision control software ● O que é ? ● Subversion/SVN
  2. 2. Revision control software ● Controle de mudanças em ficheiros ● Regressão para revisões antigas ● Separação em diversos ramos ● Alternativa a métodos manuais de backup (Ex: ficheiro.c.bak, directoria-backup)
  3. 3. Termos importantes ● Repository ● Checkout ● Commit ● Merge ● Revision ● Sync/Update ● Branch ● Tags/Releases
  4. 4. Tipos de software ● Centralizado ● Distribuído
  5. 5. Centralizado
  6. 6. Centralizado ● CVS ● Subversion
  7. 7. Distribuído
  8. 8. Distribuído ● GNU Arch ● Git ● Mercurial ● Darcs
  9. 9. Subversion (SVN) ● Centralizado ● Substituto para o CVS ● Melhor funcionamento interno que o CVS
  10. 10. Subversion Criação de repositórios: svnadmin create /caminho/para/repositorio
  11. 11. Subversion Importação de dados: cd projecto/ mkdir trunk mkdir tags mkdir branches svn import . file:///caminho/para/repositorio
  12. 12. Subversion Checkouts: svn checkout  file:///caminho/para/repositorio/trunk
  13. 13. Subversion Actualização da cópia: svn update
  14. 14. Subversion Modificação de ficheiros: svn add svn delete svn copy svn move
  15. 15. Subversion Verificação de alterações: svn status svn diff svn revert svn resolved ficheiro.c
  16. 16. Subversion Submissão de alterações: svn commit ­m “Alteração do sistema de  logins”
  17. 17. Subversion Verificação de alterações passadas: svn log svn ­­revision 3 list svn ­­revision 5 diff
  18. 18. Subversion Rollbacks: svn ­­revision 5 checkout svn ­–revision 7 update
  19. 19. Subversion Branching: Criação de diferentes ramos para o projecto.
  20. 20. Subversion Branching: - retirar uma cópia actualizada do projecto do repositório - criar uma ramificação a partir do trunk - submeter essa ramificação para o repositório
  21. 21. Subversion Branching: svn checkout file:///caminho/para/repositorio svn copy trunk branches/ramificacao svn commit ­m “criação de um ramo do projecto  principal” svn copy  file:///caminho/para/repositorio/trunk  file:///caminho/para/repositorio/branches/ra mificacao ­m “criação de um ramo do projecto  principal”
  22. 22. Subversion Tagging: Versões definidas pelo utilizador, ou releases.
  23. 23. Subversion Tagging: svn copy  file:///caminho/para/repositorio/trunk  file:///caminho/para/repositorio/tags/releas e­1.0 ­m “Release 1.0 do projecto”
  24. 24. Subversion - Clientes ● CLI ● Clientes gráficos ● Plugins para IDE's (Visual Studio, Eclipse, etc) ● Web interfaces ● http://en.wikipedia.org/wiki/Subversion#R elated_software

×