SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
SVN - Subversion
Guia de sobrevivência
do usuário

                Fabrício Ferrari de Campos
Licença Creative Commons
Agenda
•   Introdução ao sistema de versionamento;
•   Apresentação do Subversion (SVN);
•   Principais comandos;
•   Exemplos práticos.
Objetivo
• Introdução ao SVN;
• Capacitação para realizar todas as tarefas necessárias
  para usar o SVN, em um dia normal de trabalho.
Sistema de versionamento
• É um software com a finalidade de gerenciar
  diferentes versões no desenvolvimento de qualquer
  artefato produzido (ex. código fonte);
• Pode ser útil tanto para pequenos projetos, quanto
  para grandes;
• O versionamento e controle de versão é tão
  importante que é até uma das exigências do CMMI.
Principais vantagens
• Controle do histórico - quem alterou? Quando alterou? Por que
  alterou? Todas as respostas para essas perguntas o sistema de
  versionamento nos fornece;
• Trabalho em equipe - facilita muito o trabalho no desenvolvimento,
  além de garantir segurança aos artefatos. Torna-se possível diversas
  pessoas trabalhem sobre o mesmo conjunto de documentos ao
  mesmo tempo e mitiga o risco de conflitos de edições;
• Marcação e resgate de versões estáveis - a maioria dos sistemas
  permite marcar onde é que o artefato estava com uma versão
  estável, podendo ser facilmente resgatado no futuro;
• Ramificação de projeto - torna-se possível a divisão do projeto em
  várias linhas de desenvolvimento, que podem ser trabalhadas
  paralelamente, sem que uma interfira na outra.
O Subversion
• O Subversion é um sistema de controle de versão
  livre e open source;
• Seu objetivo é gerenciar arquivos e diretórios, e
  todas modificações feitas neles ao longo do tempo,
  fornecendo um sistema centralizado de
  compartilhamento de informação;
• Substituto do CVS.
O que é necessário instalar?
• SVN Client
  ▫ O programa cliente de linha de comando.
    sudo apt-get install svn
  ▫ Ou o próprio Subversion (já vem com o client)
    sudo apt-get install subversion
Principais comandos
• svn help - descreverá a sintaxe, opções, e
  comportamento do subcomando (exemplo abaixo)
Principais comandos
• Apenas svn help irá apresentar a lista de comandos
  disponíveis:
Principais comandos
• svn import
  ▫ é o modo rápido para copiar uma árvore de arquivos não
    versionada em um repositório ( que foi criado pelo
    administrador do SVN)
  ▫ ou seja, podemos copiar todos os arquivos do diretório
    ensinar para o repositório:

  $ svn import ensinar file:///usr/local/svn/blogs/ensinar -m
    “Iniciando a brincadeira"
  Adding     ensinar/backup.xml
  Adding     ensinar/app_svn.ppt
  Adding     ensinar/material/svn-book.pdf
  Committed revision 1.
Principais comandos
• svn checkout (OU svn co)
  ▫ cria uma “cópia de trabalho” em sua máquina local, do
    projeto que você está trabalhando.
  ▫ iremos copiar os arquivos do SVN para a pasta ensinar
  $ svn checkout
    http://192.168.171.145/svn/projetos/ensinar ensinar
  A trunk/index.php
  A trunk/conf/build.conf
  …
  Checked out revision 42.
Principais comandos
• svn update (OU svn up)
 ▫ serve para deixar sua cópia de trabalho em sincronia
   com a última revisão no repositório.
 ▫ executando o comando, podemos visualizar quais
   arquivos foram adicionados e que não estavam na
   nossa “cópia de trabalho”

 $ svn update
 U trunk/images/logo.gif
 Updated to revision 2.
Principais comandos
• svn add
 ▫ serve para adicionar um novo arquivo no repositório
 ▫ por exemplo, adicionar o arquivo teste.xml na pasta
   trunk

 $ svn add ensinar/trunk/teste.xml
Principais comandos
• svn delete (OU svn del OU svn rm OU svn remove)
 ▫ serve para deletar um arquivo do repositório
 ▫ por exemplo, deletar o arquivo index.php da pasta
   trunk

 $ svn delete ensinar/trunk/index.php
