SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
Frederico F. Siena
       Soluções em Sof t w are Liv re
           : (43) 9992-8498 : kardeco@y ahoo.com




Subvers 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
Licença de Uso




                                                                  




                                                             




 http://creativecommons.org/licenses/disclaimer-popup?lang=pt
 http://creativecommons.org/licenses/by-nc-sa/2.5/br/legalcode
Sumário
1 Introdução.........................................................................................................................................4
   1.1 Estrutura de um projeto SVN....................................................................................................5
2 O que o subversion não é..................................................................................................................6
3 Terminologias...................................................................................................................................7
4 Características...................................................................................................................................8
5 Boas práticas.....................................................................................................................................9
6 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..........................................................................................................13
7 Ferramenta de gerenciamento.........................................................................................................14
   7.1 Interface.................................................................................................................................. 14
8 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
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 da
importação dos arquivos de um projeto para um repositório de arquivos, sendo que as demais
operações consistem da transferência de arquivos entre o servidor que abriga o repositório e o
computador cliente. Dessa forma, assim que o projeto for importado (Import – primeira ação após
a criação do projeto), você poderá iniciar a transferência dos arquivos armazenados no repositório
para a área de trabalho (Checkout – segunda ação após a criação do projeto) e realizar as
modificações necessárias. Tão logo essas modificações sejam concluídas, você deverá realizar a
entrega (Commit – submeter os arquivos adicionados) dos arquivos a fim de submeter as
modificações realizadas sob o controle de versões. Você poderá realizar a transferência dos
arquivos 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 ser
entregue ao cliente sem os arquivos e diretórios de controle criados automaticamente pelo
Subversion, 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 desse
modo consegue coordenar o trabalho paralelo de colaboradores através das seguintes
funcionalidades:
   ● Mantém e disponibiliza cada versão já produzida de cada item do projeto;
   ● Possui mecanismos para gerenciar diferentes ramos de desenvolvimento, possibilitando a



Pró-Saúde Profissionais Associados                                                                Página 4
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 do
sistema de controle de versão num local denominado de repositório. O repositório registra cada
alteraçã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 arquivos
que compõem o projeto. Essas múltiplas versões são organizadas em revisões. Uma revisão
funciona 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 armazenadas
no repositório. Quando se deseja recuperar determinado arquivo, as diferenças são analisadas e o
arquivo é remontado de acordo com a revisão desejada. Mesmo que não haja alteração em um
arquivo entre uma revisão e outra, o número da revisão do arquivo acompanha o número da revisão
global, 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
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ências

Pró-Saúde Profissionais Associados                                                           Página 6
Controle de versões com o Subversion


        3 Terminologias
       Todas as áreas do conhecimento humano, tecnológicas ou não, apresentam termos e jargões
para nomear e identificar ações, conceitos, estados etc. O Subversion não foge à regra e também
oferece 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
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
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 de
projetos 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 de
sua 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
Controle de versões com o Subversion


        6 Políticas de versionamento
        Como várias pessoas trabalham em paralelo e concorrentemente nos mesmos arquivos do
projeto, é necessária uma política para ordenar e integrar todas essas fontes de alterações, de modo a
evitar que uma pessoa sobrescreva o trabalho de outra. Além de rastrear e controlar alterações, um
sistema de controle de versão também coordena a edição colaborativa e o compartilhamento de
dados 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 o
sistema de controle de versão se lembra de cada alteração), na prática, as mudanças de João não
serão consideradas e estarão acidentalmente ausentes na última versão do arquivo.




Pró-Saúde Profissionais Associados                                                         Página 10
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 vez
altere um determinado arquivo.
Observação: esta é a política recomendada para a Pró-Saúde.


                                                      




                                                      




                                                       




                                      




Pró-Saúde Profissionais Associados                                                 Página 11
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 livremente
em qualquer arquivo da sua cópia de trabalho. Ao final, as alterações de cada desenvolvedor são
mescladas no repositório formando a versão final.

                                                       




                                                       




                                                       




                                                       




Pró-Saúde Profissionais Associados                                                   Página 12
Controle de versões com o Subversion


               6.3 Análise
        A política "travar-modificar-destravar" é restritiva e freqüentemente atrapalha o trabalho dos
colaboradores. O travamento pode causar alguns problemas administrativos e forçar a uma
serialização desnecessária.
        A solução "copiar-modificar-unir" parece um pouco caótica a princípio, mas funciona bem
