Apresentação svn

Views:
 
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

Subversion - SVN:

Subversion - SVN Prognus Software Livre Airton Bordin Junior 21/2/2011 Prognus Software Livre airton@prognus.com.br

Subversion - SVN:

Subversion - SVN Sistema de controle de versão (2000); Substituto do CVS algumas limitações . Livre /open-source; 21/2/2011 Prognus Software Livre airton@prognus.com.br 2

Quadro comparativo:

Quadro comparativo Funcionalidade CVS SVN Commit atômico Renomeações e cópias de arquivos e diretórios Rastreamento de fusões (merge) Permissões de repositório Documentação disponível Portabilidade Open source Interfaces gráficas Suporta grande reposit ório 21/2/2011 Prognus Software Livre airton@prognus.com.br 3

Subversion - SVN:

Subversion - SVN 21/2/2011 Prognus Software Livre airton@prognus.com.br 4 Comparação de performance de sistemas de controle de versão utilizando o software finalbuilder

Subversion - SVN:

Subversion - SVN Projeto Repositório Apache Software Foundation http://svn.apache.org/repos/asf/ Debian http://svn.debian.org/ Zope http://svn.zope.org/ KDE http:// websvn.kde.org / Mono http://mono.myrealbox.com/ Conectiva Linux https://moin.conectiva.com.br/RepositorySystem 21/2/2011 Prognus Software Livre airton@prognus.com.br 5

O repositório:

O repositório 21/2/2011 Prognus Software Livre airton@prognus.com.br 6

Comandos básicos:

Comandos básicos Comando Atalho Ação Exemplo checkout co Faz um download do repositório e cria uma cópia de trabalho svn co https://dev.prognus.com.br/svn-expresso/expresso/trunk status st Mostra alterações da cópia de trabalho svn status commit ci Envia alterações da cópia de trabalho para o servidor svn ci -m "Informação sobre commit " add Adiciona novos arquivos ao repositório svn add foo.c delete rm Remove arquivos do repositório svn del foo.c revert volta arquivo da cópia de trabalho para ultima versão baixada do repositório svn revert -R1177 . update up Atualiza para ultima versão do repositório svn update help Mostra ajuda svn help 21/2/2011 Prognus Software Livre airton@prognus.com.br 7

Outros comandos:

Outros comandos 21/2/2011 Prognus Software Livre airton@prognus.com.br 8 Comando Atalhos Ação Exemplo export faz download do repositório sem versionar a cópia svn export https://dev.prognus.com.br/svn-expresso/expresso/trunk . copy cp copia um diretório/arquivo do repositório svn cp https://dev.prognus.com.br/svn-expresso/expresso/trunk https://dev.prognus.com.br/svn-expresso/expresso/tags/expresso/2.0-prognus3.1 move mv move um diretório/arquivo do repositório info mostra informação sobre repositório svn info diff mostra um diff svn diff -r15:40 log mostra o histórico de alterações svn log -v expressoMail1_2/index.php list lista os arquivos no repositório svn list https://dev.prognus.com.br/svn-expresso/expresso/trunk

Cópias de trabalho x Repositório:

Cópias de trabalho x Repositório Para cada arquivo o SVN registra duas informações Em qual revisão seu arquivo local é baseado Data e hora da ultima vez que a cópia local foi atualizada a partir do repositório Um arquivo local pode estar em um desses 4 estados : Não-modificado e corrente Localmente alterado e corrente Não-modificado e desatualizado Localmente modificado e desatualizado 21/2/2011 Prognus Software Livre airton@prognus.com.br 9

Cópias de trabalho x Repositório:

Cópias de trabalho x Repositório Estado commit update Não-modificado e corrente Não faz nada Não faz nada Localmente alterado e corrente publicação das alterações Não faz nada Não-modificado e desatualizado Não faz nada Traz as últimas alterações para a cópia local Localmente modificado e desatualizado Erro out-of-date Tenta fundir as alterações 21/2/2011 Prognus Software Livre airton@prognus.com.br 10