Principais comandos
• svn copy (OU svn cp)
  ▫ serve para fazer uma cópia de um arquivo
  ▫ por exemplo, podemos fazer uma copia do arquivo
    logo.gif

  $ svn copy ensinar/trunk/images/logo.gif
    /trunk/ensinar/images/logo_default.gif
Principais comandos
• svn move
 ▫ serve para mover um arquivo de lugar
 ▫ por exemplo, podemos mover o arquivo logo.gif para a
   pasta trunk

 $ svn move ensinar/trunk/images/logo.gif
   /ensinar/trunk/logo.gif
Principais comandos
• svn mkdir
 ▫ serve para criar uma pasta no repositório
 ▫ se precisamos criar uma nova pasta chamada docs no
   trunk, executamos o seguinte comando:

 $ svn mkdir /ensinar/trunk/docs
Principais comandos
• svn status (OU svn st)
  ▫ muito útil para saber todas as alterações de arquivos e
    diretórios que você fez


  $ svn status
  A /trunk/ensinar/images/logo_default.gif # file is
    scheduled for addition
Principais comandos
• svn commit (OU svn ci)
  ▫ finalmente, após você ter realizado todas as suas
    alterações, chegou a hora de efetivar as mesmas;
  ▫ e é essa a utilidade do comando commit, ele irá envia
    todas as suas modificações para o servidor, sendo
    preciso informar uma mensagem de log, descrevendo
    sua alteração.
  $ svn commit -m “Acabando com a brincadeira."
  Sending /trunk/ensinar/images/logo_default.gif
  Transmitting file data.
  Committed revision 43.
Saiba mais
• SVN BOOK
 ▫ http://svnbook.red-bean.com/en/1.4/svn-book.pdf
A comunidade traduziu!
• SVN BOOK PT-BR
 ▫ http://code.google.com/p/svnbook-pt-br/
Bibliografia
• SVN BOOK
• http://pt.wikipedia.org/wiki/Sistema_de_controle_d
  e_versão

Weitere ähnliche Inhalte

Was ist angesagt?

Git with bitbucket
Git with bitbucketGit with bitbucket
Git with bitbucketSumin Byeon
 
Read-only rootfs: theory and practice
Read-only rootfs: theory and practiceRead-only rootfs: theory and practice
Read-only rootfs: theory and practiceChris Simmonds
 
BKK16-201 Play Ready OPTEE Integration with Secure Video Path lhg-1
BKK16-201 Play Ready OPTEE Integration with Secure Video Path lhg-1BKK16-201 Play Ready OPTEE Integration with Secure Video Path lhg-1
BKK16-201 Play Ready OPTEE Integration with Secure Video Path lhg-1Linaro
 
LAS16 111 - Raspberry pi3, op-tee and jtag debugging
LAS16 111 - Raspberry pi3, op-tee and jtag debuggingLAS16 111 - Raspberry pi3, op-tee and jtag debugging
LAS16 111 - Raspberry pi3, op-tee and jtag debugging96Boards
 
Jenkins to Gitlab - Intelligent Build-Pipelines
Jenkins to Gitlab - Intelligent Build-PipelinesJenkins to Gitlab - Intelligent Build-Pipelines
Jenkins to Gitlab - Intelligent Build-PipelinesChristian Münch
 
Conjunto de instruções mips - introdução
Conjunto de instruções mips - introduçãoConjunto de instruções mips - introdução
Conjunto de instruções mips - introduçãoElaine Cecília Gatto
 
How To Configure Nginx Load Balancer on CentOS 7
How To Configure Nginx Load Balancer on CentOS 7How To Configure Nginx Load Balancer on CentOS 7
How To Configure Nginx Load Balancer on CentOS 7VCP Muthukrishna
 
HKG18-203 - Overview of Linaro DRM
HKG18-203 - Overview of Linaro DRMHKG18-203 - Overview of Linaro DRM
HKG18-203 - Overview of Linaro DRMLinaro
 
