Subversion                        Versionamento de Software                     Wanderson Henrique Camargo Rosa           ...
Agenda1   Introdução       Escopo       Dados Pessoais       Objetivos2   Teoria de Versionamento       Controle de Versão...
Introdução   EscopoAgenda1   Introdução       Escopo       Dados Pessoais       Objetivos2   Teoria de Versionamento      ...
Introdução   EscopoEscopoEscopo da Palestra    Nível         Iniciante    Escopo         Desenvolvimento de Software      ...
Introdução   Dados PessoaisAgenda1   Introdução       Escopo       Dados Pessoais       Objetivos2   Teoria de Versionamen...
Introdução   Dados PessoaisInformaçõesDados Pessoais    Bacharelado em Ciência da Computação    Universidade do Vale do Ri...
Introdução   ObjetivosAgenda1   Introdução       Escopo       Dados Pessoais       Objetivos2   Teoria de Versionamento   ...
Introdução   ObjetivosObjetivosObjetivos    Teoria de Versionamento de Software    Criação de Servidor e Utilização do Sub...
Teoria de Versionamento   Controle de VersãoAgenda1   Introdução       Escopo       Dados Pessoais       Objetivos2   Teor...
Teoria de Versionamento   Controle de Versão                          Versionamento de Software                           ...
Teoria de Versionamento   Controle de VersãoTeoria de VersionamentoControle de VersãoUm sistema de controle de versão é o ...
Teoria de Versionamento   Controle de VersãoTeoria de VersionamentoControle de VersãoUm sistema de controle de versão é o ...
Teoria de Versionamento   Termos TécnicosAgenda1   Introdução       Escopo       Dados Pessoais       Objetivos2   Teoria ...
Teoria de Versionamento   Termos TécnicosTermos TécnicosWorking CopyÉ a cópia local de todas as informações que precisamos...
Teoria de Versionamento   Termos TécnicosTermos TécnicosWorking CopyÉ a cópia local de todas as informações que precisamos...
Teoria de Versionamento   Termos TécnicosTermos TécnicosCommitEnvio das alterações feitas na cópia de trabalho para o repo...
Teoria de Versionamento   Termos TécnicosTermos TécnicosCommitEnvio das alterações feitas na cópia de trabalho para o repo...
Teoria de Versionamento   Termos TécnicosEstrutura BásicaTrunkA linha principal de desenvolvimento do projeto, que sempre ...
Teoria de Versionamento   Termos TécnicosEstrutura BásicaTrunkA linha principal de desenvolvimento do projeto, que sempre ...
Teoria de Versionamento   Termos TécnicosEstrutura BásicaTrunkA linha principal de desenvolvimento do projeto, que sempre ...
Teoria de Versionamento   Termos TécnicosPerguntasPerguntaTodos os arquivos de um projeto devem ser versionados?  CAMARGO ...
Teoria de Versionamento   Termos TécnicosPerguntasPerguntaTodos os arquivos de um projeto devem ser versionados?RespostaNã...
Teoria de Versionamento   Termos TécnicosPerguntasPerguntaCada envio de alterações pode receber um texto resumindo as modi...
Teoria de Versionamento   Termos TécnicosPerguntasPerguntaCada envio de alterações pode receber um texto resumindo as modi...
Utilização do Versionamento   Criação do ServidorAgenda1   Introdução       Escopo       Dados Pessoais       Objetivos2  ...
Utilização do Versionamento   Criação do ServidorInstalação e ClientesInstalação    Ubuntu         $ sudo apt-get install ...
Utilização do Versionamento   Criação do ServidorServidorCriação do Servidor$ svnadmin create servername  CAMARGO (UNISINO...
Utilização do Versionamento   Criação do ServidorServidorCriação do Servidor$ svnadmin create servernameAutenticaçãoArquiv...
Utilização do Versionamento   Criação do ServidorServidorCriação do Servidor$ svnadmin create servernameAutenticaçãoArquiv...
Utilização do Versionamento   Criação do ServidorServidorCriação do Servidor$ svnadmin create servernameAutenticaçãoArquiv...
Utilização do Versionamento   Criação do ServidorCriação do ServidorAcesso Cliente$ svn checkout svn://localhost/ serverna...
Utilização do Versionamento   Comandos BásicosAgenda1   Introdução       Escopo       Dados Pessoais       Objetivos2   Te...
Utilização do Versionamento   Comandos BásicosAdicionar Arquivos ao Versionamento$ svn add lenameEnviar Modicações ao Repo...
Utilização do Versionamento   AplicabilidadesAgenda1   Introdução       Escopo       Dados Pessoais       Objetivos2   Teo...
Utilização do Versionamento   AplicabilidadesAplicabilidades    Patches   de Software    Estudo de Modicações Recentes    ...
Utilização do Versionamento   AplicabilidadesReferências   Ben Collins-Sussman.   Version Control with Subversion.   TBA, ...
Utilização do Versionamento   Aplicabilidades                                  Subversion                        Versionam...
Próximos SlideShares
Carregando em…5
×

Versionamento de Software com Subversion - Wanderson Henrique Camargo Rosa

3.491 visualizações

Publicada em

Palestrante: Wanderson Henrique Camargo Rosa – Canoas/ RS
Currículo: Programador PHP Zend Framework pela Prefeitura Municipal de Gravataí. Curso de Ciência da Computação pela Universidade do Vale do Rio dos Sinos (UNISINOS).
Resumo: Informações sobre o que é um sistema de versionamento de software e como utilizá-lo corretamente. Apresentação da ferramenta Subversion, como criar um Serviço e utilizar o Cliente.

0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
3.491
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
44
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Versionamento de Software com Subversion - Wanderson Henrique Camargo Rosa

  1. 1. Subversion Versionamento de Software Wanderson Henrique Camargo Rosa Universidade do Vale do Rio dos Sinos UNISINOS 6 de dezembro de 2010CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 1 / 27
  2. 2. Agenda1 Introdução Escopo Dados Pessoais Objetivos2 Teoria de Versionamento Controle de Versão Termos Técnicos3 Utilização do Versionamento Criação do Servidor Comandos Básicos Aplicabilidades CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 2 / 27
  3. 3. Introdução EscopoAgenda1 Introdução Escopo Dados Pessoais Objetivos2 Teoria de Versionamento Controle de Versão Termos Técnicos3 Utilização do Versionamento Criação do Servidor Comandos Básicos Aplicabilidades CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 3 / 27
  4. 4. Introdução EscopoEscopoEscopo da Palestra Nível Iniciante Escopo Desenvolvimento de Software Versionamento de Software Pré-Requisitos Nenhum CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 4 / 27
  5. 5. Introdução Dados PessoaisAgenda1 Introdução Escopo Dados Pessoais Objetivos2 Teoria de Versionamento Controle de Versão Termos Técnicos3 Utilização do Versionamento Criação do Servidor Comandos Básicos Aplicabilidades CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 5 / 27
  6. 6. Introdução Dados PessoaisInformaçõesDados Pessoais Bacharelado em Ciência da Computação Universidade do Vale do Rio dos Sinos UNISINOS Desenvolvedor PHP Zend Framework Prefeitura Municipal de Gravataí CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 6 / 27
  7. 7. Introdução ObjetivosAgenda1 Introdução Escopo Dados Pessoais Objetivos2 Teoria de Versionamento Controle de Versão Termos Técnicos3 Utilização do Versionamento Criação do Servidor Comandos Básicos Aplicabilidades CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 7 / 27
  8. 8. Introdução ObjetivosObjetivosObjetivos Teoria de Versionamento de Software Criação de Servidor e Utilização do Subversion Aplicação em Projetos CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 8 / 27
  9. 9. Teoria de Versionamento Controle de VersãoAgenda1 Introdução Escopo Dados Pessoais Objetivos2 Teoria de Versionamento Controle de Versão Termos Técnicos3 Utilização do Versionamento Criação do Servidor Comandos Básicos Aplicabilidades CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 9 / 27
  10. 10. Teoria de Versionamento Controle de Versão Versionamento de Software cp projeto projeto_bkp mv projeto_bkp projeto_anteontem cp projeto projeto_tres_anteontemCAMARGO (UNISINOS) SVN 6 de dezembro de 2010 10 / 27
  11. 11. Teoria de Versionamento Controle de VersãoTeoria de VersionamentoControle de VersãoUm sistema de controle de versão é o local para armazenamento de todasas várias revisões de conteúdo desenvolvido enquanto criamos umaaplicação[2]. Cada revisão recebe um número que representa o estado docódigo em determinado momento. Além disso, cada revisão recebe umamensagem do usuário responsável informando a causa das modicações. CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 11 / 27
  12. 12. Teoria de Versionamento Controle de VersãoTeoria de VersionamentoControle de VersãoUm sistema de controle de versão é o local para armazenamento de todasas várias revisões de conteúdo desenvolvido enquanto criamos umaaplicação[2]. Cada revisão recebe um número que representa o estado docódigo em determinado momento. Além disso, cada revisão recebe umamensagem do usuário responsável informando a causa das modicações.Trabalho do VersionadorO controle de versão não somente armazena a cópia atual dos arquivos,mas controla as alterações já enviadas. Podemos assim, solicitar umaversão de arquivo especíca ou efetuar uma cópia exata do documento háduas semanas. O servidor de controle de versões recebe o nome derepositório. CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 11 / 27
  13. 13. Teoria de Versionamento Termos TécnicosAgenda1 Introdução Escopo Dados Pessoais Objetivos2 Teoria de Versionamento Controle de Versão Termos Técnicos3 Utilização do Versionamento Criação do Servidor Comandos Básicos Aplicabilidades CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 12 / 27
  14. 14. Teoria de Versionamento Termos TécnicosTermos TécnicosWorking CopyÉ a cópia local de todas as informações que precisamos do repositório paratrabalhar em nossa parte do projeto. A cópia de trabalho recebe asmodicações do projeto, que não são salvas enquanto não são enviadas aorepositório. Ela recebe atualizações e modicações de outros colaboradoresdo projeto[2]. CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 13 / 27
  15. 15. Teoria de Versionamento Termos TécnicosTermos TécnicosWorking CopyÉ a cópia local de todas as informações que precisamos do repositório paratrabalhar em nossa parte do projeto. A cópia de trabalho recebe asmodicações do projeto, que não são salvas enquanto não são enviadas aorepositório. Ela recebe atualizações e modicações de outros colaboradoresdo projeto[2].CheckoutO processo de checkout garante a criação de uma cópia de trabalho com asúltimas revisões dos arquivos solicitados e que a estrutura de diretórioscriada localmente será idêntica a que está no repositório[2]. CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 13 / 27
  16. 16. Teoria de Versionamento Termos TécnicosTermos TécnicosCommitEnvio das alterações feitas na cópia de trabalho para o repositório. CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 14 / 27
  17. 17. Teoria de Versionamento Termos TécnicosTermos TécnicosCommitEnvio das alterações feitas na cópia de trabalho para o repositório.UpdateUma atualização é efetuada para solicitar as últimas revisões que estão norepositório. Se no servidor existirem novas atualizações de código queacabamos de enviar, o sistema de versionamento prioriza as suas alterações. CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 14 / 27
  18. 18. Teoria de Versionamento Termos TécnicosEstrutura BásicaTrunkA linha principal de desenvolvimento do projeto, que sempre estará emconstante modicações[2]. Contém códigos ainda não testadose que nãoestão prontos. CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 15 / 27
  19. 19. Teoria de Versionamento Termos TécnicosEstrutura BásicaTrunkA linha principal de desenvolvimento do projeto, que sempre estará emconstante modicações[2]. Contém códigos ainda não testadose que nãoestão prontos.TagsSão nomes informados para números de revisões especícas. Ao invés desolicitarmos a revisão r563, podemos solicitar a revisão beta2. CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 15 / 27
  20. 20. Teoria de Versionamento Termos TécnicosEstrutura BásicaTrunkA linha principal de desenvolvimento do projeto, que sempre estará emconstante modicações[2]. Contém códigos ainda não testadose que nãoestão prontos.TagsSão nomes informados para números de revisões especícas. Ao invés desolicitarmos a revisão r563, podemos solicitar a revisão beta2.BranchesLinha de desenvolvimento que existe independentemente de outras linhas,mas que ainda compartilha uma história em comum[1]. Sempre inicia comouma cópia de uma revisão qualquer. CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 15 / 27
  21. 21. Teoria de Versionamento Termos TécnicosPerguntasPerguntaTodos os arquivos de um projeto devem ser versionados? CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 16 / 27
  22. 22. Teoria de Versionamento Termos TécnicosPerguntasPerguntaTodos os arquivos de um projeto devem ser versionados?RespostaNão. Somente devem ser versionados arquivos de código-fonte. Arquivosque podem ser gerados a partir de outros não devem ser versionados. Imagens Temporárias (Captchas) Documentação Externa de Código (JavaDocs) Serialização de Classes em Cache (Zend Cache) CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 16 / 27
  23. 23. Teoria de Versionamento Termos TécnicosPerguntasPerguntaCada envio de alterações pode receber um texto resumindo as modicaçõesdo usuário. O que deve ser escrito neste texto? CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 17 / 27
  24. 24. Teoria de Versionamento Termos TécnicosPerguntasPerguntaCada envio de alterações pode receber um texto resumindo as modicaçõesdo usuário. O que deve ser escrito neste texto?RespostaDeve ser escrito na mensagem o porquê das modicações e não o que foimodicado. Exemplo: Esta versão recebeu modicações de autenticaçãopois estávamos com erro de acesso ao banco de dados quando o usuárionão digitava o seu nome. CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 17 / 27
  25. 25. Utilização do Versionamento Criação do ServidorAgenda1 Introdução Escopo Dados Pessoais Objetivos2 Teoria de Versionamento Controle de Versão Termos Técnicos3 Utilização do Versionamento Criação do Servidor Comandos Básicos Aplicabilidades CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 18 / 27
  26. 26. Utilização do Versionamento Criação do ServidorInstalação e ClientesInstalação Ubuntu $ sudo apt-get install subversion Fedora # yum install subversion Clientes Grácos Windows TortoiseSVN http://tortoisesvn.tigris.org/ Eclipse Subclipse http://subclipse.tigris.org/ CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 19 / 27
  27. 27. Utilização do Versionamento Criação do ServidorServidorCriação do Servidor$ svnadmin create servername CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 20 / 27
  28. 28. Utilização do Versionamento Criação do ServidorServidorCriação do Servidor$ svnadmin create servernameAutenticaçãoArquivo: servername/conf/svnserve.confLinha: anon-access = readLinha: auth-access = writeLinha: password-db = passwd CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 20 / 27
  29. 29. Utilização do Versionamento Criação do ServidorServidorCriação do Servidor$ svnadmin create servernameAutenticaçãoArquivo: servername/conf/svnserve.confLinha: anon-access = readLinha: auth-access = writeLinha: password-db = passwdInicialização do Serviço$ svnserve -r servername -d CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 20 / 27
  30. 30. Utilização do Versionamento Criação do ServidorServidorCriação do Servidor$ svnadmin create servernameAutenticaçãoArquivo: servername/conf/svnserve.confLinha: anon-access = readLinha: auth-access = writeLinha: password-db = passwdInicialização do Serviço$ svnserve -r servername -d CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 20 / 27
  31. 31. Utilização do Versionamento Criação do ServidorCriação do ServidorAcesso Cliente$ svn checkout svn://localhost/ servernameEstruturação Inicial$ cd servername$ svn mkdir trunk tags branches$ svn commit -m Estrutura Inicial de Repositório CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 21 / 27
  32. 32. Utilização do Versionamento Comandos BásicosAgenda1 Introdução Escopo Dados Pessoais Objetivos2 Teoria de Versionamento Controle de Versão Termos Técnicos3 Utilização do Versionamento Criação do Servidor Comandos Básicos Aplicabilidades CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 22 / 27
  33. 33. Utilização do Versionamento Comandos BásicosAdicionar Arquivos ao Versionamento$ svn add lenameEnviar Modicações ao Repositório$ svn commit -m Mensagem para RelatórioAtualizar Modicações Recentes$ svn updateAtualizar para Revisão n do Repositório$ svn update -rnResolver Conitos entre Revisões$ svn resolve lenameDiferença entre Modicações e Revisão Atual$ svn di CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 23 / 27
  34. 34. Utilização do Versionamento AplicabilidadesAgenda1 Introdução Escopo Dados Pessoais Objetivos2 Teoria de Versionamento Controle de Versão Termos Técnicos3 Utilização do Versionamento Criação do Servidor Comandos Básicos Aplicabilidades CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 24 / 27
  35. 35. Utilização do Versionamento AplicabilidadesAplicabilidades Patches de Software Estudo de Modicações Recentes Controle Completo do Projeto Trabalho Concorrente entre Pessoas Instalação de Módulos no Apache Utilização de Repositórios Online Google Code SourceForge CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 25 / 27
  36. 36. Utilização do Versionamento AplicabilidadesReferências Ben Collins-Sussman. Version Control with Subversion. TBA, compiled from r2866 edition, 2007. Mike Mason. Pragmatic Version Control Using Subversion. The Pragmatic Bookshelf. The Pragmatic Programmers LLC., 1st edition, February 2005. CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 26 / 27
  37. 37. Utilização do Versionamento Aplicabilidades Subversion Versionamento de Software Wanderson Henrique Camargo Rosa Universidade do Vale do Rio dos Sinos UNISINOS 6 de dezembro de 2010CAMARGO (UNISINOS) SVN 6 de dezembro de 2010 27 / 27

×