na prática. Conflitos (sobreposições de alterações nos mesmos trechos de um arquivo) são raros e
são causados basicamente pela falta de comunicação entre colaboradores. Na grande maioria dos
casos, 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 melhor
com arquivos que não podem ser mesclados com facilidade (arquivos binários em geral), tais como
arquivos compactados, imagens, formatos proprietários (CAD) etc.
       O objetivo desta funcionalidade é fornecer uma forma de serializar o acesso a escrita a um
arquivo, evitando desperdício de tempo em mudanças que não podem ser mescladas. Como o
repositório registra todas as alterações efetuadas, o sistema de controle de versão pode informar
com facilidade quais as alterações que foram realizadas entre uma revisão e outra, quando isso
ocorreu e quem fez as alterações. Essas informações permitem um controle maior sobre mudanças
no projeto.




Pró-Saúde Profissionais Associados                                                         Página 13
Controle de versões com o Subversion


        7 Ferramenta de gerenciamento
       A ferramenta de gerenciamento dos repositórios Subversion escolhida foi o USVN 2, pois
além de ser distribuída sob a licença CecCill3 (compatível com a GPL) implementa uma interface
amigável, intuitiva e de fácil compreensão. Esta ferramenta tem por objetivo único e exclusivo o
gerenciamento de repositórios, grupos e usuários - possibilitando a criação destes e seu correto
gerenciamento. 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údo
versionado dentro dos repositórios Subversion, mas apenas para o gerenciamento dos mesmos. A
ferramenta adotada para a manipulação dos repositórios Subversion foi o TortoiseSVN4, pois
implementa 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 url
http://prosaude.dnsalias.net/usvn, ou internamente em http://fenix/usvn. Vale lembrar que os
browsers 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.info
3    http://www.cecill.info
4    http://tortoisesvn.net
5    http://www.gnu.org/copyleft/gpl.html    ,   http://pt.wikipedia.org/wiki/GNU_General_Public_License

Pró-Saúde Profissionais Associados                                                                         Página 14
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 acesso




Pró-Saúde Profissionais Associados                                                               Página 15
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 principal




Pró-Saúde Profissionais Associados                                                        Página 16
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 Administrativas




Pró-Saúde Profissionais Associados                                                       Página 17
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 projeto




6 Identificado por um asterisco vermelho (*).

Pró-Saúde Profissionais Associados                                                           Página 18
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 criado




Pró-Saúde Profissionais Associados                                                                       Página 19
Controle de versões com o Subversion




                                                    Definir acesso ao projeto




                                                                            Definir acessos individuais



                                 Desenho 8: Navegando no projeto




                                 Desenho 9: Definindo acessos do projeto




Pró-Saúde Profissionais Associados                                                                        Página 20
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ência




Pró-Saúde Profissionais Associados                                                           Página 21
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
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 adicionado

Pró-Saúde Profissionais Associados                                                            Página 23
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_senha

Pró-Saúde Profissionais Associados                                                            Página 24
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 comum


Pró-Saúde Profissionais Associados                                                                    Página 25
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 projeto




Pró-Saúde Profissionais Associados                                                             Página 26
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_1


Pró-Saúde Profissionais Associados                                                           Página 27
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 tratar
de uma ferramenta gráfica a mesma se integra ao Windows® Explorer8 e facilita o uso do
Subversion para usuários do Microsoft® Windows®. Após instalado se torna uma opção do menu
contextual 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 e
políticas de acesso, deve-se instalar o TortoiseSVN, o tradutor para português e o corretor
ortográfico. Para tal, acesse os links (respeite caracteres maiúsculos e minúsculos) para a instalação
dos aplicativos como indicado abaixo e escolha a plataforma correta (32 ou 64bits) conforme o seu
equipamento:
       ●      Acesso interno: http://fenix/aplicativos/TortoiseSVN
       ●      Acesso externo: http://prosaude.dnsalias.net/aplicativos/TortoiseSVN




                                     Desenho 22: Selecionando a plataforma




8 Shell Extension

Pró-Saúde Profissionais Associados                                                                Página 28
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 do
TortoiseSVN (e complementos), pois caso diferente, a instalação será abortada informando que a
plataforma é 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üência
abaixo:
      ●      01_TortoiseSVN-1.4.3.msi
      ●      02_LanguagePack-1.4.3.exe
      ●      03_SpellChecker.exe


