svn tech thursday

17
SVN Se Vira, Nub

Upload: jairton-junior

Post on 19-Jun-2015

684 views

Category:

Technology


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Svn Tech Thursday

SVN

Se Vira, Nub

Page 2: Svn Tech Thursday
Page 3: Svn Tech Thursday

SVN : O que é?

•Sistema de controle de versão

•Substituto do CVS

•Software Livre

Page 4: Svn Tech Thursday

Sistema de Controle de Versão•Funções Básicas:

•Envio e resgate de versões;

•Histórico de envios;

•Comparação de versões;

•Resolução de conflitos;

•Ramificações e marcações;

•Otimização de espaço e velocidade.

Page 5: Svn Tech Thursday

Sistema de Controle de Versão•Microsoft Visual SourceSafe (VSS)

•Rational ClearCase (IBM)

•Concurrent Version System (CVS)

•Subversion (SVN)

•Git

•Mercurial

Comparativo

Page 6: Svn Tech Thursday

Subversion

•Projeto iniciado em 2000

•Financiado pela CollabNet

•Primeiro release em 2004

•Semelhante ao CVS com melhorias

Page 7: Svn Tech Thursday

Subversion : Recursos

•Commits são atômicos (CVS não)

•Suporte a rename, move, copy

•Permissões por pasta (WebDAV)

•Bom suporte para arquivos binários

Page 8: Svn Tech Thursday

Su

bvers

ion

:

Dia

gra

ma B

ási

co

Page 9: Svn Tech Thursday

Subversion : Conceitos

•Repositório / Versão Local (WC)

•Checkout (co)

•Importar / Exportar

•Uptade (up) / Commit (ci) / Merge

•Revisão / HEAD

•Relocate / Switch

Page 10: Svn Tech Thursday

Subversion : Conceitos

•Branch / Tag

•Properties (svn:ignore)

•Lock / Unlock

•Patch

Page 11: Svn Tech Thursday

Subversion :Problemas

•Operação rename = copy + delete

•Arquivos .svn podem causar problema

•Nomes de arquivos em unicode

•Comando svn log recursivo

Page 12: Svn Tech Thursday

Subversion :Boas Práticas

trunk

Rev01 Rev02 Rev03

Page 13: Svn Tech Thursday

Subversion :Boas Práticas

•Comentar os Commits

trunk

Rev01: Commit inicial

Rev02: Criação do login e cadastro de usuário

Rev03: Implementação da listagem de usuários

Page 14: Svn Tech Thursday

Subversion :Boas Práticas

•Trabalhar em Branches

trunk

Rev01: Commit inicial

Rev02: Criação do login e cadastro de usuário

Rev03: Implementação da listagem de usuários

copy switch

mergecommit

Rev04: Commit da task 001

branches/task_001

atividade de criação do gerenciamento de usuários

Page 15: Svn Tech Thursday

Subversion :Boas Práticas

•Gerar Tags estáveis (para produção)

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

mergecommit

Rev04: Commit da task 001

tags/20100802

copy

Page 16: Svn Tech Thursday

Subversion : Boas Práticas

Page 17: Svn Tech Thursday

Subversion :Boas Práticas

•Trunk sempre compilável (Integração contínua)

•Constante integração do WC com o Repositório

•Evitar commit de coisas dispensáveis (usar svn:ignore)