SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
Subversion (SVN) com o TortoiseSVN
Paulo Renato
Conteúdo
●Introdução
●Conceitos Básicos
●Fluxo de trabalho
●Boas Práticas
Conceitos Básicos
Repositó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.
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.
Conceitos Básicos
HEAD
É a revisão mais recente do repositório.
Update
Atualização da cópia local para a revisão atual do repositório.
Menu → SVN Update
Commit
Envia as modificações realizadas localmente para o servidor.
Menu → SVN Commit
Revert
Desfaz 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
Switch
Aponta a cópia local para outro branch/tag.
Menu → TortoiseSVN → Switch
Conceitos Básicos
Status 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ções
Menu → 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.
Conceitos Básicos
Gerenciamento 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 → Add
Menu → TortoiseSVN → Rename
Menu → 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.
trunk
branch
tag
Branch para uma
funcionalidade
A funcionalidade está pronta
o branch é reintegrado
Criação da tag
Projeto-1.0.0
Pequenas
modificações
Fluxo de trabalho
Branch de establilização
Fluxo de trabalho
Criaçã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
Fluxo de trabalho
Reintegrar 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 → Next
E depois Merge...
Para resolver os conflitos:
É possível escolher qual cópia manter,
ou editar os blocos em conflito.
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
Fim.
Muito obrigado!
Informações para contato
E-mail: paulo.oliveira@funcate.org.br
Tel.: +55 12 3925 1395
Site: www.funcate.org.br

Weitere ähnliche Inhalte

Was ist angesagt?

Invasaocom exploits
Invasaocom exploitsInvasaocom exploits
Invasaocom exploitsNauber Gois
 
Sistemas operativos - Arch Linux
Sistemas operativos  - Arch LinuxSistemas operativos  - Arch Linux
Sistemas operativos - Arch LinuxDanielAraujo224
 
Funcionamento kernel
Funcionamento kernelFuncionamento kernel
Funcionamento kernelSENAC RIO
 
Soa cap2 administracao de sistemas2 (slides)
Soa cap2 administracao de sistemas2 (slides)Soa cap2 administracao de sistemas2 (slides)
Soa cap2 administracao de sistemas2 (slides)portal_Do_estudante
 
Programação em bat
Programação em batProgramação em bat
Programação em bathackernoob
 
Ubuntu linux - Apt-GET
Ubuntu linux - Apt-GETUbuntu linux - Apt-GET
Ubuntu linux - Apt-GETRoney Sousa
 
Linux comandos diversos
Linux   comandos diversosLinux   comandos diversos
Linux comandos diversosDanilo Filitto
 
Shell script ii direcionadores
Shell script ii  direcionadoresShell script ii  direcionadores
Shell script ii direcionadoresCarlos Melo
 
Android Core Aula 2: Inicialização de um sistema Android
Android Core Aula 2: Inicialização de um sistema AndroidAndroid Core Aula 2: Inicialização de um sistema Android
Android Core Aula 2: Inicialização de um sistema AndroidFelipe Silveira
 
Curso de shell
Curso de shellCurso de shell
Curso de shellTiago
 
CVS - Slides Parte 2 - Administração
CVS - Slides Parte 2 - AdministraçãoCVS - Slides Parte 2 - Administração
CVS - Slides Parte 2 - AdministraçãoMarden Neubert
 
Mudança de runlevels e desligamento do sistema
Mudança de runlevels e desligamento do sistemaMudança de runlevels e desligamento do sistema
Mudança de runlevels e desligamento do sistemaSoftD Abreu
 

Was ist angesagt? (20)

Invasaocom exploits
Invasaocom exploitsInvasaocom exploits
Invasaocom exploits
 
Ubuntu
UbuntuUbuntu
Ubuntu
 
Gerencia Básica Gnu/Linux
Gerencia Básica Gnu/LinuxGerencia Básica Gnu/Linux
Gerencia Básica Gnu/Linux
 
Sistemas operativos - Arch Linux
Sistemas operativos  - Arch LinuxSistemas operativos  - Arch Linux
Sistemas operativos - Arch Linux
 
