SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

CD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdfCD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdfKnoldus Inc.
 
Git and Github slides.pdf
Git and Github slides.pdfGit and Github slides.pdf
Git and Github slides.pdfTilton2
 
CI/CD for React Native
CI/CD for React NativeCI/CD for React Native
CI/CD for React NativeJoao Marins
 
Introduction to Kubernetes with demo
Introduction to Kubernetes with demoIntroduction to Kubernetes with demo
Introduction to Kubernetes with demoOpsta
 
ArgoCD Meetup PPT final.pdf
ArgoCD Meetup PPT final.pdfArgoCD Meetup PPT final.pdf
ArgoCD Meetup PPT final.pdfamanmakwana3
 
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
 
Gitops: the kubernetes way
Gitops: the kubernetes wayGitops: the kubernetes way
Gitops: the kubernetes waysparkfabrik
 
GitOps 101 Presentation.pdf
GitOps 101 Presentation.pdfGitOps 101 Presentation.pdf
GitOps 101 Presentation.pdfssuser31375f
 
Docker 基礎介紹與實戰
Docker 基礎介紹與實戰Docker 基礎介紹與實戰
Docker 基礎介紹與實戰Bo-Yi Wu
 
Continuous Delivery in the Cloud with Bitbucket Pipelines
Continuous Delivery in the Cloud with Bitbucket PipelinesContinuous Delivery in the Cloud with Bitbucket Pipelines
Continuous Delivery in the Cloud with Bitbucket PipelinesAtlassian
 
GitOps with ArgoCD
GitOps with ArgoCDGitOps with ArgoCD
GitOps with ArgoCDCloudOps2005
 
CNTUG x SDN Meetup #33 Talk 1: 從 Cilium 認識 cgroup ebpf - Ruian
CNTUG x SDN Meetup #33  Talk 1: 從 Cilium 認識 cgroup ebpf - RuianCNTUG x SDN Meetup #33  Talk 1: 從 Cilium 認識 cgroup ebpf - Ruian
CNTUG x SDN Meetup #33 Talk 1: 從 Cilium 認識 cgroup ebpf - RuianHanLing Shen
 
Build Low-Latency Applications in Rust on ScyllaDB
Build Low-Latency Applications in Rust on ScyllaDBBuild Low-Latency Applications in Rust on ScyllaDB
Build Low-Latency Applications in Rust on ScyllaDBScyllaDB
 
Kubernetes Docker Container Implementation Ppt PowerPoint Presentation Slide ...
Kubernetes Docker Container Implementation Ppt PowerPoint Presentation Slide ...Kubernetes Docker Container Implementation Ppt PowerPoint Presentation Slide ...
Kubernetes Docker Container Implementation Ppt PowerPoint Presentation Slide ...SlideTeam
 
Docker: From Zero to Hero
Docker: From Zero to HeroDocker: From Zero to Hero
Docker: From Zero to Herofazalraja
 
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...Simplilearn
 
Major Container Platform Comparison
Major Container Platform ComparisonMajor Container Platform Comparison
Major Container Platform Comparisonindu Yadav
 

Tendances (20)

CD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdfCD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdf
 
Advanced Git
Advanced GitAdvanced Git
Advanced Git
 
Git and Github slides.pdf
Git and Github slides.pdfGit and Github slides.pdf
Git and Github slides.pdf
 
CI/CD for React Native
CI/CD for React NativeCI/CD for React Native
CI/CD for React Native
 
Introduction to Kubernetes with demo
Introduction to Kubernetes with demoIntroduction to Kubernetes with demo
Introduction to Kubernetes with demo
 
ArgoCD Meetup PPT final.pdf
ArgoCD Meetup PPT final.pdfArgoCD Meetup PPT final.pdf
ArgoCD Meetup PPT final.pdf
 
Azure DevOps - Version Controlling with Git
Azure DevOps - Version Controlling with GitAzure DevOps - Version Controlling with Git
Azure DevOps - Version Controlling with Git
 
Gitops: the kubernetes way
Gitops: the kubernetes wayGitops: the kubernetes way
Gitops: the kubernetes way
 
GitOps 101 Presentation.pdf
GitOps 101 Presentation.pdfGitOps 101 Presentation.pdf
GitOps 101 Presentation.pdf
 
Docker 基礎介紹與實戰
Docker 基礎介紹與實戰Docker 基礎介紹與實戰
Docker 基礎介紹與實戰
 
Continuous Delivery in the Cloud with Bitbucket Pipelines
Continuous Delivery in the Cloud with Bitbucket PipelinesContinuous Delivery in the Cloud with Bitbucket Pipelines
Continuous Delivery in the Cloud with Bitbucket Pipelines
 
"DevOps > CI+CD "
"DevOps > CI+CD ""DevOps > CI+CD "
"DevOps > CI+CD "
 
GitOps with ArgoCD
GitOps with ArgoCDGitOps with ArgoCD
GitOps with ArgoCD
 
Devops insights
Devops insightsDevops insights
Devops insights
 
CNTUG x SDN Meetup #33 Talk 1: 從 Cilium 認識 cgroup ebpf - Ruian
CNTUG x SDN Meetup #33  Talk 1: 從 Cilium 認識 cgroup ebpf - RuianCNTUG x SDN Meetup #33  Talk 1: 從 Cilium 認識 cgroup ebpf - Ruian
CNTUG x SDN Meetup #33 Talk 1: 從 Cilium 認識 cgroup ebpf - Ruian
 
Build Low-Latency Applications in Rust on ScyllaDB
Build Low-Latency Applications in Rust on ScyllaDBBuild Low-Latency Applications in Rust on ScyllaDB
Build Low-Latency Applications in Rust on ScyllaDB
 
Kubernetes Docker Container Implementation Ppt PowerPoint Presentation Slide ...
Kubernetes Docker Container Implementation Ppt PowerPoint Presentation Slide ...Kubernetes Docker Container Implementation Ppt PowerPoint Presentation Slide ...
Kubernetes Docker Container Implementation Ppt PowerPoint Presentation Slide ...
 
Docker: From Zero to Hero
Docker: From Zero to HeroDocker: From Zero to Hero
Docker: From Zero to Hero
 
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
 
Major Container Platform Comparison
Major Container Platform ComparisonMajor Container Platform Comparison
Major Container Platform Comparison
 

En vedette

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
 

En vedette (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
 

Similaire à SVN - Subversion: Guia de sobrevivência do 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
 

Similaire à SVN - Subversion: Guia de sobrevivência do 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
 

Plus de 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
 

Plus de 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?
 

Dernier

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 

Dernier (6)

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 

SVN - Subversion: Guia de sobrevivência do 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