Usando o Trac com Bazaar ao invés de SVN

Estou bastante satisfeito com o Bazaar como sistema de controle de versões em alguns projetos[bb]{.bbli} pessoais. Estou bastante satisfeito com ele, em vários pontos estou achando bem melhor que o SVN, que ainda utilizo em alguns projetos.

Como publiquei nesse post, o Bazaar tem alguns recursos que facilitam muito minha vida. Além de ter outros detalhes que me agradam, como ser todo em Python por exemplo. Resolvi criar um ambiente Trac totalmente integrado ao Bazaar, confesso que no começo fiquei bastante perdido porque a documentação não é muito clara, mas com um pouco de persistência consegui fazer o Trac funcionar do jeito que precisava, com o Bazaar perfeitamente integrado. Para evitar a via crucis de outras pessoas, estou publicando esse mini tutorial para fazer o Trac funcionar com Bazaar em um servidor Ubuntu Hardy, utilizando seus pacotes nativos e em cima do mod_python. Lembrando que o Ubuntu já oferece um pacote chamado trac-bzr que possui algumas alterações para rodar o Trac com Bazaar sem precisar ficar adicionando módulos a parte ou mexendo no código do Trac.

Primeiro vamos instalar os pacotes:

aptitude install apache2 libapache2-mod-python trac-bzr

Agora é hora de criar um ambiente Trac. Eu escolhi o diretório /var/trac/projeto para ser o diretório do Trac e /var/trac/bzr para ser o repositório do Bazaar, mas fique a vontade para determinar onde deseja colocá-lo:

mkdir /var/trac

mkdir /var/trac/bzr

trac-admin /var/trac/projeto initenv

Preste atenção que o Trac vai solicitar algumas informações. Preencha da forma que desejar, mas na hora que perguntar o tipo de repositório que deseja, coloque bzr ao invés de svn e informe o caminho /var/trac/bzr quando for solicitado da localização do repositório.

Agora vamos configurar o Trac. É onde tem um truquezinho para fazer tudo funcionar. Adicione no final do arquivo /var/trac/projeto/conf/trac.ini a seguinte linha:

[components]

tracbzr.* = enabled

Feito isso, é hora de configurar o Apache[bb]{.bbli}. No /etc/apache2/sites-available/default, adicione o seguinte bloco:

SetHandler mod_python

PythonInterpreter main_interpreter

PythonHandler trac.web.modpython_frontend

PythonOption TracEnv /var/trac/projeto

Dê um restart no Apache e se tudo deu certo, ao acessar no seu navegador o endereço http://seuservidor/trac, devará ver a tela de início do Trac.

Dai o resto é com você. Sempre que fizer um push no Bazaar para o seu repositório, poderá acompanhar tudo pelo Trac. Fica a dica ! 😉