12
Subversion (SVN) com o TortoiseSVN Paulo Renato

SVN com TortoiseSVN

Embed Size (px)

DESCRIPTION

Introdução aos conceitos do SVN utilzando o TortoiseSVN

Citation preview

Page 1: SVN com TortoiseSVN

Subversion (SVN) com o TortoiseSVNPaulo Renato

Page 2: SVN com TortoiseSVN

Conteúdo●Introdução●Conceitos Básicos●Fluxo de trabalho●Boas Práticas

Page 3: SVN com TortoiseSVN

Conceitos BásicosRepositório

O repositório é um servidor de arquivos versionado, com ele é possível visualizar cada alteração feita em determinado arquivo ou diretório.

Estrutura do repositório:●trunk: armazena a versão funcional mais recente de desenvolvimento.

●branch: armazena versões de desenvolvimento paralelas baseadas no trunk. Deve ser utilizado para mudanças que podem afetar a integridade do trunk.

●tag: armazena uma “cópia” do repositório em uma determinada revisão, para facilitar a localização de versões. Cada tag possui um nome único que a identifica.

Page 4: SVN com TortoiseSVN

Conceitos Básicos

Cópia de Trabalho

Todo desenvolvedor tem sua própria cópia de trabalho, informar a url do repositório e a pasta na qual o projeto será criado.Menu → SVN Checkout.

Revisão

Número que identifica cada uma das alterações ou conjunto de alterações realizadas em um repositório. Tal número é obtido a partir de uma sequência a qual é compartilhada por todos os diretórios do repositório.

Page 5: SVN com TortoiseSVN

Conceitos BásicosHEADÉ a revisão mais recente do repositório.

UpdateAtualização da cópia local para a revisão atual do repositório.Menu → SVN Update

CommitEnvia as modificações realizadas localmente para o servidor.Menu → SVN Commit

RevertDesfaz todas as modificações realizadas no arquivo local desde a última atualização (Obs. Não irá desfazer as mudanças já enviadas para o servidor).Menu → TortoiseSVN → Revert

SwitchAponta a cópia local para outro branch/tag.Menu → TortoiseSVN → Switch

Page 6: SVN com TortoiseSVN

Conceitos BásicosStatus da cópia local

Normal: O arquivo está compatível com a última revisão atualizada(Obs. Isto não significa que o repositório está atualizado).

Modified: A cópia local possui modificações, para ver as modificaçõesMenu → TortoiseSVN → Diff.

Conflicted: As modificações locais estão em conflito com as modificações do repositório. Para editar os conflitos TortoiseSVN → Edit Conflicts e depois para marcá-los como resolvido Menu → TortoiseSVN → Resolved.

Page 7: SVN com TortoiseSVN

Conceitos BásicosGerenciamento dos arquivos

Todo o gerenciamento dos arquivos (Ex. Renomear, remover, adicionar, mover, etc) deve ser realizado utilizando o Tortoise.

Selecione o arquivo e escolha a opção desejada:Menu → TortoiseSVN → AddMenu → TortoiseSVN → RenameMenu → TortoiseSVN → Delete

Para mover arquivos é necessário arrastar e soltar o arquivo com botão direito do mouse e selecionar a opção: SVN Move versioned item(s) here.

Page 8: SVN com TortoiseSVN

trunk

branch

tag

Branch para uma funcionalidade

A funcionalidade está prontao branch é reintegrado

Criação da tagProjeto-1.0.0

Pequenas modificações

Fluxo de trabalho

Branch de establilização

Page 9: SVN com TortoiseSVN

Fluxo de trabalhoCriação de branch/tag

Selecione o repositório:Menu → TortoiseSVN → Branch/Tag

Especificar o caminho no campo To path:branches/tdk_data_access

Adicionar a mensagem informando o que para que serve este branch/tag.

Apontar a partir de qual revisão deve ser criado o branch.Create copy in the repository from:

HEAD

Habilitar a opção Switch working copy to new branch para apontar automaticamente a cópia local para o novo branch

Page 10: SVN com TortoiseSVN

Fluxo de trabalhoReintegrar um branch para o trunk

Selecione a cópia local (Obs. Deve estar apontando para o trunk)Menu → TortoiseSVN → Merge

Selecionar o opção: Reintegrate a branch → Next

Apontar qual o branch deve ser reintegrado:https://svn.funcate.org.br/tdk/branches/tdk_data_access → NextE depois Merge...

Para resolver os conflitos:É possível escolher qual cópia manter,ou editar os blocos em conflito.

Page 11: SVN com TortoiseSVN

Edição de conflitos

Modificação na mesma linha nos dois arquivos.Possíveis soluções: ● Escolher o bloco de um dos arquivos; ● Adicionar um bloco após o outro;● Editar o texto manualmente com uma junção dos dois blocos.

Arquivo Remoto Arquivo Local

Arquivo resultante do Merge

Page 12: SVN com TortoiseSVN

Fim. Muito obrigado!

Informações para contatoE-mail: [email protected]

Tel.: +55 12 3925 1395Site: www.funcate.org.br