Ciclo básico de trabalho:

Ciclo básico de trabalho svn update svn add s vn move svn status svn revert svn commit svn checkout svn info svn diff 21/2/2011 Prognus Software Livre airton@prognus.com.br 11

Ciclo básico de trabalho:

Ciclo básico de trabalho 21/2/2011 Prognus Software Livre airton@prognus.com.br 12 Baixando uma cópia de trabalho da árvore de desenvolvimento Atualizando uma cópia já existente Obtendo informações sobre a cópia de trabalho Verificando o que foi alterado

Ciclo básico de trabalho:

Ciclo básico de trabalho 21/2/2011 Prognus Software Livre airton@prognus.com.br 13 Minhas alterações Alterações entre duas revisões

Ciclo básico de trabalho:

Ciclo básico de trabalho 21/2/2011 Prognus Software Livre airton@prognus.com.br 14 Verificando o log de alterações Enviando as modificações para o servidor

Códigos de status:

Códigos de status 21/2/2011 Prognus Software Livre airton@prognus.com.br 15 Código Significado U Arquivo de trabalho foi atualizado G Alterações no repositório foram automaticamente incorporadas a cópia de trabalho (Merge) M Arquivo de trabalho está modificado . C O arquivo está em conflito com a versão do respositório ? O arquivo não está sob controle de versão ! O arquivo está sob controle de versão mas está ausente ou incompleto A O arquivo será adicionado ao controle de versão ( após commit) A+ O arquivo será movido ( após commit) D O arquivo será deletado ( após commit)

Resolução de conflitos:

Resolução de conflitos SVN exibe o código de status C durante o update; Adiciona marcações de conflito no arquivo ; Strings especiais que delimitam os “ lados ” do conflito . <<<<<<< . mine ======= >>>>>>> . rXXX Para cada conflito mantém 3 arquivos extras não-versionados ; Filename. mine ; Filename. rOldRev ( revisão do arquivo no seu diretório ); Filename .rNewRev ( revisão do repositório ). Além do arquivo original, com as marcações ; 21/2/2011 Prognus Software Livre airton@prognus.com.br 16

Resolução de conflitos:

Resolução de conflitos 21/2/2011 Prognus Software Livre airton@prognus.com.br 17

Resolução de conflitos:

Resolução de conflitos 21/2/2011 Prognus Software Livre airton@prognus.com.br 18

Ramificações - Branch:

Ramificações - Branch Linha de desenvolvimento independente de outra linha ; Partilham um histórico em comum ; Sempre se inicia como cópia de outra coisa ; 21/2/2011 Prognus Software Livre airton@prognus.com.br 19

Ramificações - Branch:

Ramificações - Branch 21/2/2011 Prognus Software Livre airton@prognus.com.br 20 Criando uma ramificação – Branch:

Ramificações - Branch:

Ramificações - Branch 21/2/2011 Prognus Software Livre airton@prognus.com.br 21 As modificações são feitas de forma independente

Ramificações - Branch:

Ramificações - Branch 21/2/2011 Prognus Software Livre airton@prognus.com.br 22 Aplicando alterações feitas em outra ramificação :

Ramificações - Branch:

Ramificações - Branch 21/2/2011 Prognus Software Livre airton@prognus.com.br 23 Mesclando branchs :

Patch:

Patch 21/2/2011 Prognus Software Livre airton@prognus.com.br 24

Referências:

Referências http :// dev.prognus.com.br/processo/wiki/Guias/HowTo/UsandoSVN http:// knaddison.com/technology/svn-status-code-cheat-sheet http://www.skill-guru.com/blog/2010/08/25/comparin-svn-and-cvs / http:// www.dicasl.com.br/arquivo/criar_e_usar_um_servidor_svn.php http://code.google.com/p/svnbook-pt-br/downloads/list 21/2/2011 Prognus Software Livre airton@prognus.com.br 25

Slide 26:

Obrigado. airton@prognus.com.br prognus@prognus.com.br 21/2/2011 Prognus Software Livre airton@prognus.com.br 26