Instalação de Servidor FTP - Microsoft Windows Server 2008
Instalação de Servidor FTP - Microsoft Windows Server 2008Instalação de Servidor FTP - Microsoft Windows Server 2008
Instalação de Servidor FTP - Microsoft Windows Server 2008Joeldson Costa Damasceno
 
Jagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchlinuxlab_conf
 
Aula sobre multithreading
Aula sobre multithreadingAula sobre multithreading
Aula sobre multithreadingBianca Dantas
 
MARA: Scaffolding for Modern Applications
MARA: Scaffolding for Modern ApplicationsMARA: Scaffolding for Modern Applications
MARA: Scaffolding for Modern ApplicationsNGINX, Inc.
 
LCA14: LCA14-502: The way to a generic TrustZone® solution
LCA14: LCA14-502: The way to a generic TrustZone® solutionLCA14: LCA14-502: The way to a generic TrustZone® solution
LCA14: LCA14-502: The way to a generic TrustZone® solutionLinaro
 
Cilium - Network security for microservices
Cilium - Network security for microservicesCilium - Network security for microservices
Cilium - Network security for microservicesThomas Graf
 
LCU14-103: How to create and run Trusted Applications on OP-TEE
LCU14-103: How to create and run Trusted Applications on OP-TEELCU14-103: How to create and run Trusted Applications on OP-TEE
LCU14-103: How to create and run Trusted Applications on OP-TEELinaro
 
LCA14: LCA14-418: Testing a secure framework
LCA14: LCA14-418: Testing a secure frameworkLCA14: LCA14-418: Testing a secure framework
LCA14: LCA14-418: Testing a secure frameworkLinaro
 
Accelerating Envoy and Istio with Cilium and the Linux Kernel
Accelerating Envoy and Istio with Cilium and the Linux KernelAccelerating Envoy and Istio with Cilium and the Linux Kernel
Accelerating Envoy and Istio with Cilium and the Linux KernelThomas Graf
 
Azure DevOps - Version Controlling with Git
Azure DevOps - Version Controlling with GitAzure DevOps - Version Controlling with Git
Azure DevOps - Version Controlling with GitEng Teong Cheah
 

Was ist angesagt? (20)

Git with bitbucket
Git with bitbucketGit with bitbucket
Git with bitbucket
 
tmux
tmuxtmux
tmux
 
Read-only rootfs: theory and practice
Read-only rootfs: theory and practiceRead-only rootfs: theory and practice
Read-only rootfs: theory and practice
 
BKK16-201 Play Ready OPTEE Integration with Secure Video Path lhg-1
BKK16-201 Play Ready OPTEE Integration with Secure Video Path lhg-1BKK16-201 Play Ready OPTEE Integration with Secure Video Path lhg-1
BKK16-201 Play Ready OPTEE Integration with Secure Video Path lhg-1
 
LAS16 111 - Raspberry pi3, op-tee and jtag debugging
LAS16 111 - Raspberry pi3, op-tee and jtag debuggingLAS16 111 - Raspberry pi3, op-tee and jtag debugging
LAS16 111 - Raspberry pi3, op-tee and jtag debugging
 
Jenkins to Gitlab - Intelligent Build-Pipelines
Jenkins to Gitlab - Intelligent Build-PipelinesJenkins to Gitlab - Intelligent Build-Pipelines
Jenkins to Gitlab - Intelligent Build-Pipelines
 
Conjunto de instruções mips - introdução
Conjunto de instruções mips - introduçãoConjunto de instruções mips - introdução
Conjunto de instruções mips - introdução
 
How To Configure Nginx Load Balancer on CentOS 7
How To Configure Nginx Load Balancer on CentOS 7How To Configure Nginx Load Balancer on CentOS 7
How To Configure Nginx Load Balancer on CentOS 7
 
Raid
RaidRaid
Raid
 
HKG18-203 - Overview of Linaro DRM
HKG18-203 - Overview of Linaro DRMHKG18-203 - Overview of Linaro DRM
HKG18-203 - Overview of Linaro DRM
 
Instalação de Servidor FTP - Microsoft Windows Server 2008
Instalação de Servidor FTP - Microsoft Windows Server 2008Instalação de Servidor FTP - Microsoft Windows Server 2008
Instalação de Servidor FTP - Microsoft Windows Server 2008
 
Jagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratch
 
Aula sobre multithreading
Aula sobre multithreadingAula sobre multithreading
Aula sobre multithreading
 
MARA: Scaffolding for Modern Applications
MARA: Scaffolding for Modern ApplicationsMARA: Scaffolding for Modern Applications
MARA: Scaffolding for Modern Applications
 
LCA14: LCA14-502: The way to a generic TrustZone® solution
LCA14: LCA14-502: The way to a generic TrustZone® solutionLCA14: LCA14-502: The way to a generic TrustZone® solution
LCA14: LCA14-502: The way to a generic TrustZone® solution
 
Cilium - Network security for microservices
Cilium - Network security for microservicesCilium - Network security for microservices
Cilium - Network security for microservices
 
LCU14-103: How to create and run Trusted Applications on OP-TEE
LCU14-103: How to create and run Trusted Applications on OP-TEELCU14-103: How to create and run Trusted Applications on OP-TEE
LCU14-103: How to create and run Trusted Applications on OP-TEE
 
LCA14: LCA14-418: Testing a secure framework
LCA14: LCA14-418: Testing a secure frameworkLCA14: LCA14-418: Testing a secure framework
LCA14: LCA14-418: Testing a secure framework
 
Accelerating Envoy and Istio with Cilium and the Linux Kernel
Accelerating Envoy and Istio with Cilium and the Linux KernelAccelerating Envoy and Istio with Cilium and the Linux Kernel
Accelerating Envoy and Istio with Cilium and the Linux Kernel
 
Azure DevOps - Version Controlling with Git
Azure DevOps - Version Controlling with GitAzure DevOps - Version Controlling with Git
Azure DevOps - Version Controlling with Git
 

Andere mochten auch

Introdução ao Controle de Versões e SVN
Introdução ao Controle de Versões e SVNIntrodução ao Controle de Versões e SVN
Introdução ao Controle de Versões e SVNFilipi Vianna
 
SVN: Controle de revisões com subversion - Thiago Rafael Becker
SVN: Controle de revisões com subversion - Thiago Rafael BeckerSVN: Controle de revisões com subversion - Thiago Rafael Becker
SVN: Controle de revisões com subversion - Thiago Rafael BeckerTchelinux
 
Botando o Jenkins para rodar seus testes
Botando o Jenkins para rodar seus testesBotando o Jenkins para rodar seus testes
Botando o Jenkins para rodar seus testeskinow
 
Dojo com Arduino e Program-ME
Dojo com Arduino e Program-MEDojo com Arduino e Program-ME
Dojo com Arduino e Program-MEDr. Spock
 
SVN - Subversion
SVN - SubversionSVN - Subversion
SVN - SubversionRafael Une
 
Questoes concurso13122011-com respostas
Questoes concurso13122011-com respostasQuestoes concurso13122011-com respostas
Questoes concurso13122011-com respostasfelipetsi
 
Tutorial oracle forms builder
Tutorial oracle forms builderTutorial oracle forms builder
Tutorial oracle forms builderValdinho Pereira
 
Sistema de Controle de Versão - CVS, SVN e GIT
Sistema de Controle de Versão - CVS, SVN e GITSistema de Controle de Versão - CVS, SVN e GIT
Sistema de Controle de Versão - CVS, SVN e GITGabriel Rubens
 
Apostila completa-oracle-programando-oracle
Apostila completa-oracle-programando-oracleApostila completa-oracle-programando-oracle
Apostila completa-oracle-programando-oracle79anderson
 
Treinamento Oracle Forms
Treinamento Oracle FormsTreinamento Oracle Forms
Treinamento Oracle FormsFelipe Goulart
 

Andere mochten auch (10)

Introdução ao Controle de Versões e SVN
Introdução ao Controle de Versões e SVNIntrodução ao Controle de Versões e SVN
Introdução ao Controle de Versões e SVN
 
SVN: Controle de revisões com subversion - Thiago Rafael Becker
SVN: Controle de revisões com subversion - Thiago Rafael BeckerSVN: Controle de revisões com subversion - Thiago Rafael Becker
SVN: Controle de revisões com subversion - Thiago Rafael Becker
 
