26
Subversion - SVN Prognus Software Livre Airton Bordin Junior 15/06/22 Prognus Software Livre [email protected]

Subversion - SVN Prognus Software Livre Airton Bordin Junior 23/11/2014 Prognus Software Livre [email protected]

Embed Size (px)

Citation preview

Page 1: Subversion - SVN Prognus Software Livre Airton Bordin Junior 23/11/2014 Prognus Software Livre airton@prognus.com.br

Subversion - SVNPrognus Software Livre Airton Bordin Junior

11/0

4/23

Prog

nus

Soft

war

e Li

vre

airt

on@

prog

nus.

com

.br

Page 2: Subversion - SVN Prognus Software Livre Airton Bordin Junior 23/11/2014 Prognus Software Livre airton@prognus.com.br

Subversion - SVN

• Sistema de controle de versão (2000);• Substituto do CVS

• algumas limitações.• Livre/open-source;

11/0

4/23

Prog

nus

Soft

war

e Li

vre

airt

on@

prog

nus.

com

.br

2

Page 3: Subversion - SVN Prognus Software Livre Airton Bordin Junior 23/11/2014 Prognus Software Livre airton@prognus.com.br

Quadro comparativoFuncionalidade 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

11/0

4/23

Prog

nus

Soft

war

e Li

vre

airt

on@

prog

nus.

com

.br

3

Page 4: Subversion - SVN Prognus Software Livre Airton Bordin Junior 23/11/2014 Prognus Software Livre airton@prognus.com.br

Subversion - SVN

11/0

4/23

Prog

nus

Soft

war

e Li

vre

airt

on@

prog

nus.

com

.br

4Comparação de performance de sistemas de controle de versão utilizando o software finalbuilder

Page 5: Subversion - SVN Prognus Software Livre Airton Bordin Junior 23/11/2014 Prognus Software Livre airton@prognus.com.br

Subversion - SVNProjeto 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

11/0

4/23

Prog

nus

Soft

war

e Li

vre

airt

on@

prog

nus.

com

.br

5

Page 6: Subversion - SVN Prognus Software Livre Airton Bordin Junior 23/11/2014 Prognus Software Livre airton@prognus.com.br

O repositório

11/0

4/23

Prog

nus

Soft

war

e Li

vre

airt

on@

prog

nus.

com

.br

6

Page 7: Subversion - SVN Prognus Software Livre Airton Bordin Junior 23/11/2014 Prognus Software Livre airton@prognus.com.br

Comandos básicosComando Atalho Ação Exemplo

checkout coFaz 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

11/0

4/23

Prog

nus

Soft

war

e Li

vre

airt

on@

prog

nus.

com

.br

7

Page 8: Subversion - SVN Prognus Software Livre Airton Bordin Junior 23/11/2014 Prognus Software Livre airton@prognus.com.br

Outros comandos

11/0

4/23

Prog

nus

Soft

war

e Li

vre

airt

on@

prog

nus.

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

Page 9: Subversion - SVN Prognus Software Livre Airton Bordin Junior 23/11/2014 Prognus Software Livre airton@prognus.com.br

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

11/0

4/23

Prog

nus

Soft

war

e Li

vre

airt

on@

prog

nus.

com

.br

9

Page 10: Subversion - SVN Prognus Software Livre Airton Bordin Junior 23/11/2014 Prognus Software Livre airton@prognus.com.br

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

11/0

4/23

Prog

nus

Soft

war

e Li

vre

airt

on@

prog

nus.

com

.br

10

Page 11: Subversion - SVN Prognus Software Livre Airton Bordin Junior 23/11/2014 Prognus Software Livre airton@prognus.com.br

Ciclo básico de trabalho

• svn update• svn add • svn move• svn status• svn revert• svn commit• svn checkout• svn info• svn diff

11/0

4/23

Prog

nus

Soft

war

e Li

vre

airt

on@

prog

nus.

com

.br

11

Page 12: Subversion - SVN Prognus Software Livre Airton Bordin Junior 23/11/2014 Prognus Software Livre airton@prognus.com.br

Ciclo básico de trabalho

11/0

4/23

Prog

nus

Soft

war

e Li

vre

airt

on@

prog

nus.

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

Page 13: Subversion - SVN Prognus Software Livre Airton Bordin Junior 23/11/2014 Prognus Software Livre airton@prognus.com.br

