Gource, uma forma estilosa de ver logs do seu controle de versão

O Catarse é uma plataforma brasileira de crowdfunding que em 2 anos já apoiou mais de 700 projetos, movimentando quase 5 milhões de reais. São números impressionantes, estão todos de parabéns por fazer acontecer, mas não é essa a razão do meu post :)

Ao me deparar com seu post de estatísticas, o vídeo da evolução do código-fonte do app deles me chamou a atenção. Ele foi feito com o Gource, que até o momento não conhecia. Esse aplicativo lê os logs do sistema de controle de versão (Git, Mercurial, Bazaar, Subversion) do seu projeto e gera a visualização gráfica da evolução do desenvolvimento. Por exemplo, o vídeo abaixo mostra a evolução dos commits de 2004 a 2009 do Rails:



O Youtube está cheio de vídeos desse tipo. Se você usa Mac OS, pode instalar o gource via port:

port install gource
 

Migrando um repositório SVN para GIT

Nos últimos dias, pesquisei uma forma de migrar um repositório de SVN para GIT e quando consegui fazer, percebi que era mais fácil que eu imagina. Com isso, resolvi escrever uma receitinha de como fazer isso.

Inicialmente você deve criar um arquivo mapeando seus usuários do SVN para o GIT. Ele deverá ter o formato abaixo:

leonardo = Leonardo Faria <leonardo @email.com>
autor2 = Autor <autor @email.com>

Nota: caso você não queira manualmente escrever esse arquivo, vasculhe o log do seu projeto SVN e obtenha a lista de autores automaticamente:

svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" < "$2">"}' | sort -u > authors.txt

Read more