Botando o Jenkins para rodar seus testes
Botando o Jenkins para rodar seus testesBotando o Jenkins para rodar seus testes
Botando o Jenkins para rodar seus testes
 
Dojo com Arduino e Program-ME
Dojo com Arduino e Program-MEDojo com Arduino e Program-ME
Dojo com Arduino e Program-ME
 
SVN - Subversion
SVN - SubversionSVN - Subversion
SVN - Subversion
 
Questoes concurso13122011-com respostas
Questoes concurso13122011-com respostasQuestoes concurso13122011-com respostas
Questoes concurso13122011-com respostas
 
Tutorial oracle forms builder
Tutorial oracle forms builderTutorial oracle forms builder
Tutorial oracle forms builder
 
Sistema de Controle de Versão - CVS, SVN e GIT
Sistema de Controle de Versão - CVS, SVN e GITSistema de Controle de Versão - CVS, SVN e GIT
Sistema de Controle de Versão - CVS, SVN e GIT
 
Apostila completa-oracle-programando-oracle
Apostila completa-oracle-programando-oracleApostila completa-oracle-programando-oracle
Apostila completa-oracle-programando-oracle
 
Treinamento Oracle Forms
Treinamento Oracle FormsTreinamento Oracle Forms
Treinamento Oracle Forms
 

Ähnlich wie SVN guia usuário

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
 
Sistemas de controle de versão
Sistemas de controle de versãoSistemas de controle de versão
Sistemas de controle de versãoMarcos Pessoa
 
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
 
Intervalo técnico Git/SVN
Intervalo técnico Git/SVNIntervalo técnico Git/SVN
Intervalo técnico Git/SVNLuciano Lima
 
Controlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e SubversionControlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e Subversionlekitamura
 
SVN Básico
SVN BásicoSVN Básico
SVN BásicoCJR, UnB
 
Controle de versão
Controle de versãoControle de versão
Controle de versãoZé Pereira
 
SVN com TortoiseSVN
SVN com TortoiseSVNSVN com TortoiseSVN
SVN com TortoiseSVNPaulo Remoli
 
Gerência de Configuração
Gerência de ConfiguraçãoGerência de Configuração
Gerência de ConfiguraçãoWagner Zaparoli
 
[Mini-curso] Sistema de Controle de Versão
[Mini-curso] Sistema de Controle de Versão[Mini-curso] Sistema de Controle de Versão
[Mini-curso] Sistema de Controle de VersãoMarco Rosner
 
Git - Controle de Versão Inteligente
Git - Controle de Versão InteligenteGit - Controle de Versão Inteligente
Git - Controle de Versão InteligenteAdriano Rocha
 

Ähnlich wie SVN guia usuário (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
 
Apresentação controle de versão
Apresentação controle de versãoApresentação controle de versão
Apresentação controle de versão
 
Sistemas de controle de versão
Sistemas de controle de versãoSistemas de controle de versão
Sistemas de controle de versão
 
Svn - grupo de estudos sol7
Svn - grupo de estudos sol7Svn - grupo de estudos sol7
Svn - grupo de estudos sol7
 
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
 
Intervalo técnico Git/SVN
Intervalo técnico Git/SVNIntervalo técnico Git/SVN
Intervalo técnico Git/SVN
 
Controlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e SubversionControlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e Subversion
 
SVN Básico
SVN BásicoSVN Básico
SVN Básico
 
Controle de versão
Controle de versãoControle de versão
Controle de versão
 
Go git - Presentation @Navita
Go git - Presentation @NavitaGo git - Presentation @Navita
Go git - Presentation @Navita
 
SVN com TortoiseSVN
SVN com TortoiseSVNSVN com TortoiseSVN
SVN com TortoiseSVN
 
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
 
Cvs everton
Cvs   evertonCvs   everton
Cvs everton
 
Gerência de Configuração
Gerência de ConfiguraçãoGerência de Configuração
Gerência de Configuração
 
[Mini-curso] Sistema de Controle de Versão
[Mini-curso] Sistema de Controle de Versão[Mini-curso] Sistema de Controle de Versão
[Mini-curso] Sistema de Controle de Versão
 
Ubuntu
UbuntuUbuntu
Ubuntu
 
Git para quem vem do SVN
Git para quem vem do SVNGit para quem vem do SVN
Git para quem vem do SVN
 
Git - Controle de Versão Inteligente
Git - Controle de Versão InteligenteGit - Controle de Versão Inteligente
Git - Controle de Versão Inteligente
 

Mehr von Fabrício Campos

Como ser produtivo? Contando tomates
Como ser produtivo? Contando tomatesComo ser produtivo? Contando tomates
Como ser produtivo? Contando tomatesFabrício Campos
 
Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaFabrício Campos
 
Teste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSTeste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSFabrício Campos
 
Técnicas de modelagem de teste (parte 2)
Técnicas de modelagem de teste (parte 2)Técnicas de modelagem de teste (parte 2)
Técnicas de modelagem de teste (parte 2)Fabrício Campos
 
Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)Fabrício Campos
 
