SVNbásicoUm guia para começar a utilizar o Subversion
O que é o Subversion?Máquina do tempo Software de controle de versões open source/livre que proporciona a capacidade de vários desenvolvedores modificarem e gerenciarem os mesmos arquivos do projeto mesmo estando em máquinas diferentes.Porque uma máquina do tempo?!Pois ao utilizar o Subversion temos cada versão do nosso arquivo gravada ao ser modificada e se algo der errado você pode simplesmente voltar para uma versão anterior.Empresa Júnior de Computação da UnBDIRTI - Diretoria de Tecnologia da Informação
ConceitosRepositórioÉ uma central de armazenamento de dados.É como o servidor que armazena o projeto atual e os arquivos antigos que foram modificados na nova versão.VersionamentoÉ a prática de armazenar as versões anteriores de arquivos modificados além da atual, criando assim uma árvore (revisiontree) na qual os galhos (branchs) são versões diferentes dos arquivos.Cópia local X Cópia de trabalhoA cópia de trabalho será aquela armazenada no servidor. “É a versão atual do projeto”.Cópia local será uma versão da cópia de trabalho que o usuário baixa para o seu próprio HD.Empresa Júnior de Computação da UnBDIRTI - Diretoria de Tecnologia da Informação
ProblemaO que acontece se dois usuários modificam o mesmo arquivo ao mesmo tempo?RespostaA versão do último usuário a enviar o arquivo será a versão final e o trabalho do outro usuário ficará “escondido em uma versão anterior”.Empresa Júnior de Computação da UnBDIRTI - Diretoria de Tecnologia da Informação
O copy-modify-mergeO copy-modify-merge é um modelo de utilizado pelo Subversion para  contornar o problema apresentado no slide anterior.Como funciona:Cada usuário faz uma cópia local da cópia de trabalho.Os usuários então editam apenas a sua cópia local do arquivo.Ao mandar o arquivo para o repositório serão fundidas as cópias de trabalho e cópia local.Além do copy-modify-merge temos o lock-modify-unockmas este modelo possui mais problemas. (Apesar de ser mais apropriado para trabalhar com arquivos binários).Empresa Júnior de Computação da UnBDIRTI - Diretoria de Tecnologia da Informação
SituaçãoEmpresa Júnior de Computação da UnBOs usuários 1 e 2 fazem suas cópias locais do arquivo e trabalham nele. Então “1” grava a sua versão no repositório.Quando “2” for tentar gravar o dele receberá o erro “out-of-date” indicando que o seu arquivo está desatualizado.Cabe então a “2” pedir ao software que faça o “merge” (fundir os arquivos). Como as alterações não se sobrepõem o usuário precisará apenas gravar no servidor esta nova versão que será uma fusão dos arquivos de “1” e “2”.E se os arquivos se sobrepõem?O software indicará conflito e ao fazer o “merge” manterá esta parte do código de ambos os arquivos no arquivo fundido.Cabe aos usuários decidir a versão mais adequada e retirar a outra. (O programa não tem como fazer isso automaticamente).DIRTI - Diretoria de Tecnologia da Informação
Empresa Júnior de Computação da UnBDIRTI - Diretoria de Tecnologia da Informação
Comandos básicosEmpresa Júnior de Computação da UnBCheckout- BaixarO checkout deve ser dado no início do projeto para baixar a cópia de trabalho para sua cópia local.Update - AtualizarO update é utilizado quando a sua cópia está desatualizada (out-of-date). Depois de feito o update será indicado se existem conflitos nos seus arquivos.Merge – FundirCaso o seu arquivo esteja desatualizado você poderá realizar o merge para juntar o seu arquivo com a versão atual da cópia de trabalho.Commit – UparApós realizadas as alterações em sua cópia local tiverem sido feitas você deve enviá-las para o repositório utilizando o commit.DIRTI - Diretoria de Tecnologia da Informação
ClientesTortoiseSVN (W) – fica integrado ao Windows ExplorerRapidSVN (W,L,M) – Possui uma interface própriaSubeclipse(W,L,M) – Integrado a plataforma de desenvolvimento EclipseEmpresa Júnior de Computação da UnBDIRTI - Diretoria de Tecnologia da Informação
Instalando o subeclipseEmpresa Júnior de Computação da UnBO subeclipse é um plugin para adicionar a SVN na IDE multi-linguagens eclipse.Para instalar o subeclipse você deve:Abrir o eclipseIr para Ajuda (help) -> Instalar novo software (Install new software)Em “workwith” você deve selecionar a opção: “Subclipse1.6.x Update Site - http://subclipse.tigris.org/update_1.6.x”Selecionar os pacotes que você deseja (obrigatóriamente o subeclipse)Continuar normalmente com a instalação.*A instalação dos outros softwares mencionados é comum.DIRTI - Diretoria de Tecnologia da Informação
Dúvidas?Empresa Júnior de Computação da UnBRenato Lealrenatoleal@cjr.org.brDiretor de Tecnologia da Informação+55 (61) 9994-2312______________________________CJR - Empresa Júnior de Computação+55 (61) 8447-8868 / 3107-6400www.cjr.org.brDIRTI - Diretoria de Tecnologia da Informação