Ciclo básico de trabalho

11/0

4/23

Prog

nus

Soft

war

e Li

vre

airt

on@

prog

nus.

com

.br

13

• Minhas alterações

• Alterações entre duas revisões

Page 14: Subversion - SVN Prognus Software Livre Airton Bordin Junior 23/11/2014 Prognus Software Livre airton@prognus.com.br

Ciclo básico de trabalho

11/0

4/23

Prog

nus

Soft

war

e Li

vre

airt

on@

prog

nus.

com

.br

14

• Verificando o log de alterações

• Enviando as modificações para o servidor

Page 15: Subversion - SVN Prognus Software Livre Airton Bordin Junior 23/11/2014 Prognus Software Livre airton@prognus.com.br

Códigos de status

11/0

4/23

Prog

nus

Soft

war

e Li

vre

airt

on@

prog

nus.

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)

Page 16: Subversion - SVN Prognus Software Livre Airton Bordin Junior 23/11/2014 Prognus Software Livre airton@prognus.com.br

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;

11/0

4/23

Prog

nus

Soft

war

e Li

vre

airt

on@

prog

nus.

com

.br

16

Page 17: Subversion - SVN Prognus Software Livre Airton Bordin Junior 23/11/2014 Prognus Software Livre airton@prognus.com.br

Resolução de conflitos

11/0

4/23

Prog

nus

Soft

war

e Li

vre

airt

on@

prog

nus.

com

.br

17

Page 18: Subversion - SVN Prognus Software Livre Airton Bordin Junior 23/11/2014 Prognus Software Livre airton@prognus.com.br

Resolução de conflitos

11/0

4/23

Prog

nus

Soft

war

e Li

vre

airt

on@

prog

nus.

com

.br

18

Page 19: Subversion - SVN Prognus Software Livre Airton Bordin Junior 23/11/2014 Prognus Software Livre airton@prognus.com.br

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;

11/0

4/23

Prog

nus

Soft

war

e Li

vre

airt

on@

prog

nus.

com

.br

19

Page 20: Subversion - SVN Prognus Software Livre Airton Bordin Junior 23/11/2014 Prognus Software Livre airton@prognus.com.br

Ramificações - Branch

11/0

4/23

Prog

nus

Soft

war

e Li

vre

airt

on@

prog

nus.

com

.br

20

• Criando uma ramificação – Branch:

Page 21: Subversion - SVN Prognus Software Livre Airton Bordin Junior 23/11/2014 Prognus Software Livre airton@prognus.com.br

Ramificações - Branch

11/0

4/23

Prog

nus

Soft

war

e Li

vre

airt

on@

prog

nus.

com

.br

21

• As modificações são feitas de forma independente

Page 22: Subversion - SVN Prognus Software Livre Airton Bordin Junior 23/11/2014 Prognus Software Livre airton@prognus.com.br

Ramificações - Branch

11/0

4/23

Prog

nus

Soft

war

e Li

vre

airt

on@

prog

nus.

com

.br

22

• Aplicando alterações feitas em outra ramificação:

Page 23: Subversion - SVN Prognus Software Livre Airton Bordin Junior 23/11/2014 Prognus Software Livre airton@prognus.com.br

Ramificações - Branch

11/0

4/23

Prog

nus

Soft

war

e Li

vre

airt

on@

prog

nus.

com

.br

23

• Mesclando branchs:

Page 24: Subversion - SVN Prognus Software Livre Airton Bordin Junior 23/11/2014 Prognus Software Livre airton@prognus.com.br

Patch

11/0

4/23

Prog

nus

Soft

war

e Li

vre

airt

on@

prog

nus.

com

.br

24

Page 25: Subversion - SVN Prognus Software Livre Airton Bordin Junior 23/11/2014 Prognus Software Livre airton@prognus.com.br

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

11/0

4/23

Prog

nus

Soft

war

e Li

vre

airt

on@

prog

nus.

com

.br

25

Page 26: Subversion - SVN Prognus Software Livre Airton Bordin Junior 23/11/2014 Prognus Software Livre airton@prognus.com.br

[email protected]

[email protected]

11/0

4/23

Prog

nus

Soft

war

e Li

vre

airt

on@

prog

nus.

com

.br

26