QAMP (Quality Assurance Management Professional)
QAMP (Quality Assurance Management Professional)QAMP (Quality Assurance Management Professional)
QAMP (Quality Assurance Management Professional)Fabrício Campos
 
A Importância do Teste de Software
A Importância do Teste de SoftwareA Importância do Teste de Software
A Importância do Teste de SoftwareFabrício Campos
 

Mehr von Fabrício Campos (9)

Como ser produtivo? Contando tomates
Como ser produtivo? Contando tomatesComo ser produtivo? Contando tomates
Como ser produtivo? Contando tomates
 
Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem prática
 
Teste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSTeste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATS
 
Técnicas de modelagem de teste (parte 2)
Técnicas de modelagem de teste (parte 2)Técnicas de modelagem de teste (parte 2)
Técnicas de modelagem de teste (parte 2)
 
Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)
 
QAMP (Quality Assurance Management Professional)
QAMP (Quality Assurance Management Professional)QAMP (Quality Assurance Management Professional)
QAMP (Quality Assurance Management Professional)
 
A Importância do Teste de Software
A Importância do Teste de SoftwareA Importância do Teste de Software
A Importância do Teste de Software
 
CTFL - BSTQB
CTFL - BSTQBCTFL - BSTQB
CTFL - BSTQB
 
Por que testar?
Por que testar?Por que testar?
Por que testar?
 