Você 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 computador
seja reiniciado, somente o faça após a instalação dos três aplicativos9. Siga as mesmas
recomendações pra os três aplicativos, e após a instalação do último, reinicie o computador. Não
será 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 32bits

9 “01_TortoiseSVN-1.4.3.msi”, “02_LanguagePack-1.4.3.exe” e “03_SpellChecker.exe”

Pró-Saúde Profissionais Associados                                                               Página 29
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 do
sistema operacional, clique com o botão inverso do mouse sobre a área de trabalho e escolha
TrotoiseSVN → Settings (Desenho 26). Na janela de diálogo que se apresenta (Desenho 27), clique
sobre a opção Language e escolha Português. No campo Global ignore pattern, entre com a
extensão dos arquivos (separados por espaço10) que devem ser ignorados pelo Subversion. Por
exemplo. Para projetos do Audocad, é interessante que arquivos com a extensão “.bak” sejam
ignorados, pois são arquivos de backup criados antes do último salvamento, e não precisamos de
mais uma cópia do mesmo arquivo no Subversion.




                                           Desenho 26: Alterando as configurações




                                 Desenho 27: Definindo idioma e arquivos ignorados




10 *.bak *.tmp *.~*

Pró-Saúde Profissionais Associados                                                   Página 30
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 (identificado
pela imagem     ) acesse o menu Exibir → Escolher detalhes (Desenho 29). Na janela de diálogo
exibida (Desenho 28), identifique as colunas que começam com SVN e marque conforme a lista
abaixo:
       ●      SVN Revisão                                    ●   SVN Proprietário da trava
       ●      SVN Status                                     ●   SVN URL
       ●      SVN Autor




                       Desenho 29: Detalhes de exibição


                                                              Desenho 28: Status do Subversion

Use os botões Mover para cima e Mover para baixo, de maneira que as colunas sejam exibidas na
ordem que você preferir. No exemplo utilizado as colunas são exibidas respectivamente conforme o
Desenho 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 projeto
Subversion 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
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 contexto
exibidos 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 contexto
em uma pasta versionada pelo                           exibido em uma pasta ainda não
Subversion                                             versionada pelo Subversion

Pró-Saúde Profissionais Associados                                                            Página 32
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 Subversion




Pró-Saúde Profissionais Associados                                                         Página 33
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 ocultos

No Desenho 37 é apresentada a janela de diálogo onde é possível habilitar ou desabilitar a exibição
de 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 a
barra de rolagem até o final e selecione “Não mostrar pastas e arquivos ocultos”. Clique em OK
para 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
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

Mais conteúdo relacionado

Mais procurados

RUP - Gerenciamento de configuração e mudança (corrigido)
RUP - Gerenciamento de configuração e mudança (corrigido)RUP - Gerenciamento de configuração e mudança (corrigido)
RUP - Gerenciamento de configuração e mudança (corrigido)Elen Arantza
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de softwareAlex Camargo
 
Filosofia De Desenvolvimento De Software
Filosofia De Desenvolvimento De SoftwareFilosofia De Desenvolvimento De Software
Filosofia De Desenvolvimento De SoftwareSérgio Luiz Jordão
 
Qualidade de Software: Ferramentas de apoio
Qualidade de Software: Ferramentas de apoioQualidade de Software: Ferramentas de apoio
Qualidade de Software: Ferramentas de apoioAlex Camargo
 
Introdução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareIntrodução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareCamilo Almendra
 
Engenharia Software Rup
Engenharia Software   RupEngenharia Software   Rup
Engenharia Software RupFelipe
 
Modelos de ciclo de vida de software
Modelos de ciclo de vida de softwareModelos de ciclo de vida de software
Modelos de ciclo de vida de softwareYuri Garcia
 
Curso de CVS - Parte 1 - Introdução
Curso de CVS - Parte 1 - IntroduçãoCurso de CVS - Parte 1 - Introdução
Curso de CVS - Parte 1 - IntroduçãoMarden Neubert
 
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANDesenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANFernando Palma
 
Plano de projeto de software - SISCONI
Plano de projeto de software - SISCONIPlano de projeto de software - SISCONI
Plano de projeto de software - SISCONIocfelipe
 
