Criando um servidor para controle de versões com Subversion

    Sat, Oct 23 2010
      

Subversion (SVN) é uma ferramenta utilizada para controlar atualizações de códigos fonte de softwares em desenvolvimento em qualquer linguagem de programação. 

O conceito é simples: utiliza-se um repositório para guardar as revisões; quando for necessário editá-las, baixa-se uma cópia da revisão desejada para uma pasta previamente definida e após sua edição as atualizações são reenviadas para o repositório. Mantendo o histórico e permitindo rever qualquer modificação já realizada.

O padrão de pastas utilizado pelo SVN é o seguinte:

  • /{nome do projeto em desenvolvimento} 
    • /branches 
      • /{nome do motivo do pacote temporario}
    • /tags
      • /version 1
      • /version 2
      • /version 3
      • /version 3.1
      • /version 3.2
      • /version 2
    • /trunk{aqui entram os fontes na versao corrente}


Este tutorial mostra o passo-a-passo para criação de um projeto no Subversion + Trac. Para ilustrar nossos exemplos vamos assumir os seguintes parâmetros:

  • Pasta onde o Subversion será instalado: /opt/svn
  • Pasta do Trac: /opt/trac
  • Nome do projeto: projeto1
  • Pasta local: /home

Instalando as ferramentas Trac e Subversion

Não abordarei aqui a instalação do Trac e Subversion, veja como instalar as duas ferramentas para rodar no Apache neste post "Configurando Apache + Trac + Subversion"

Criando os projetos no Trac e Subversion

Criar o projeto no svn

$ cd /opt/svn
$ svnadmin create --fs-type fsfs projeto1 

Dar permissao ao usuario e grupo do apache, www-data a pasta do projeto

$ chown -R www-data:www-data *

Criar o projeto no Trac

$ trac-admin /opt/trac/projeto1 initenv

O sistema irá solicitar as seguintes configurações

  • O nome do projeto para exibir na pagina do web Trac:
  • A String de conexao com o banco (tecle enter)
  • O tipo de repositorio (tecle enter)
  • O caminho do repositorio: (/opt/svn/projeto1)
  • A localizacao dos templates do Trac (tecle enter)

 

Dê permissão à pasta do projeto no Trac ao usuário e grupo do apache www-data

$ chown -R www-data:www-data /opt/trac/projeto1

Crie a estrutura do seu projeto na IDE de sua preferência de forma que ela fique assim: 

/home/
    |-/projeto1
        |
        |-/ branches
        |-/ tags
        |-/ trunk
            |
            |-/src
            |-web
                |-/WEB-INF
                |-/lib

Faça o envio inicial

$ cd /home/
$ svn checkout http://10.10.10.1/svn/projeto1 .

Adicione a estrutura do seu projeto ao Subversion

$ svn add --force *

Confirme o envio

$ svn commit

Pronto, seu projeto está versionado e pronto para ser acessado pelo trac através da URL:

http://IP_DO_SERVIDOR_CONFIGURADO/trac