Lab ect 02 pt
Lab ect 02 ptLab ect 02 pt
Lab ect 02 pt
 
Funcionamento kernel
Funcionamento kernelFuncionamento kernel
Funcionamento kernel
 
Soa cap2 administracao de sistemas2 (slides)
Soa cap2 administracao de sistemas2 (slides)Soa cap2 administracao de sistemas2 (slides)
Soa cap2 administracao de sistemas2 (slides)
 
Mercurial hg
Mercurial hgMercurial hg
Mercurial hg
 
Programação em bat
Programação em batProgramação em bat
Programação em bat
 
Aula 06 comandos linux
Aula 06   comandos linuxAula 06   comandos linux
Aula 06 comandos linux
 
Ubuntu linux - Apt-GET
Ubuntu linux - Apt-GETUbuntu linux - Apt-GET
Ubuntu linux - Apt-GET
 
Curso de CVS - Lab 3
Curso de CVS - Lab 3Curso de CVS - Lab 3
Curso de CVS - Lab 3
 
Linux comandos diversos
Linux   comandos diversosLinux   comandos diversos
Linux comandos diversos
 
Shell script ii direcionadores
Shell script ii  direcionadoresShell script ii  direcionadores
Shell script ii direcionadores
 
Android Core Aula 2: Inicialização de um sistema Android
Android Core Aula 2: Inicialização de um sistema AndroidAndroid Core Aula 2: Inicialização de um sistema Android
Android Core Aula 2: Inicialização de um sistema Android
 
Git
GitGit
Git
 
Roteiro nfs
Roteiro nfsRoteiro nfs
Roteiro nfs
 
Curso de shell
Curso de shellCurso de shell
Curso de shell
 
CVS - Slides Parte 2 - Administração
CVS - Slides Parte 2 - AdministraçãoCVS - Slides Parte 2 - Administração
CVS - Slides Parte 2 - Administração
 
Mudança de runlevels e desligamento do sistema
Mudança de runlevels e desligamento do sistemaMudança de runlevels e desligamento do sistema
Mudança de runlevels e desligamento do sistema
 

Ähnlich wie SVN com TortoiseSVN

Conceitos e exemplos em versionamento de código
Conceitos e exemplos em versionamento de códigoConceitos e exemplos em versionamento de código
Conceitos e exemplos em versionamento de códigoFelipe
 
SVN no Desenvolvimento de Software
SVN no Desenvolvimento de SoftwareSVN no Desenvolvimento de Software
SVN no Desenvolvimento de SoftwareManoel Afonso
 
Intervalo técnico Git/SVN
Intervalo técnico Git/SVNIntervalo técnico Git/SVN
Intervalo técnico Git/SVNLuciano Lima
 
Gerência de Configuração
Gerência de ConfiguraçãoGerência de Configuração
Gerência de ConfiguraçãoWagner Zaparoli
 
CVS - Slides Parte 3 - Básico
CVS - Slides Parte 3 - BásicoCVS - Slides Parte 3 - Básico
CVS - Slides Parte 3 - BásicoMarden Neubert
 
CVS - Slides Parte 4 - Avançado
CVS - Slides Parte 4 - AvançadoCVS - Slides Parte 4 - Avançado
CVS - Slides Parte 4 - AvançadoMarden Neubert
 
Git - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de VersõesGit - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de VersõesLeandro Cavalcante
 
CVS - Slides Parte 1 - Introdução
CVS - Slides Parte 1 - IntroduçãoCVS - Slides Parte 1 - Introdução
CVS - Slides Parte 1 - IntroduçãoMarden Neubert
 
Controle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básicoControle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básicoFabricio Nogueira
 
Sistemas de controle de versão
Sistemas de controle de versãoSistemas de controle de versão
Sistemas de controle de versãoMarcos Pessoa
 
Git workshop
Git workshopGit workshop
Git workshopYuri Reis
 

Ähnlich wie SVN com TortoiseSVN (20)