Implantação de Ambiente de Integração contínua para projeto que usa Java e C
Implantação de Ambiente de Integração contínua para  projeto que usa Java e CImplantação de Ambiente de Integração contínua para  projeto que usa Java e C
Implantação de Ambiente de Integração contínua para projeto que usa Java e CEliane Collins
 

Mais procurados (20)

RUP - Gerenciamento de configuração e mudança (corrigido)
RUP - Gerenciamento de configuração e mudança (corrigido)RUP - Gerenciamento de configuração e mudança (corrigido)
RUP - Gerenciamento de configuração e mudança (corrigido)
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de software
 
Filosofia De Desenvolvimento De Software
Filosofia De Desenvolvimento De SoftwareFilosofia De Desenvolvimento De Software
Filosofia De Desenvolvimento De Software
 
Qualidade de Software: Ferramentas de apoio
Qualidade de Software: Ferramentas de apoioQualidade de Software: Ferramentas de apoio
Qualidade de Software: Ferramentas de apoio
 
Introdução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareIntrodução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de Software
 
Jenkins workshop
Jenkins workshopJenkins workshop
Jenkins workshop
 
Engenharia Software Rup
Engenharia Software   RupEngenharia Software   Rup
Engenharia Software Rup
 
Modelos de ciclo de vida de software
Modelos de ciclo de vida de softwareModelos de ciclo de vida de software
Modelos de ciclo de vida de software
 
Rup e metodos ágies
Rup e metodos ágiesRup e metodos ágies
Rup e metodos ágies
 
Curso de CVS - Parte 1 - Introdução
Curso de CVS - Parte 1 - IntroduçãoCurso de CVS - Parte 1 - Introdução
Curso de CVS - Parte 1 - Introdução
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Apresentação RUP
Apresentação RUPApresentação RUP
Apresentação RUP
 
WP Solução de Gerenciamento de Projetos
WP Solução de Gerenciamento de ProjetosWP Solução de Gerenciamento de Projetos
WP Solução de Gerenciamento de Projetos
 
Documentos de software
Documentos de softwareDocumentos de software
Documentos de software
 
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANDesenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
 
Aula 3 - Engenharia de Software
Aula 3 - Engenharia de SoftwareAula 3 - Engenharia de Software
Aula 3 - Engenharia de Software
 
Visao Geral Rup
Visao Geral RupVisao Geral Rup
Visao Geral Rup
 
Ciclo de vida de um projeto - Entenda o que é como funciona
Ciclo de vida de um projeto - Entenda o que é como funcionaCiclo de vida de um projeto - Entenda o que é como funciona
Ciclo de vida de um projeto - Entenda o que é como funciona
 
Plano de projeto de software - SISCONI
Plano de projeto de software - SISCONIPlano de projeto de software - SISCONI
Plano de projeto de software - SISCONI
 
Implantação de Ambiente de Integração contínua para projeto que usa Java e C
Implantação de Ambiente de Integração contínua para  projeto que usa Java e CImplantação de Ambiente de Integração contínua para  projeto que usa Java e C
Implantação de Ambiente de Integração contínua para projeto que usa Java e C
 

Semelhante a Controle de versões com o Subversion

Aula 4 gerência de configuração de software1
Aula 4   gerência de configuração de software1Aula 4   gerência de configuração de software1
Aula 4 gerência de configuração de software1Tiago Vizoto
 
Gerência de configuração ágil
Gerência de configuração ágilGerência de configuração ágil
Gerência de configuração ágilClaudia Melo
 
Controle de versão
Controle de versãoControle de versão
Controle de versãoZé Pereira
 
SVN - Subversion: Guia de sobrevivência do usuário
SVN - Subversion: Guia de sobrevivência  do usuárioSVN - Subversion: Guia de sobrevivência  do usuário
SVN - Subversion: Guia de sobrevivência do usuárioFabrício Campos
 
Gerência de Configuração
Gerência de ConfiguraçãoGerência de Configuração
Gerência de ConfiguraçãoWagner Zaparoli
 
MiniCurso de Git e Github - UNIFG PIE
MiniCurso de Git e Github - UNIFG PIEMiniCurso de Git e Github - UNIFG PIE
MiniCurso de Git e Github - UNIFG PIECloves da Rocha
 