SVN Básico

  • 1.
    SVNbásicoUm guia paracomeçar a utilizar o Subversion
  • 2.
    O que éo Subversion?Máquina do tempo Software de controle de versões open source/livre que proporciona a capacidade de vários desenvolvedores modificarem e gerenciarem os mesmos arquivos do projeto mesmo estando em máquinas diferentes.Porque uma máquina do tempo?!Pois ao utilizar o Subversion temos cada versão do nosso arquivo gravada ao ser modificada e se algo der errado você pode simplesmente voltar para uma versão anterior.Empresa Júnior de Computação da UnBDIRTI - Diretoria de Tecnologia da Informação
  • 3.
    ConceitosRepositórioÉ uma centralde armazenamento de dados.É como o servidor que armazena o projeto atual e os arquivos antigos que foram modificados na nova versão.VersionamentoÉ a prática de armazenar as versões anteriores de arquivos modificados além da atual, criando assim uma árvore (revisiontree) na qual os galhos (branchs) são versões diferentes dos arquivos.Cópia local X Cópia de trabalhoA cópia de trabalho será aquela armazenada no servidor. “É a versão atual do projeto”.Cópia local será uma versão da cópia de trabalho que o usuário baixa para o seu próprio HD.Empresa Júnior de Computação da UnBDIRTI - Diretoria de Tecnologia da Informação
  • 4.
    ProblemaO que acontecese dois usuários modificam o mesmo arquivo ao mesmo tempo?RespostaA versão do último usuário a enviar o arquivo será a versão final e o trabalho do outro usuário ficará “escondido em uma versão anterior”.Empresa Júnior de Computação da UnBDIRTI - Diretoria de Tecnologia da Informação
  • 5.
    O copy-modify-mergeO copy-modify-mergeé um modelo de utilizado pelo Subversion para contornar o problema apresentado no slide anterior.Como funciona:Cada usuário faz uma cópia local da cópia de trabalho.Os usuários então editam apenas a sua cópia local do arquivo.Ao mandar o arquivo para o repositório serão fundidas as cópias de trabalho e cópia local.Além do copy-modify-merge temos o lock-modify-unockmas este modelo possui mais problemas. (Apesar de ser mais apropriado para trabalhar com arquivos binários).Empresa Júnior de Computação da UnBDIRTI - Diretoria de Tecnologia da Informação
  • 6.
    SituaçãoEmpresa Júnior deComputação da UnBOs usuários 1 e 2 fazem suas cópias locais do arquivo e trabalham nele. Então “1” grava a sua versão no repositório.Quando “2” for tentar gravar o dele receberá o erro “out-of-date” indicando que o seu arquivo está desatualizado.Cabe então a “2” pedir ao software que faça o “merge” (fundir os arquivos). Como as alterações não se sobrepõem o usuário precisará apenas gravar no servidor esta nova versão que será uma fusão dos arquivos de “1” e “2”.E se os arquivos se sobrepõem?O software indicará conflito e ao fazer o “merge” manterá esta parte do código de ambos os arquivos no arquivo fundido.Cabe aos usuários decidir a versão mais adequada e retirar a outra. (O programa não tem como fazer isso automaticamente).DIRTI - Diretoria de Tecnologia da Informação
  • 7.
    Empresa Júnior deComputação da UnBDIRTI - Diretoria de Tecnologia da Informação
  • 8.
    Comandos básicosEmpresa Júniorde Computação da UnBCheckout- BaixarO checkout deve ser dado no início do projeto para baixar a cópia de trabalho para sua cópia local.Update - AtualizarO update é utilizado quando a sua cópia está desatualizada (out-of-date). Depois de feito o update será indicado se existem conflitos nos seus arquivos.Merge – FundirCaso o seu arquivo esteja desatualizado você poderá realizar o merge para juntar o seu arquivo com a versão atual da cópia de trabalho.Commit – UparApós realizadas as alterações em sua cópia local tiverem sido feitas você deve enviá-las para o repositório utilizando o commit.DIRTI - Diretoria de Tecnologia da Informação
  • 9.
    ClientesTortoiseSVN (W) –fica integrado ao Windows ExplorerRapidSVN (W,L,M) – Possui uma interface própriaSubeclipse(W,L,M) – Integrado a plataforma de desenvolvimento EclipseEmpresa Júnior de Computação da UnBDIRTI - Diretoria de Tecnologia da Informação
  • 10.
    Instalando o subeclipseEmpresaJúnior de Computação da UnBO subeclipse é um plugin para adicionar a SVN na IDE multi-linguagens eclipse.Para instalar o subeclipse você deve:Abrir o eclipseIr para Ajuda (help) -> Instalar novo software (Install new software)Em “workwith” você deve selecionar a opção: “Subclipse1.6.x Update Site - http://subclipse.tigris.org/update_1.6.x”Selecionar os pacotes que você deseja (obrigatóriamente o subeclipse)Continuar normalmente com a instalação.*A instalação dos outros softwares mencionados é comum.DIRTI - Diretoria de Tecnologia da Informação
  • 11.
    Dúvidas?Empresa Júnior deComputação da UnBRenato Lealrenatoleal@cjr.org.brDiretor de Tecnologia da Informação+55 (61) 9994-2312______________________________CJR - Empresa Júnior de Computação+55 (61) 8447-8868 / 3107-6400www.cjr.org.brDIRTI - Diretoria de Tecnologia da Informação