Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

SVN no Desenvolvimento de Software

1,330 views

Published on

Slides do minicurso "SVN no Desenvolvimento de Software" ministrado na "III Semana Acadêmica da FACOMP" no dia 8 de novembro de 2013.

Published in: Technology
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

SVN no Desenvolvimento de Software

  1. 1. Universidade Federal do Pará III Semana Acadêmica da FACOMP Centro Acadêmico de Ciência da Computação Utilizando SVN no Desenvolvimento de Software Manoel Afonso Filho manoel.lima@icen.ufpa.br 8 de Novembro de 2013
  2. 2. Ementa ● Introdução ● Configuração do Projeto ● Principais Comandos ● Incorporação no Processo de Desenvolvimento ● Branching, Merging, Tagging ● Resolução de Conflitos ● Configuração de um Servidor SVN ● Outros Softwares de Controle de Versão
  3. 3. Introdução ● O desenvolvimento de software necessita de um rastreamento das mudanças feitas. ● ● ● Quando foi alterado? ● ● O que foi alterado? Quem alterou? Vários desenvolvedores trabalhando ao mesmo tempo. Documentação, arquivos de configuração, código-fonte.
  4. 4. Introdução ● ● Subversion é um sistema de controle de versões bastante popular. É um sistema centralizado. ● ● ● Um servidor armazena os arquivos e permite o trabalho colaborativo. Armazena informações de diretórios e arquivos. Multiplataforma
  5. 5. Introdução ● Alguns serviços de hospedagem SVN: ● Google Code ● Assembla ● RiouxSVN
  6. 6. Introdução ● Para sistemas Windows, podemos usar o cliente TortoiseSVN. http://tortoisesvn.net/downloads.html ● Para sistemas Linux, podemos usar a versão em linha de comando, embora existam vários clientes gráficos. sudo apt-get install subversion
  7. 7. Configuração do Projeto ● ● ● ● Criação de um repositório local Linux: $mkdir -p ~/MinicursoSVN/repos $svnadmin create ~/MinicursoSVN/repos/ Windows: TortoiseSVN > Criar repositório aqui A URL do nosso repositório local é: file:///home/usuario/MinicursoSVN/repos/
  8. 8. Configuração do Projeto ● Diretório trunk: ● ● Diretório tags: ● ● É onde as principais atividades de desenvolvimento ocorrem. Geralmente é neste diretório em que fazemos o check-out. Armazena snapshots do projeto. Exemplo: Qual código pode ir para a release. Diretório branches: ● São as linhas de desenvolvimento. Exemplo: Criar uma branch para fazer uma release. A branch foca na estabilidade enquanto que a trunk continua a desenvolver novos recursos.
  9. 9. Configuração do Projeto ● Criação do diretório base para o projeto $svn mkdir -m "Criação do diretório base." file:///<URL_BASE>/Exemplo
  10. 10. Configuração do Projeto ● Criação do diretório base para o projeto $svn mkdir -m "Criação do diretório base." file:///<URL_BASE>/Exemplo $svn mkdir -m "Configuração Inicial" file:///<URL_BASE>/Exemplo/trunk
  11. 11. Configuração do Projeto ● Criação do diretório base para o projeto $svn mkdir -m "Criação do diretório base." file:///<URL_BASE>/Exemplo $svn mkdir -m "Configuração Inicial" file:///<URL_BASE>/Exemplo/trunk $svn mkdir -m "Configuração Inicial" file:///<URL_BASE>/Exemplo/tags
  12. 12. Configuração do Projeto ● Criação do diretório base para o projeto $svn mkdir -m "Criação do diretório base." file:///<URL_BASE>/Exemplo $svn mkdir -m "Configuração Inicial" file:///<URL_BASE>/Exemplo/trunk $svn mkdir -m "Configuração Inicial" file:///<URL_BASE>/Exemplo/tags $svn mkdir -m "Configuração Inicial" file:///<URL_BASE>/Exemplo/branches
  13. 13. Configuração do Projeto ● Criação do diretório base para o projeto (TortoiseSVN) ● TortoiseSVN > Repo-browser ● Digitar a URL do repositório ● Criar as pastas necessárias para o projeto
  14. 14. Configuração do Projeto ● Importando para o repositório $cd desenv/projeto-importar $svn import -m "Import Inicial" <URL_BASE>/Exemplo/trunk
  15. 15. Configuração do Projeto ● Importando para o repositório (TortoiseSVN) ● Clique direito no diretório que se quer importar ● TortoiseSVN > Importar... ● Digitar a <URL_BASE>/Exemplo/trunk ● Digitar a mensagem
  16. 16. Principais Comandos ● Check-out ● ● ● ● Antes de alterar o código, é preciso obter uma cópia dos arquivos do repositório. Esse é o processo de check-out. Os arquivos ficarão armazenados em um diretório local chamado de cópia de trabalho. Em geral, fazemos o check-out do trunk. $svn checkout <URL_BASE>/projeto/trunk projeto
  17. 17. Principais Comandos ● Commit (Check in) ● ● Após termos feito as mudanças no código, faremos o commit. Disponibiliza as nossas mudanças para todos no repositório. $svn commit -m "Commit inicial"
  18. 18. Principais Comandos ● Update ● ● ● Quando há vários desenvolvedores no mesmo projeto, todos estarão fazendo seus commits no repositório. O comando update obtém essas mudanças para a nossa cópia de trabalho. Durante o update, o SVN informa o que está sendo alterado na nossa cópia de trabalho. – – Arquivos adicionados, removidos e atualizados Arquivos cujo novo conteúdo foi incorporado à versão local $svn update
  19. 19. Principais Comandos ● Adicionando arquivos e diretórios ● Novos arquivos/diretórios não são enviados automaticamente para o repositório. ● Precisamos adicioná-los ao controle de versão. ● Serão enviados ao repositório no próximo commit. $svn add <arquivos>
  20. 20. Principais Comandos ● Removendo arquivos e diretórios ● ● ● Similar a adicionar arquivos. Se quisermos apagar um arquivo/diretório, primeiro o marcamos para remoção. No próximo commit a remoção é refletida no servidor. $svn delete <arquivos>
  21. 21. Principais Comandos ● Reverter mudanças da cópia de trabalho ● ● Restaura a cópia de trabalho para como ela estava quando foi realizado o último check-out ou update. Reverter não obtém as últimas alterações do repositório; update faz isso. $svn revert <aquivo> $svn revert -R <diretório> $svn revert -R . Projeto inteiro Arquivos e diretórios específicos
  22. 22. Incorporação no Processo de Desenvolvimento ● Check-out de um projeto
  23. 23. Incorporação no Processo de Desenvolvimento ● Check-out de um projeto
  24. 24. Incorporação no Processo de Desenvolvimento ● Check-out de um projeto
  25. 25. Incorporação no Processo de Desenvolvimento ● Check-out de um projeto
  26. 26. Incorporação no Processo de Desenvolvimento ● Commit
  27. 27. Incorporação no Processo de Desenvolvimento ● Ignorando arquivos e diretórios
  28. 28. Branching, Merging, Tagging ● Criando uma branch ● ● Os nomes das branchs podem conter qualquer caractere que um diretório possa ter. Mas, em geral, se usa nomes alfanuméricos. Podemos usar uma branch com o nome RB (Release Branch) seguido do número de versão. $svn copy -m "Criando branch" <URL_BASE>/trunk <URL_BASE>/branches/RB_1.0
  29. 29. Branching, Merging, Tagging ● Merging: ● Serve para inserir as correções feitas em alguma branch no trunk. $svn merge -c 16 <BASE_URL>/trunk $svn commit -m "Juntou r16 do trunk".
  30. 30. Branching, Merging, Tagging ● Tagging: ● ● Podemos utilizar as tags para saber quais partes de código compõem uma release. Por isso, são apenas leitura (read-only). Não se deve fazer commits numa tag. $svn update $svn copy . <BASE_URL>/tags/REL_1.0.0 -m "Criando tag R1.0.0"
  31. 31. Resolução de Conflitos ● ● ● Ocorre quando duas pessoas alteram a mesma parte do arquivo. Conflitos devem ser raros pois indicam que mais de uma pessoa está trabalhando na mesma coisa. Caso, ao fazer update ocorra um conflito, o SVN nos dá várias opções de resolução.
  32. 32. Resolução de Conflitos ● ● ● ● ● ● P: Postergar o conserto do conflito. Os arquivos são salvos com os marcadores de conflitos (sequências de <<< e >>>). Df: Exibe um diff de todas as mudanças no arquivo. E: Edita o arquivo em um editor. Manualmente encontra e resolve os conflitos. R: Marca como resolvido, aceitando todas as edições que fizemos. Mf: "My File". Ignora a versão do repositório e usa a nossa. Tf: "Their File". Ignora as nossas mudanças e usa a do repositório.
  33. 33. Configuração de um Servidor SVN ● ● Em sistemas Linux, utiliza-se o servidor Apache com os módulos do Subversion. Em sistemas Windows há disponível o servidor fornecido pela CollabNet. Disponível em: http://www.collab.net/downloads/subversion ● Também é possível utilizar hospedagem de terceiros, como Google Code, RiouxSVN, Assembla, etc. ● Alguns são gratuitos, outros requerem que o código-fonte seja aberto, etc.
  34. 34. Outros Softwares de Controle de Versão ● Git: ● ● ● ● Funciona localmente, por padrão Git armazena estado, história e integridade do código fonte, enquanto que SVN armazena apenas estado. Algumas operações são mais velozes no Git do que no SVN. Possui uma camada criptográfica para verificar a integridade pelo repositório.
  35. 35. Outros Softwares de Controle de Versão ● GNU Bazaar: ● ● ● ● ● Pode ser usado por um único desenvolvedor trabalhando em múltiplas branches de conteúdo local, ou por equipes colaborando pela rede. Multiplataforma. Eficiente em grandes quantidades de armazenamento e velocidade. Integrado ao Launchpad (forncedor de pacotes para o Ubuntu). Extensível por meio de plugins.
  36. 36. Leitura Recomendada ● Pragmatic Guide to Subversion. Mike Mason. 2010. Pragmatic Programmers.
  37. 37. OBRIGADO!

×