[Engenharia de Software] Marquivos.com
[Engenharia de Software] Marquivos.com[Engenharia de Software] Marquivos.com
[Engenharia de Software] Marquivos.comBruno Dadalt Zambiazi
 
SVN no Desenvolvimento de Software
SVN no Desenvolvimento de SoftwareSVN no Desenvolvimento de Software
SVN no Desenvolvimento de SoftwareManoel Afonso
 
Academia do Arquiteto - Implantando A.L.M. em uma semana!
Academia do Arquiteto - Implantando A.L.M. em uma semana!Academia do Arquiteto - Implantando A.L.M. em uma semana!
Academia do Arquiteto - Implantando A.L.M. em uma semana!Globalcode
 
Gestão de Projetos com Redmine
Gestão de Projetos com RedmineGestão de Projetos com Redmine
Gestão de Projetos com Redmineferedestech
 
ARTIGO ANÁLISE COMPARATIVA DE SISTEMAS DE CONTROLE DE VERSÕES BASEADOS EM CÓD...
ARTIGO ANÁLISE COMPARATIVA DE SISTEMAS DE CONTROLE DE VERSÕES BASEADOS EM CÓD...ARTIGO ANÁLISE COMPARATIVA DE SISTEMAS DE CONTROLE DE VERSÕES BASEADOS EM CÓD...
ARTIGO ANÁLISE COMPARATIVA DE SISTEMAS DE CONTROLE DE VERSÕES BASEADOS EM CÓD...Erivan de Sena Ramos
 
Trabalho individual 5 semestre Analise de Sistemas
Trabalho individual 5 semestre Analise de SistemasTrabalho individual 5 semestre Analise de Sistemas
Trabalho individual 5 semestre Analise de SistemasWANDERSON JONER
 
Estratégias de Estruturação de Código-fonte e Controlo de Versão
Estratégias de Estruturação de Código-fonte e Controlo de VersãoEstratégias de Estruturação de Código-fonte e Controlo de Versão
Estratégias de Estruturação de Código-fonte e Controlo de VersãoComunidade NetPonto
 
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
 

Semelhante a Controle de versões com o Subversion (20)

Svn - grupo de estudos sol7
Svn - grupo de estudos sol7Svn - grupo de estudos sol7
Svn - grupo de estudos sol7
 
Aula 4 gerência de configuração de software1
Aula 4   gerência de configuração de software1Aula 4   gerência de configuração de software1
Aula 4 gerência de configuração de software1
 
Gerência de configuração ágil
Gerência de configuração ágilGerência de configuração ágil
Gerência de configuração ágil
 
Controle de versão
Controle de versãoControle de versão
Controle de versão
 
SVN - Subversion: Guia de sobrevivência do usuário
SVN - Subversion: Guia de sobrevivência  do usuárioSVN - Subversion: Guia de sobrevivência  do usuário
SVN - Subversion: Guia de sobrevivência do usuário
 
Gerência de Configuração
Gerência de ConfiguraçãoGerência de Configuração
Gerência de Configuração
 
MiniCurso de Git e Github - UNIFG PIE
MiniCurso de Git e Github - UNIFG PIEMiniCurso de Git e Github - UNIFG PIE
MiniCurso de Git e Github - UNIFG PIE
 
[Engenharia de Software] Marquivos.com
[Engenharia de Software] Marquivos.com[Engenharia de Software] Marquivos.com
[Engenharia de Software] Marquivos.com
 
SVN no Desenvolvimento de Software
SVN no Desenvolvimento de SoftwareSVN no Desenvolvimento de Software
SVN no Desenvolvimento de Software
 
GP4US - Ferramentas gratuitas para controle de cronogramas
GP4US - Ferramentas gratuitas para controle de cronogramasGP4US - Ferramentas gratuitas para controle de cronogramas
GP4US - Ferramentas gratuitas para controle de cronogramas
 
FDD
FDDFDD
FDD
 
Rational Unified Process (RUP)
Rational Unified Process (RUP)Rational Unified Process (RUP)
Rational Unified Process (RUP)
 
Academia do Arquiteto - Implantando A.L.M. em uma semana!
Academia do Arquiteto - Implantando A.L.M. em uma semana!Academia do Arquiteto - Implantando A.L.M. em uma semana!
Academia do Arquiteto - Implantando A.L.M. em uma semana!
 
