Controle de versões com o Subversion

4,387 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,387
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Controle de versões com o Subversion

  1. 1. Frederico F. Siena Soluções em Sof t w are Liv re : (43) 9992-8498 : kardeco@y ahoo.comSubvers on Controle de versões Pró-Saúde Profissionais Associados Projeto para a implantação de sistema de controle de versões, que visa o gerenciamento e controle de projetos CAD. Londrina – Julho/2007
  2. 2. Licença de Uso   http://creativecommons.org/licenses/disclaimer-popup?lang=pt http://creativecommons.org/licenses/by-nc-sa/2.5/br/legalcode
  3. 3. Sumário1 Introdução.........................................................................................................................................4 1.1 Estrutura de um projeto SVN....................................................................................................52 O que o subversion não é..................................................................................................................63 Terminologias...................................................................................................................................74 Características...................................................................................................................................85 Boas práticas.....................................................................................................................................96 Políticas de versionamento............................................................................................................. 10 6.1 Lock-Modify-Unlock (Travar-Modificar-Destravar)............................................................. 11 6.2 Copy-Modify-Merge (Copiar-Modificar-Unir)...................................................................... 12 6.3 Análise.................................................................................................................................... 13 6.4 O padrão do Subversion..........................................................................................................137 Ferramenta de gerenciamento.........................................................................................................14 7.1 Interface.................................................................................................................................. 148 Ferramenta de manipulação............................................................................................................28 8.1 Instalando as ferramentas........................................................................................................28 8.1.1 Identificando a plataforma.............................................................................................. 29 8.1.2 Instalando........................................................................................................................ 29 8.1.3 Ajustes finais...................................................................................................................30 8.2 Conhecendo a ferramenta....................................................................................................... 31 8.2.1 Ícones de identificação....................................................................................................31 8.2.2 Menus de contexto.......................................................................................................... 32 8.2.3 Criando um novo projeto em um repositório existente...................................................34 8.2.4 Baixando um projeto de um repositório já existente.......................................................35
  4. 4. Controle de versões com o Subversion 1 Introdução Sem entrar em detalhes muito técnicos, o funcionamento do Subversion se dá por meio daimportação dos arquivos de um projeto para um repositório de arquivos, sendo que as demaisoperações consistem da transferência de arquivos entre o servidor que abriga o repositório e ocomputador cliente. Dessa forma, assim que o projeto for importado (Import – primeira ação apósa criação do projeto), você poderá iniciar a transferência dos arquivos armazenados no repositóriopara a área de trabalho (Checkout – segunda ação após a criação do projeto) e realizar asmodificações necessárias. Tão logo essas modificações sejam concluídas, você deverá realizar aentrega (Commit – submeter os arquivos adicionados) dos arquivos a fim de submeter asmodificações realizadas sob o controle de versões. Você poderá realizar a transferência dosarquivos armazenados no repositório que foram modificados para a sua área de trabalho. Por último,você poderá, ainda, exportar (Export – consiste em obter um ou mais arquivos versionados para aárea de trabalho, porém este não mais pertencerá ao projeto) uma liberação de um projeto a serentregue ao cliente sem os arquivos e diretórios de controle criados automaticamente peloSubversion, como pode ser visto no Desenho 1.      Desenho 1: Principais operações realizadas pelo Subversion 1 Iniciar o processo de versionamento com a importação de um arquivo; 2 Atualiza sua cópia de trabalho com os arquivos do servidor; 3 Realiza modificações na cópia local 3.1 Examina modificações; 3.2 Salva suas modificações no servidor; 4 Sincroniza o trabalho existente no repositório realizado por outros, com o trabalho em sua área de trabalho; 5 Exportação de um ou mais arquivos para entrega ao cliente. O sistema de controle de versão rastreia e controla todos os artefatos do projeto e dessemodo consegue coordenar o trabalho paralelo de colaboradores através das seguintesfuncionalidades: ● Mantém e disponibiliza cada versão já produzida de cada item do projeto; ● Possui mecanismos para gerenciar diferentes ramos de desenvolvimento, possibilitando aPró-Saúde Profissionais Associados Página 4
  5. 5. Controle de versões com o Subversion existência de diferentes versões ao mesmo tempo; ● Estabelece uma política de sincronização de mudanças que evita a sobreposição de mudanças; ● Fornece um histórico completo de alterações sobre cada item do projeto. Todos os arquivos e diretórios que compõem um projeto ficam sob a responsabilidade dosistema de controle de versão num local denominado de repositório. O repositório registra cadaalteração realizada em cada arquivo e diretório controlado. À medida que o projeto evolui, o repositório passa a guardar múltiplas versões dos arquivosque compõem o projeto. Essas múltiplas versões são organizadas em revisões. Uma revisãofunciona como uma "foto" de todos os arquivos do projeto em um determinado momento do tempo.As "fotos" antigas são mantidas e podem ser recuperadas e analisadas a qualquer momento. Para economizar espaço, apenas as diferenças entre as revisões costumam ser armazenadasno repositório. Quando se deseja recuperar determinado arquivo, as diferenças são analisadas e oarquivo é remontado de acordo com a revisão desejada. Mesmo que não haja alteração em umarquivo entre uma revisão e outra, o número da revisão do arquivo acompanha o número da revisãoglobal, de modo a manter sempre um grupo coeso e coerente de arquivos. 1.1 Estrutura de um projeto SVN /projeto1 /trunk (linha atual de desenvolvimento) /braches (derivação de versão estável) /tags (rótulos de identificação)Pró-Saúde Profissionais Associados Página 5
  6. 6. Controle de versões com o Subversion 2 O que o subversion não é ● O Subversion não assume o papel de um coordenador de projeto, líder de equipe ou qualquer outro cargo de nível gerencial; ● O Subversion é uma ferramenta de apoio ao desenvolvimento, no entanto não é capaz de realizar o planejamento ou acompanhamento de tarefas; ● O Subversion não é um substituto para a comunicação entre as pessoas; ● O Subversion fornece um mecanismo embutido capaz de identificar e resolver conflitos. Devemos esclarecer que os conflitos identificados pelo Subversion são meramente semânticos, ou seja, não existe nenhuma análise da consistência lógica no conteúdo dos arquivos. Sob essa condição, a comunicação entre as pessoas envolvidas no projeto é essencial para uma exploração mais criteriosa dos problemas ou conflitos identificados; ● O Subversion não é uma ferramenta de rastreamento de bugs1. Como apresentado anteriormente, o Subversion realiza o controle de versões dos arquivos de um projeto, no entanto não existe nenhum suporte ou mecanismo para gerir os bugs detectados.1 Erros ou inconsistênciasPró-Saúde Profissionais Associados Página 6
  7. 7. Controle de versões com o Subversion 3 Terminologias Todas as áreas do conhecimento humano, tecnológicas ou não, apresentam termos e jargõespara nomear e identificar ações, conceitos, estados etc. O Subversion não foge à regra e tambémoferece um conjunto de termos e jargões específicos. ● Workspace (Área de trabalho) Termo usado para representar um diretório no computador cliente onde os arquivos de um projeto serão transferidos durante uma retirada. ● Repository (Repositório) Local onde os arquivos submetidos ao controle de versões são armazenados. ● Revision (Revisão) Termo usado para descrever a numeração atribuída pelo Subversion a cada modificação de um arquivo. ● Release,Version (Liberação) Termo usado para descrever a denominação atribuída a um conjunto de arquivos para identificar determinado ponto no tempo, sobretudo quando se quer identificar um conjunto de novas características ou correções de um projeto. ● Commit (Entregar, Submeter) Termo usado para descrever a transferência de um ou mais arquivos modificados da área de trabalho para um repositório. ● Checkout (Retirar, Recuperar, Obter) Termo usado para descrever a retirada de um ou mais arquivos de um repositório para a área de trabalho. ● Diff (Comparação das diferenças) Termo usado para descrever o processo de comparação das modificações entre revisões diferentes de um arquivo. ● Import (Importação) Termo usado para descrever o processo de transferência dos arquivos de um projeto a um repositório, dando início ao controle de versões. ● Module (Projeto, Módulo) Termo usado para descrever um nome simbólico associado a um conjunto de diretórios e arquivos que compõem um projeto, a fim de facilitar o acesso e a manipulação.Pró-Saúde Profissionais Associados Página 7
  8. 8. Controle de versões com o Subversion 4 Características ● Gerenciamento de projeto em equipe; ● Histórico de todas as alterações realizadas; ● Possibilidade de bloquear arquivos, permitindo que somente uma determinada pessoa modifique o arquivo durante o desenvolvimento do projeto; ● Histórico de todas as mudanças feitas, isto permite voltar a uma versão anterior em caso de problemas, e ver o que houve de errado com o projeto; ● Os projetos podem ser hospedados em repositórios; ● Podem ser criados diversas equipes de trabalho para cada repositórios, e definidos quem terá ou não acesso ao repositório individualmente; ● Permissões de acesso individuais de leitura/gravação; ● É possível criar um usuário com acesso anônimo sem dar uma conta no sistema; ● Pode tanto utilizar o banco de dados de contas/senhas do sistema como um banco de dados de autenticação do próprio Subversion; ● Permite utilizar diversos "métodos" de acesso ao servidor; ● Permite visualizar facilmente o que foi modificado entre duas versões de um arquivo.Pró-Saúde Profissionais Associados Página 8
  9. 9. Controle de versões com o Subversion 5 Boas práticas Aqui vão algumas dicas de como sobreviver no mundo do subversion e do versionamento deprojetos em geral: ● Jamais compartilhe arquivos seus (working copy) de outra forma que não pelo controlador de versões. Não desenvolva formas alternativas de você e seu grupo de desenvolvimento trabalharem em projeto comum; ● Esteja sempre atento a sua cópia local. Ao iniciar seu dia de trabalho dê um update (para garantir que não está trabalhando em arquivos que outras pessoas já alteraram); ● Ao final do seu dia de trabalho ou ao finalizar uma funcionalidade dê um commit nas suas alterações; ● Comunique-se com os participantes do projeto para evitar perder tempo fazendo merge de alterações; ● Sempre efetue comentários quando a janela de diálogo é exibida ao submeter um arquivo ao Subversion.Lembre-se que somente o controlador de versões não fará milagres! é preciso se conscientizar desua existência e, adotar medidas para que o controle de versões seja eficaz. Uma ferramenta não traz melhorias por si só, mas encoraja a adoção da prática correta para melhorar o processo de desenvolvimento. O ganho de produtividade e qualidade só é obtido com treinamento específico para utilização completa e correta da ferramenta. Caso contrário, há apenas o aumento na burocracia do desenvolvimento.Pró-Saúde Profissionais Associados Página 9
  10. 10. Controle de versões com o Subversion 6 Políticas de versionamento Como várias pessoas trabalham em paralelo e concorrentemente nos mesmos arquivos doprojeto, é necessária uma política para ordenar e integrar todas essas fontes de alterações, de modo aevitar que uma pessoa sobrescreva o trabalho de outra. Além de rastrear e controlar alterações, umsistema de controle de versão também coordena a edição colaborativa e o compartilhamento dedados entre várias pessoas de uma equipe.Suponha a seguinte situação:     Ao final de ambas as alterações, mesmo que a versão de João não seja perdida (já que osistema de controle de versão se lembra de cada alteração), na prática, as mudanças de João nãoserão consideradas e estarão acidentalmente ausentes na última versão do arquivo.Pró-Saúde Profissionais Associados Página 10
  11. 11. Controle de versões com o Subversion 6.1 Lock-Modify-Unlock (Travar-Modificar-Destravar) Nessa política, o sistema de controle de versão permite que apenas uma pessoa por vezaltere um determinado arquivo.Observação: esta é a política recomendada para a Pró-Saúde.       Pró-Saúde Profissionais Associados Página 11
  12. 12. Controle de versões com o Subversion 6.2 Copy-Modify-Merge (Copiar-Modificar-Unir) Neste modelo, não existe travamento de arquivos. Cada desenvolvedor trabalha livrementeem qualquer arquivo da sua cópia de trabalho. Ao final, as alterações de cada desenvolvedor sãomescladas no repositório formando a versão final.        Pró-Saúde Profissionais Associados Página 12
  13. 13. Controle de versões com o Subversion 6.3 Análise A política "travar-modificar-destravar" é restritiva e freqüentemente atrapalha o trabalho doscolaboradores. O travamento pode causar alguns problemas administrativos e forçar a umaserialização desnecessária. A solução "copiar-modificar-unir" parece um pouco caótica a princípio, mas funciona bemna prática. Conflitos (sobreposições de alterações nos mesmos trechos de um arquivo) são raros esão causados basicamente pela falta de comunicação entre colaboradores. Na grande maioria doscasos, as alterações não se sobrepõe e são mescladas automaticamente pelo Subversion. 6.4 O padrão do Subversion O Subversion utiliza a política copiar-modificar-unir. Entretanto, a partir da versão 1.2.0,existe a possibilidade do travamento de arquivos. Esta funcionalidade foi incluída para lidar melhorcom arquivos que não podem ser mesclados com facilidade (arquivos binários em geral), tais comoarquivos compactados, imagens, formatos proprietários (CAD) etc. O objetivo desta funcionalidade é fornecer uma forma de serializar o acesso a escrita a umarquivo, evitando desperdício de tempo em mudanças que não podem ser mescladas. Como orepositório registra todas as alterações efetuadas, o sistema de controle de versão pode informarcom facilidade quais as alterações que foram realizadas entre uma revisão e outra, quando issoocorreu e quem fez as alterações. Essas informações permitem um controle maior sobre mudançasno projeto.Pró-Saúde Profissionais Associados Página 13
  14. 14. Controle de versões com o Subversion 7 Ferramenta de gerenciamento A ferramenta de gerenciamento dos repositórios Subversion escolhida foi o USVN 2, poisalém de ser distribuída sob a licença CecCill3 (compatível com a GPL) implementa uma interfaceamigável, intuitiva e de fácil compreensão. Esta ferramenta tem por objetivo único e exclusivo ogerenciamento de repositórios, grupos e usuários - possibilitando a criação destes e seu corretogerenciamento. As opções disponíveis são: ● Criar projetos ● Criar grupos ● Criar usuários ● Editar informações de projetos, grupos e usuários ● Definir direitos de usuários ● Definir direitos de grupos ● Conceder direitos de administrador de projeto O Gerenciador de Projetos Pró-Saúde, não é utilizado para a manipulação do conteúdoversionado dentro dos repositórios Subversion, mas apenas para o gerenciamento dos mesmos. Aferramenta adotada para a manipulação dos repositórios Subversion foi o TortoiseSVN4, poisimplementa todas as funcionalidades disponíveis pelo Subversion e está sob licença GPL5. 7.1 Interface O Gerenciador de Projetos Pró-Saúde está disponível externamente através da urlhttp://prosaude.dnsalias.net/usvn, ou internamente em http://fenix/usvn. Vale lembrar que osbrowsers testados foram o Mozilla Firefox 1.5.x/2.x e o Internet Explorer 6/7.A seguir um passo-a-passo básico da utilização da ferramenta.2 http://www.usvn.info3 http://www.cecill.info4 http://tortoisesvn.net5 http://www.gnu.org/copyleft/gpl.html , http://pt.wikipedia.org/wiki/GNU_General_Public_LicensePró-Saúde Profissionais Associados Página 14
  15. 15. Controle de versões com o Subversion ● Acesso inicial O primeiro acesso se dará exclusivamente pelo usuário “Admin”, o qual possui todos os privilégios disponíveis, e por este motivo deverá ser utilizado com cautela, e exclusivamente para operações administrativas, e nunca como um usuário comum. Todos os demais usuários do sistema deverão sempre utilizar a tela que pode ser observada no Desenho 2. Desenho 2: Login de acessoPró-Saúde Profissionais Associados Página 15
  16. 16. Controle de versões com o Subversion ● Tela principal Neste primeiro momento ainda não existe nenhum projeto criado, como pode ser observado no Desenho 3 Desenho 3: Tela principalPró-Saúde Profissionais Associados Página 16
  17. 17. Controle de versões com o Subversion ● Administração Como pode ser observado no Desenho 4, as funcionalidades disponíveis para o usuário “Admin” são a configuração do USVN e o gerenciamento de Projetos, Grupos e Usuários. Desenho 4: Tarefas AdministrativasPró-Saúde Profissionais Associados Página 17
  18. 18. Controle de versões com o Subversion ● Criando um novo projeto Para criar um novo projeto deve-se selecionar a opção Projects e depois Add new project, assim como pode-se observar no Desenho 5. O nome do projeto não deve conter espaços em branco e nem caracteres acentuados, e uma descrição embora não obrigatória 6 é fortemente recomendada, pois auxilia os clientes e demais colaboradores a obterem uma maior compreensão do projeto. Observe que a opção Add me as admin of the project deve estar desmarcada, pois como já recomendado, o usuário “Admin” deve ser utilizado apenas para tarefas administrativas. Desenho 5: Criando um novo projeto6 Identificado por um asterisco vermelho (*).Pró-Saúde Profissionais Associados Página 18
  19. 19. Controle de versões com o Subversion Desenho 6: Grupo criado automaticamente Página inicial do projeto Navegar nas pastas do projeto (Trunk - Branches – Tags ) e definir permissões de acesso. Desenho 7: Projeto criadoPró-Saúde Profissionais Associados Página 19
  20. 20. Controle de versões com o Subversion Definir acesso ao projeto Definir acessos individuais Desenho 8: Navegando no projeto Desenho 9: Definindo acessos do projetoPró-Saúde Profissionais Associados Página 20
  21. 21. Controle de versões com o Subversion ● URL do projeto Repare que no primeiro quadro do Desenho 10 é apresentado a url para checkout do projeto. Esta mesma url é o link que deve ser passado aos clientes para que os mesmos após devida autenticação (Desenho 11) possam efetuar o download da última versão do projeto. Desenho 10: Detalhes do projeto Desenho 11: Autenticação para simples conferênciaPró-Saúde Profissionais Associados Página 21
  22. 22. Controle de versões com o Subversion ● Dando permissão de visualização para os clientes Os clientes não devem participar do projeto, mas deve-se conceder-lhes a possibilidade de acompanhar a última versão disponível do projeto, de maneira que os mesmos possam interagir com a equipe de desenvolvimento. Sendo assim, logo após a criação de um novo projeto (o qual gera automaticamente um novo grupo com o mesmo nome do projeto), é fortemente aconselhável que se crie um grupo o qual conterá apenas usuários com a opção de leitura (apenas visualização). No Desenho 12 duas sugestões de nomes podem ser observadas. ● Projeto_Clientes ● Projeto_Cli Ex: Teste_1_Clientes Ex: Teste_1_Cli Desenho 12: Sugestões de nomes Para adicionar o grupo de acompanhamento, acesse a aba Admin e escolha a opção Add new group, entre com um nome e uma descrição deste grupo assim como mostrado no Desenho 13. Caso já existam usuário que irão participar deste projeto, os mesmos podem ser adicionados apenas marcando-se um-a-um no campo List users, assim como indica a seta. Desenho 13: Grupo de acompanhamento Após adicionar um grupo que conterá penas usuários com permissão de leitura, adicione-o ao projeto. Perceba que os campos de adição constantes possuem um recurso denominado “auto complete”, portanto apenas digite a primeira letra, e uma lista lhe será exibida para seleção. Selecione então o grupo de leitores e clique no botão Add.Pró-Saúde Profissionais Associados Página 22
  23. 23. Controle de versões com o Subversion Desenho 14: Adicionando grupo de visualizadores ao projeto ● Definindo usuário administrador Para definir qual usuário será o administrador do projeto, basta seleciona-lo no campo Admin users e clicar no botão Add. Vale lembrar que um administrador de projeto não possui as mesmas atribuições de um administrador do Gerenciador de Projetos Pró-Saúde (e nem deve tê-lo), já que esta ação pode abrir uma brecha grave de segurança. Desenho 15: Grupo de leitores adicionadoPró-Saúde Profissionais Associados Página 23
  24. 24. Controle de versões com o Subversion ● Gerenciando usuários Para adicionar ou editar usuários, acesse a aba Admin e vá até a opção Users. Como pode ser observado no Desenho 16, é apresentada uma listagem com todos os usuários existentes no Gerenciador de Projetos Pró-Saúde, e estes podem ser editados ou excluídos. Editar Excluir Desenho 16: Gerenciando usuários Para adicionar um novo usuário, acesse a opção Add new user disponível nesta mesma tela. Assim como mostrado no Desenho 17, entre com um nome (que também não deve conter espaços em branco e nem caracteres acentuados) e uma senha 7, além de primeiro e segundo nomes e email de contato. Caso o grupo para qual este usuário irá pertencer já existir, selecione-o em Affected Groups (assim como indica a seta).7 http://dalton.dsc.ufcg.edu.br/www/Como_escolher_uma_boa_senhaPró-Saúde Profissionais Associados Página 24
  25. 25. Controle de versões com o Subversion A utilização destas duas opções é desencorajada fortemente. Para adicionar um usuário como administrador de um projeto vide os comentários do Desenho 13. Desenho 17: Adicionando um novo usuário ● Usuário comum Quando um usuário comum está logado, este possui acesso restrito, conseguindo apenas alterar suas informações pessoais e visualizar o projeto, porém isso não o impede de participar do projeto. Desenho 18: Atribuições de usuário comumPró-Saúde Profissionais Associados Página 25
  26. 26. Controle de versões com o Subversion ● Usuário administrador do projeto Um usuário com status de administrador de projeto não possui direitos sobre o Gerenciador de Projetos Pró-Saúde, mas apenas sobre o projeto ao qual está vinculado. Dentre suas atribuições dentro do projeto, é possível adicionar e remover grupos, adicionar e remover usuários e definir níveis de acesso. Editar usuários do grupo Desenho 19: Atribuições de usuário administrador de projetoPró-Saúde Profissionais Associados Página 26
  27. 27. Controle de versões com o Subversion ● Usuário administrador do projeto adicionando outros usuários existentes Para editar os usuários participantes de um grupo, basta clicar no ícone destacado no Desenho 19 para ser remetido a tela presente no Desenho 20. Desenho 20: Gerenciando usuários de um grupo Desenho 21: Usuário margareth adicionado ao grupo Teste_1Pró-Saúde Profissionais Associados Página 27
  28. 28. Controle de versões com o Subversion 8 Ferramenta de manipulação A ferramenta escolhida para a utilização do Subversion foi o TortoiseSVN, pois por se tratarde uma ferramenta gráfica a mesma se integra ao Windows® Explorer8 e facilita o uso doSubversion para usuários do Microsoft® Windows®. Após instalado se torna uma opção do menucontextual do Windows® Explorer (aquele menu que é exibido quando o botão direito do mouse éacionado). A partir das opções exibidas pelo menu é que todas as tarefas são executadas.Para informações mais detalhadas consulte os links abaixo: ● Uso básico do TortoiseSVN http://www.cbrasil.org/wiki/index.php?title=Uso_B%C3%A1sico_do_TortoiseSVN ● Uso avançado do TortoiseSVN http://www.cbrasil.org/wiki/index.php?title=Uso_Avan%C3%A7ado_do_TortoiseSVN 8.1 Instalando as ferramentas Após criado o projeto pelo Gerenciador de Projetos Pró-Saúde, e definido os grupos epolíticas de acesso, deve-se instalar o TortoiseSVN, o tradutor para português e o corretorortográfico. Para tal, acesse os links (respeite caracteres maiúsculos e minúsculos) para a instalaçãodos aplicativos como indicado abaixo e escolha a plataforma correta (32 ou 64bits) conforme o seuequipamento: ● Acesso interno: http://fenix/aplicativos/TortoiseSVN ● Acesso externo: http://prosaude.dnsalias.net/aplicativos/TortoiseSVN Desenho 22: Selecionando a plataforma8 Shell ExtensionPró-Saúde Profissionais Associados Página 28
  29. 29. Controle de versões com o Subversion 8.1.1 Identificando a plataforma Não há nenhum problema caso seja escolhida a plataforma errada para a instalação doTortoiseSVN (e complementos), pois caso diferente, a instalação será abortada informando que aplataforma é incompatível. Desenho 23: Instalação em plataforma errada 8.1.2 Instalando... Após escolher a plataforma correta (32bits ou 64bits), simplesmente siga a seqüênciaabaixo: ● 01_TortoiseSVN-1.4.3.msi ● 02_LanguagePack-1.4.3.exe ● 03_SpellChecker.exeVocê será questionado quanto a ação a tomar. Quanto for exibida a tela presente no Desenho 24,escolha a opção Executar, e na próxima tela também escolha Executar. Nas próximas telas,simplesmente escolha Next (Avançar) até o final da instalação. Caso solicitado que o computadorseja reiniciado, somente o faça após a instalação dos três aplicativos9. Siga as mesmasrecomendações pra os três aplicativos, e após a instalação do último, reinicie o computador. Nãoserá necessário tecer maiores comentários sobre o processo de instalação, pois este é muito simples. Desenho 24: Instalando o Tortoise SVN Desenho 25: Instalação em plataforma 32bits9 “01_TortoiseSVN-1.4.3.msi”, “02_LanguagePack-1.4.3.exe” e “03_SpellChecker.exe”Pró-Saúde Profissionais Associados Página 29
  30. 30. Controle de versões com o Subversion 8.1.3 Ajustes finais Após a instalação do terceiro e último item (03_SpellChecker.exe) e a reinicialização dosistema operacional, clique com o botão inverso do mouse sobre a área de trabalho e escolhaTrotoiseSVN → Settings (Desenho 26). Na janela de diálogo que se apresenta (Desenho 27), cliquesobre a opção Language e escolha Português. No campo Global ignore pattern, entre com aextensão dos arquivos (separados por espaço10) que devem ser ignorados pelo Subversion. Porexemplo. Para projetos do Audocad, é interessante que arquivos com a extensão “.bak” sejamignorados, pois são arquivos de backup criados antes do último salvamento, e não precisamos demais uma cópia do mesmo arquivo no Subversion. Desenho 26: Alterando as configurações Desenho 27: Definindo idioma e arquivos ignorados10 *.bak *.tmp *.~*Pró-Saúde Profissionais Associados Página 30
  31. 31. Controle de versões com o Subversion O próximo passo é adicionar colunas específicas para visualização no Windows Explorer11.Após abrir o Windows Explorer, entre na pasta onde um projeto Subversion já exista (identificadopela imagem ) acesse o menu Exibir → Escolher detalhes (Desenho 29). Na janela de diálogoexibida (Desenho 28), identifique as colunas que começam com SVN e marque conforme a listaabaixo: ● SVN Revisão ● SVN Proprietário da trava ● SVN Status ● SVN URL ● SVN Autor Desenho 29: Detalhes de exibição Desenho 28: Status do SubversionUse os botões Mover para cima e Mover para baixo, de maneira que as colunas sejam exibidas naordem que você preferir. No exemplo utilizado as colunas são exibidas respectivamente conforme oDesenho 30.Desenho 30: Colunas do Subversion no gerenciador de arquivos (Windows Explorer) 8.2 Conhecendo a ferramenta 8.2.1 Ícones de identificação Abaixo serão exibidos todos os ícones utilizados para a identificação de um projetoSubversion em seu Workspace com a descrição e seus respectivos significados.11 Que pode ser acionado pela combinação SUPER+E ( + E)Pró-Saúde Profissionais Associados Página 31
  32. 32. Controle de versões com o Subversion Ícone Descrição Objeto do workspace presente em um projeto do Subversion (não sofreu modificações). Objeto do workspace presente em um projeto do Subversion marcado como somente leitura. Objeto do workspace ainda não presente em um projeto do Subversion (sofreu modificações). Objeto do workspace ainda não presente em um projeto do Subversion marcado para adição no próximo commit (Submeter). Objeto do workspace presente em um projeto do Subversion marcado para remoção no próximo commit (Submeter). Objeto do workspace presente em um projeto do Subversion travado contra alterações. Exibido quando houver conflito entre um objeto (arquivo ou pasta) do workspace e o mesmo objeto presente em um projeto do Subversion no ato do commit.Desenho 31: Ícones de identificação de um projeto Subversion 8.2.2 Menus de contexto Nos Desenhos 32, 33, 34, 35 e 37 são apresentados respectivamente os menus de contextoexibidos quando o botão inverso do mouse é acionado sobre uma pasta já versionada, uma pasta ainda não versionada, um arquivo já versionado, um arquivo não versionado (dentro de um projeto) e um arquivo que não pertence a um projeto Subversion.Desenho 32: Menu de contexto exibido Desenho 33: Menu de contextoem uma pasta versionada pelo exibido em uma pasta ainda nãoSubversion versionada pelo SubversionPró-Saúde Profissionais Associados Página 32
  33. 33. Controle de versões com o Subversion Desenho 34: Menu de contexto exibido em um arquivo versionado pelo Subversion Desenho 35: Menu de contexto exibido em um arquivo presente em um projeto, mas ainda não versionado pelo SubversionPró-Saúde Profissionais Associados Página 33
  34. 34. Controle de versões com o Subversion Desenho 37: Menu de contexto exibido em um arquivo que não pertence a um projeto versionado pelo Subversion Desenho 36: Desabilitando arquivos ocultosNo Desenho 37 é apresentada a janela de diálogo onde é possível habilitar ou desabilitar a exibiçãode arquivos e diretórios ocultos. Para tal, abra o Windows Explorer11 e acesse o menu Ferramentas→ Opções de pasta, e na janela de diálogo apresentada selecione a aba Modo de exibição. Role abarra de rolagem até o final e selecione “Não mostrar pastas e arquivos ocultos”. Clique em OKpara concluir. 8.2.3 Criando um novo projeto em um repositório existente ● Crie um diretório para abrigar o conteúdo que será importado para o projeto do Subversion; ● Copie todo o conteúdo que será adicionado ao projeto Subversion para o diretório que acabou de criar; ● Clique com o botão direito do mouse sobre o diretório que criou e selecione TortoiseSVN → Importar... (note que o diretório não será adicionado mas somente o seu conteúdo, caso você queira que ele seja adicionado coloque ele dentro de outro diretório; ● Digite a URL do repositório; ● Entre com usuário e senha válidos para efetuar o Import; ● Se o Import for realizado com sucesso, apague todo o conteúdo do diretório que criou (caso queira utiliza-lo para abrigar o projeto – caso contrário apague-o e crie um novo); ● Clique com o botão inverso do mouse sobre o diretório que escolheu para abrigar o projeto do Subversion e escolha a opção SVN Obter; ● Entre com a URL (como por exemplo: http://prosaude.dnsalias.net/usvn/svn/Teste_1/trunk)Pró-Saúde Profissionais Associados Página 34
  35. 35. Controle de versões com o Subversion do repositório para que o conteúdo que acabou de ser importado para o projeto Subversion seja baixado. 8.2.4 Baixando um projeto de um repositório já existente ● Crie uma pasta local para onde ficarão armazenados os arquivos (deve estar vazia); ● Clique com o botão inverso do mouse e escolha a opção SVN Obter; ● Digite a URL do repositório e o diretório local que você acabou de criar (por exemplo: http://prosaude.dnsalias.net/usvn/svn/Teste_1/trunk/); ● Entre com usuário e senha válidos para o projeto.Pró-Saúde Profissionais Associados Página 35

×