Gerenciando projetos com Trac e Mercurial.Minha dica de hoje e um pouco curta, um pouco por falta de inspiracao e um pouco por estar aprendendo ainda sobre o assunto.Eu uso o Trac[1] ha algum tempo para gerenciar as minhas tarefas diarias e me foi pedido para fazer uma apresentacao do uso. Porem o sistema de gerenciamento de codigo que usamos e o SVN[2].O SVN e util, mas atualmente outras opcoes mais modernas e com uma arquitetura diferente da arquitetura cliente servidor tem surgido, com diversas vantagens a arquitetura distribuida vem ganhando adeptos e forca em varios projetos, dentre eles o Kernel do Linux, a distribuicao Linux Ubuntu e a linguagem Python que usam respectivamente GIT[3], Bazaar[4] e Mercurial[5].Eu estou comecando a aprender a usar o GIT, ja dei uma olhada no Bazaar, mas tenho um apreco especial pelo Mercurial.Entao vou deixar no meu post de hoje algumas dicas para quem quer usar Trac e Mercurial para gerenciar o processo de desenvolvimento de software, particular ou da sua equipe.Para instalar o trac voce pode seguir as instrucoes do site[6]. Se possuir um sistema baseado em debian, use o comando:# aptitude install tracPara instalar o mercurial siga as instrucoes do site[7]. Caso use sistema baseado em debian:# aptitude install mercurialNesse momento ja e possivel comecar a trabalhar com o mercurial, inicializando um repositorio com o comando:$ hg init meu_repositorioPara habilitar o mercurial no trac e necessario seguir as instrucoes do wiki do trac[8], ou se voce usa sistemas baseados em debian, pode instalar atraves do repositorio com o comando:# aptitude install trac-mercurialEm seguida deve habilitar em seu repositorio o gancho("hook") para que ao efetuar o commit, ou push, como falei nao tenho muita experiencia nesse ambiente, ainda nao sei exatamente em qual momento o hook sera ativado, mas por intuicao imagino que seja no commit. As instrucoes podem ser encontradas no wiki do mercurial[9].Basicamente e copiar o trachook.py em algum lugar acessivel ao Python, ou seja em algum lugar da sua PYTHONPATH e configurar seu repositorio, no arquivo .hgrc da seguinte forma:[hooks]changegroup.trac = python:trachook.hook[trac-hook]root = /caminho/para/tracurl = http://endereco/para/tracAgora que tudo esta pronto, e so criar um projeto no trac e dar as permissoes necessarias:# trac-admin /caminho/do/meu_projeto initenv# chown -R apache.apache /caminho/do/meu_projetoO trac pode ser testado com o servidor proprio, tracd, para isso execute o comando:$ tracd --port 8000 /caminho/do/meu_projetoAcesse http://localhost:8000/ no seu navegador e vera uma lista de todo ambiente que o trac tem conhecimento.Feito isso a ultima coisa que falta, lembrando que esse post nao foi testado, pode estar faltando algo mais, seria configurar o apache. Veja os detalhes no proprio site do trac[10].Bom divertimento. :)[1] - http://trac.edgewall.org[2] - http://subversion.tigris.org/[3] - http://git-scm.com/[4] - http://bazaar.canonical.com/en/[5] - http://mercurial.selenic.com/[6] - http://trac.edgewall.org/wiki/TracInstall[7] - http://mercurial.selenic.com/wiki/[8] - http://trac.edgewall.org/wiki/TracMercurial[9] - http://mercurial.selenic.com/wiki/HgTracHook[10] - http://trac.edgewall.org/wiki/TracInstall#CreatingaProjectEnvironment Enviando emails com Python.A maioria dos meus amigos sabem que estou ajudando a Associacao Python Brasil a organizar a PythonBrasil[6]. Dia 23 de agosto se encerra a chamada de trabalhos, entao resolvi enviar um email para todas as comunidades de tecnologias relacionadas a python no Brasil. Mas como?Bom, eu poderia ter feito uma mala direta com o