Gestão de Projetos com Redmine
Gestão de Projetos com RedmineGestão de Projetos com Redmine
Gestão de Projetos com Redmine
 
ARTIGO ANÁLISE COMPARATIVA DE SISTEMAS DE CONTROLE DE VERSÕES BASEADOS EM CÓD...
ARTIGO ANÁLISE COMPARATIVA DE SISTEMAS DE CONTROLE DE VERSÕES BASEADOS EM CÓD...ARTIGO ANÁLISE COMPARATIVA DE SISTEMAS DE CONTROLE DE VERSÕES BASEADOS EM CÓD...
ARTIGO ANÁLISE COMPARATIVA DE SISTEMAS DE CONTROLE DE VERSÕES BASEADOS EM CÓD...
 
Trabalho individual 5 semestre Analise de Sistemas
Trabalho individual 5 semestre Analise de SistemasTrabalho individual 5 semestre Analise de Sistemas
Trabalho individual 5 semestre Analise de Sistemas
 
Estratégias de Estruturação de Código-fonte e Controlo de Versão
Estratégias de Estruturação de Código-fonte e Controlo de VersãoEstratégias de Estruturação de Código-fonte e Controlo de Versão
Estratégias de Estruturação de Código-fonte e Controlo de Versão
 
Redmine
RedmineRedmine
Redmine
 
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
 
Integração Continua - Jenkins
Integração Continua - JenkinsIntegração Continua - Jenkins
Integração Continua - Jenkins
 

Mais de Frederico de Figueiredo Siena

Mais de Frederico de Figueiredo Siena (8)

Infraestrutura Hiperconvergente Livre
Infraestrutura Hiperconvergente LivreInfraestrutura Hiperconvergente Livre
Infraestrutura Hiperconvergente Livre
 
Deploy de imagens Microsoft Windows 10 com FOG
Deploy de imagens Microsoft Windows 10 com FOGDeploy de imagens Microsoft Windows 10 com FOG
Deploy de imagens Microsoft Windows 10 com FOG
 
Ambiente e Infraestrutura
Ambiente e InfraestruturaAmbiente e Infraestrutura
Ambiente e Infraestrutura
 
Análise e reformulação da página inicial do site uel.br com base nas premissa...
Análise e reformulação da página inicial do site uel.br com base nas premissa...Análise e reformulação da página inicial do site uel.br com base nas premissa...
Análise e reformulação da página inicial do site uel.br com base nas premissa...
 
Semana de Planejamento 2011 - Departamento de Ensino UTFPR Londrina
Semana de Planejamento 2011 - Departamento de Ensino UTFPR LondrinaSemana de Planejamento 2011 - Departamento de Ensino UTFPR Londrina
Semana de Planejamento 2011 - Departamento de Ensino UTFPR Londrina
 
Apresentação insight
Apresentação insightApresentação insight
Apresentação insight
 
Open Document Format Para a Administração Pública
Open Document Format Para a Administração PúblicaOpen Document Format Para a Administração Pública
Open Document Format Para a Administração Pública
 
OpenOffice v2.2
OpenOffice v2.2OpenOffice v2.2
OpenOffice v2.2
 