Conceitos e exemplos em versionamento de código
Conceitos e exemplos em versionamento de códigoConceitos e exemplos em versionamento de código
Conceitos e exemplos em versionamento de código
 
SVN no Desenvolvimento de Software
SVN no Desenvolvimento de SoftwareSVN no Desenvolvimento de Software
SVN no Desenvolvimento de Software
 
Git presentation
Git presentationGit presentation
Git presentation
 
Intervalo técnico Git/SVN
Intervalo técnico Git/SVNIntervalo técnico Git/SVN
Intervalo técnico Git/SVN
 
CVS
CVSCVS
CVS
 
Gerência de Configuração
Gerência de ConfiguraçãoGerência de Configuração
Gerência de Configuração
 
CVS - Slides Parte 3 - Básico
CVS - Slides Parte 3 - BásicoCVS - Slides Parte 3 - Básico
CVS - Slides Parte 3 - Básico
 
Svn - grupo de estudos sol7
Svn - grupo de estudos sol7Svn - grupo de estudos sol7
Svn - grupo de estudos sol7
 
CVS - Slides Parte 4 - Avançado
CVS - Slides Parte 4 - AvançadoCVS - Slides Parte 4 - Avançado
CVS - Slides Parte 4 - Avançado
 
Svn Tech Thursday
Svn Tech ThursdaySvn Tech Thursday
Svn Tech Thursday
 
Git - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de VersõesGit - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de Versões
 
CVS - Slides Parte 1 - Introdução
CVS - Slides Parte 1 - IntroduçãoCVS - Slides Parte 1 - Introdução
CVS - Slides Parte 1 - Introdução
 
“Revision Control Systems: Subversion (SVN)” por Tiago Rodrigues
“Revision Control Systems: Subversion (SVN)” por Tiago Rodrigues“Revision Control Systems: Subversion (SVN)” por Tiago Rodrigues
“Revision Control Systems: Subversion (SVN)” por Tiago Rodrigues
 
Controle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básicoControle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básico
 
Sistemas de controle de versão
Sistemas de controle de versãoSistemas de controle de versão
Sistemas de controle de versão
 
Apresentação controle de versão
Apresentação controle de versãoApresentação controle de versão
Apresentação controle de versão
 
Git workshop
Git workshopGit workshop
Git workshop
 
Svn e processos de controle de código
Svn e processos de controle de códigoSvn e processos de controle de código
Svn e processos de controle de código
 
Controle de versões com o Subversion
Controle de versões com o SubversionControle de versões com o Subversion
Controle de versões com o Subversion
 
GIT Básico
GIT BásicoGIT Básico
GIT Básico
 

SVN com TortoiseSVN

  • 1. Subversion (SVN) com o TortoiseSVN Paulo Renato
  • 3. Conceitos Básicos Repositó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.
  • 4. 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.
  • 5. Conceitos Básicos HEAD É a revisão mais recente do repositório. Update Atualização da cópia local para a revisão atual do repositório. Menu → SVN Update Commit Envia as modificações realizadas localmente para o servidor. Menu → SVN Commit Revert Desfaz 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 Switch Aponta a cópia local para outro branch/tag. Menu → TortoiseSVN → Switch
  • 6. Conceitos Básicos Status 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ções Menu → 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.
  • 7. Conceitos Básicos Gerenciamento 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 → Add Menu → TortoiseSVN → Rename Menu → 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.
  • 8. trunk branch tag Branch para uma funcionalidade A funcionalidade está pronta o branch é reintegrado Criação da tag Projeto-1.0.0 Pequenas modificações Fluxo de trabalho Branch de establilização
  • 9. Fluxo de trabalho Criaçã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
  • 10. Fluxo de trabalho Reintegrar 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 → Next E depois Merge... Para resolver os conflitos: É possível escolher qual cópia manter, ou editar os blocos em conflito.
  • 11. 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
  • 12. Fim. Muito obrigado! Informações para contato E-mail: paulo.oliveira@funcate.org.br Tel.: +55 12 3925 1395 Site: www.funcate.org.br