SVN guia usuário

  • 1. SVN - Subversion Guia de sobrevivência do usuário Fabrício Ferrari de Campos
  • 3. Agenda • Introdução ao sistema de versionamento; • Apresentação do Subversion (SVN); • Principais comandos; • Exemplos práticos.
  • 4. Objetivo • Introdução ao SVN; • Capacitação para realizar todas as tarefas necessárias para usar o SVN, em um dia normal de trabalho.
  • 5. Sistema de versionamento • É um software com a finalidade de gerenciar diferentes versões no desenvolvimento de qualquer artefato produzido (ex. código fonte); • Pode ser útil tanto para pequenos projetos, quanto para grandes; • O versionamento e controle de versão é tão importante que é até uma das exigências do CMMI.
  • 6. Principais vantagens • Controle do histórico - quem alterou? Quando alterou? Por que alterou? Todas as respostas para essas perguntas o sistema de versionamento nos fornece; • Trabalho em equipe - facilita muito o trabalho no desenvolvimento, além de garantir segurança aos artefatos. Torna-se possível diversas pessoas trabalhem sobre o mesmo conjunto de documentos ao mesmo tempo e mitiga o risco de conflitos de edições; • Marcação e resgate de versões estáveis - a maioria dos sistemas permite marcar onde é que o artefato estava com uma versão estável, podendo ser facilmente resgatado no futuro; • Ramificação de projeto - torna-se possível a divisão do projeto em várias linhas de desenvolvimento, que podem ser trabalhadas paralelamente, sem que uma interfira na outra.
  • 7. O Subversion • O Subversion é um sistema de controle de versão livre e open source; • Seu objetivo é gerenciar arquivos e diretórios, e todas modificações feitas neles ao longo do tempo, fornecendo um sistema centralizado de compartilhamento de informação; • Substituto do CVS.
  • 8. O que é necessário instalar? • SVN Client ▫ O programa cliente de linha de comando. sudo apt-get install svn ▫ Ou o próprio Subversion (já vem com o client) sudo apt-get install subversion
  • 9. Principais comandos • svn help - descreverá a sintaxe, opções, e comportamento do subcomando (exemplo abaixo)
  • 10. Principais comandos • Apenas svn help irá apresentar a lista de comandos disponíveis:
  • 11. Principais comandos • svn import ▫ é o modo rápido para copiar uma árvore de arquivos não versionada em um repositório ( que foi criado pelo administrador do SVN) ▫ ou seja, podemos copiar todos os arquivos do diretório ensinar para o repositório: $ svn import ensinar file:///usr/local/svn/blogs/ensinar -m “Iniciando a brincadeira" Adding ensinar/backup.xml Adding ensinar/app_svn.ppt Adding ensinar/material/svn-book.pdf Committed revision 1.
  • 12. Principais comandos • svn checkout (OU svn co) ▫ cria uma “cópia de trabalho” em sua máquina local, do projeto que você está trabalhando. ▫ iremos copiar os arquivos do SVN para a pasta ensinar $ svn checkout http://192.168.171.145/svn/projetos/ensinar ensinar A trunk/index.php A trunk/conf/build.conf … Checked out revision 42.
  • 13. Principais comandos • svn update (OU svn up) ▫ serve para deixar sua cópia de trabalho em sincronia com a última revisão no repositório. ▫ executando o comando, podemos visualizar quais arquivos foram adicionados e que não estavam na nossa “cópia de trabalho” $ svn update U trunk/images/logo.gif Updated to revision 2.
  • 14. Principais comandos • svn add ▫ serve para adicionar um novo arquivo no repositório ▫ por exemplo, adicionar o arquivo teste.xml na pasta trunk $ svn add ensinar/trunk/teste.xml
  • 15. Principais comandos • svn delete (OU svn del OU svn rm OU svn remove) ▫ serve para deletar um arquivo do repositório ▫ por exemplo, deletar o arquivo index.php da pasta trunk $ svn delete ensinar/trunk/index.php
  • 16. Principais comandos • svn copy (OU svn cp) ▫ serve para fazer uma cópia de um arquivo ▫ por exemplo, podemos fazer uma copia do arquivo logo.gif $ svn copy ensinar/trunk/images/logo.gif /trunk/ensinar/images/logo_default.gif
  • 17. Principais comandos • svn move ▫ serve para mover um arquivo de lugar ▫ por exemplo, podemos mover o arquivo logo.gif para a pasta trunk $ svn move ensinar/trunk/images/logo.gif /ensinar/trunk/logo.gif
  • 18. Principais comandos • svn mkdir ▫ serve para criar uma pasta no repositório ▫ se precisamos criar uma nova pasta chamada docs no trunk, executamos o seguinte comando: $ svn mkdir /ensinar/trunk/docs
  • 19. Principais comandos • svn status (OU svn st) ▫ muito útil para saber todas as alterações de arquivos e diretórios que você fez $ svn status A /trunk/ensinar/images/logo_default.gif # file is scheduled for addition
  • 20. Principais comandos • svn commit (OU svn ci) ▫ finalmente, após você ter realizado todas as suas alterações, chegou a hora de efetivar as mesmas; ▫ e é essa a utilidade do comando commit, ele irá envia todas as suas modificações para o servidor, sendo preciso informar uma mensagem de log, descrevendo sua alteração. $ svn commit -m “Acabando com a brincadeira." Sending /trunk/ensinar/images/logo_default.gif Transmitting file data. Committed revision 43.
  • 21. Saiba mais • SVN BOOK ▫ http://svnbook.red-bean.com/en/1.4/svn-book.pdf
  • 22.
  • 23. A comunidade traduziu! • SVN BOOK PT-BR ▫ http://code.google.com/p/svnbook-pt-br/
  • 24.
  • 25.
  • 26. Bibliografia • SVN BOOK • http://pt.wikipedia.org/wiki/Sistema_de_controle_d e_versão