Controle de versões com o Subversion

  • 1. Frederico F. Siena Soluções em Sof t w are Liv re : (43) 9992-8498 : kardeco@y ahoo.com Subvers 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. Licença de Uso    http://creativecommons.org/licenses/disclaimer-popup?lang=pt  http://creativecommons.org/licenses/by-nc-sa/2.5/br/legalcode
  • 3. Sumário 1 Introdução.........................................................................................................................................4 1.1 Estrutura de um projeto SVN....................................................................................................5 2 O que o subversion não é..................................................................................................................6 3 Terminologias...................................................................................................................................7 4 Características...................................................................................................................................8 5 Boas práticas.....................................................................................................................................9 6 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..........................................................................................................13 7 Ferramenta de gerenciamento.........................................................................................................14 7.1 Interface.................................................................................................................................. 14 8 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. 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 da importação dos arquivos de um projeto para um repositório de arquivos, sendo que as demais operações consistem da transferência de arquivos entre o servidor que abriga o repositório e o computador cliente. Dessa forma, assim que o projeto for importado (Import – primeira ação após a criação do projeto), você poderá iniciar a transferência dos arquivos armazenados no repositório para a área de trabalho (Checkout – segunda ação após a criação do projeto) e realizar as modificações necessárias. Tão logo essas modificações sejam concluídas, você deverá realizar a entrega (Commit – submeter os arquivos adicionados) dos arquivos a fim de submeter as modificações realizadas sob o controle de versões. Você poderá realizar a transferência dos arquivos 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 ser entregue ao cliente sem os arquivos e diretórios de controle criados automaticamente pelo Subversion, 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 desse modo consegue coordenar o trabalho paralelo de colaboradores através das seguintes funcionalidades: ● Mantém e disponibiliza cada versão já produzida de cada item do projeto; ● Possui mecanismos para gerenciar diferentes ramos de desenvolvimento, possibilitando a Pró-Saúde Profissionais Associados Página 4
  • 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 do sistema de controle de versão num local denominado de repositório. O repositório registra cada alteraçã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 arquivos que compõem o projeto. Essas múltiplas versões são organizadas em revisões. Uma revisão funciona 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 armazenadas no repositório. Quando se deseja recuperar determinado arquivo, as diferenças são analisadas e o arquivo é remontado de acordo com a revisão desejada. Mesmo que não haja alteração em um arquivo entre uma revisão e outra, o número da revisão do arquivo acompanha o número da revisão global, 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. 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ências Pró-Saúde Profissionais Associados Página 6
  • 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ões para nomear e identificar ações, conceitos, estados etc. O Subversion não foge à regra e também oferece 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. 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. 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 de projetos 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 de sua 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. Controle de versões com o Subversion 6 Políticas de versionamento Como várias pessoas trabalham em paralelo e concorrentemente nos mesmos arquivos do projeto, é necessária uma política para ordenar e integrar todas essas fontes de alterações, de modo a evitar que uma pessoa sobrescreva o trabalho de outra. Além de rastrear e controlar alterações, um sistema de controle de versão também coordena a edição colaborativa e o compartilhamento de dados 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 o sistema de controle de versão se lembra de cada alteração), na prática, as mudanças de João não serão consideradas e estarão acidentalmente ausentes na última versão do arquivo. Pró-Saúde Profissionais Associados Página 10
  • 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 vez altere um determinado arquivo. Observação: esta é a política recomendada para a Pró-Saúde.        Pró-Saúde Profissionais Associados Página 11
  • 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 livremente em qualquer arquivo da sua cópia de trabalho. Ao final, as alterações de cada desenvolvedor são mescladas no repositório formando a versão final.         Pró-Saúde Profissionais Associados Página 12
  • 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 dos colaboradores. O travamento pode causar alguns problemas administrativos e forçar a uma serialização desnecessária. A solução "copiar-modificar-unir" parece um pouco caótica a princípio, mas funciona bem na prática. Conflitos (sobreposições de alterações nos mesmos trechos de um arquivo) são raros e são causados basicamente pela falta de comunicação entre colaboradores. Na grande maioria dos casos, 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 melhor com arquivos que não podem ser mesclados com facilidade (arquivos binários em geral), tais como arquivos compactados, imagens, formatos proprietários (CAD) etc. O objetivo desta funcionalidade é fornecer uma forma de serializar o acesso a escrita a um arquivo, evitando desperdício de tempo em mudanças que não podem ser mescladas. Como o repositório registra todas as alterações efetuadas, o sistema de controle de versão pode informar com facilidade quais as alterações que foram realizadas entre uma revisão e outra, quando isso ocorreu e quem fez as alterações. Essas informações permitem um controle maior sobre mudanças no projeto. Pró-Saúde Profissionais Associados Página 13
  • 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, pois além de ser distribuída sob a licença CecCill3 (compatível com a GPL) implementa uma interface amigável, intuitiva e de fácil compreensão. Esta ferramenta tem por objetivo único e exclusivo o gerenciamento de repositórios, grupos e usuários - possibilitando a criação destes e seu correto gerenciamento. 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údo versionado dentro dos repositórios Subversion, mas apenas para o gerenciamento dos mesmos. A ferramenta adotada para a manipulação dos repositórios Subversion foi o TortoiseSVN4, pois implementa 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 url http://prosaude.dnsalias.net/usvn, ou internamente em http://fenix/usvn. Vale lembrar que os browsers 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.info 3 http://www.cecill.info 4 http://tortoisesvn.net 5 http://www.gnu.org/copyleft/gpl.html , http://pt.wikipedia.org/wiki/GNU_General_Public_License Pró-Saúde Profissionais Associados Página 14
  • 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 acesso Pró-Saúde Profissionais Associados Página 15
  • 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 principal Pró-Saúde Profissionais Associados Página 16
  • 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 Administrativas Pró-Saúde Profissionais Associados Página 17
  • 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 projeto 6 Identificado por um asterisco vermelho (*). Pró-Saúde Profissionais Associados Página 18
  • 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 criado Pró-Saúde Profissionais Associados Página 19
  • 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 projeto Pró-Saúde Profissionais Associados Página 20
  • 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ência Pró-Saúde Profissionais Associados Página 21
  • 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. 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 adicionado Pró-Saúde Profissionais Associados Página 23
  • 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_senha Pró-Saúde Profissionais Associados Página 24
  • 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 comum Pró-Saúde Profissionais Associados Página 25
  • 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 projeto Pró-Saúde Profissionais Associados Página 26
  • 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_1 Pró-Saúde Profissionais Associados Página 27
  • 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 tratar de uma ferramenta gráfica a mesma se integra ao Windows® Explorer8 e facilita o uso do Subversion para usuários do Microsoft® Windows®. Após instalado se torna uma opção do menu contextual 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 e políticas de acesso, deve-se instalar o TortoiseSVN, o tradutor para português e o corretor ortográfico. Para tal, acesse os links (respeite caracteres maiúsculos e minúsculos) para a instalação dos aplicativos como indicado abaixo e escolha a plataforma correta (32 ou 64bits) conforme o seu equipamento: ● Acesso interno: http://fenix/aplicativos/TortoiseSVN ● Acesso externo: http://prosaude.dnsalias.net/aplicativos/TortoiseSVN Desenho 22: Selecionando a plataforma 8 Shell Extension Pró-Saúde Profissionais Associados Página 28
  • 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 do TortoiseSVN (e complementos), pois caso diferente, a instalação será abortada informando que a plataforma é 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üência abaixo: ● 01_TortoiseSVN-1.4.3.msi ● 02_LanguagePack-1.4.3.exe ● 03_SpellChecker.exe Você 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 computador seja reiniciado, somente o faça após a instalação dos três aplicativos9. Siga as mesmas recomendações pra os três aplicativos, e após a instalação do último, reinicie o computador. Não será 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 32bits 9 “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. 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 do sistema operacional, clique com o botão inverso do mouse sobre a área de trabalho e escolha TrotoiseSVN → Settings (Desenho 26). Na janela de diálogo que se apresenta (Desenho 27), clique sobre a opção Language e escolha Português. No campo Global ignore pattern, entre com a extensão dos arquivos (separados por espaço10) que devem ser ignorados pelo Subversion. Por exemplo. Para projetos do Audocad, é interessante que arquivos com a extensão “.bak” sejam ignorados, pois são arquivos de backup criados antes do último salvamento, e não precisamos de mais uma cópia do mesmo arquivo no Subversion. Desenho 26: Alterando as configurações Desenho 27: Definindo idioma e arquivos ignorados 10 *.bak *.tmp *.~* Pró-Saúde Profissionais Associados Página 30
  • 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 (identificado pela imagem ) acesse o menu Exibir → Escolher detalhes (Desenho 29). Na janela de diálogo exibida (Desenho 28), identifique as colunas que começam com SVN e marque conforme a lista abaixo: ● SVN Revisão ● SVN Proprietário da trava ● SVN Status ● SVN URL ● SVN Autor Desenho 29: Detalhes de exibição Desenho 28: Status do Subversion Use os botões Mover para cima e Mover para baixo, de maneira que as colunas sejam exibidas na ordem que você preferir. No exemplo utilizado as colunas são exibidas respectivamente conforme o Desenho 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 projeto Subversion 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. 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 contexto exibidos 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 contexto em uma pasta versionada pelo exibido em uma pasta ainda não Subversion versionada pelo Subversion Pró-Saúde Profissionais Associados Página 32
  • 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 Subversion Pró-Saúde Profissionais Associados Página 33
  • 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 ocultos No Desenho 37 é apresentada a janela de diálogo onde é possível habilitar ou desabilitar a exibição de 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 a barra de rolagem até o final e selecione “Não mostrar pastas e arquivos ocultos”. Clique em OK para 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. 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