Visualizando a atividade de seu repositório git com gource

Já pensou em preparar uma animação/visualização do repositório de um projeto? Já fiz isso algumas vezes, em especial no final de um projeto. Acho que isso ajuda a colocar em perspectiva todo o trabalho feito nos últimos meses ou anos. É muito comum perdermos a noção do todo após os momentos finais de ajustes, implantação (quem ainda faz isso?), etc.

Gource é uma ferramenta de código livre que é capaz de gerar animações do histórico de um repositório de controle de versão (Git, SVN, Mercurial e Bazaar). A primeira vez que usei Gource foi pelos idos de 2010 e desde lá muita coisa mudou.

A ideia deste post é fazer um breve tutorial de como usar Gource (+ ffmpeg) para gerar (e gravar em vídeo) uma visualização da evolução de um repositório com o passar do tempo.

Gerando a animação

Uma vez instalado corretamente*, basta executar o Gource e seus parâmetros na raiz do repositório (a sua cópia local, claro):

gource

Pronto, é isso, você já deve ver uma janela com o timelapse do seu projeto. Mas convenhamos que essa versão default é bem simples. Vamos incrementar:

gource -s 0.5 --start-date '2017-08-25' -f --key --highlight-users --user-image-dir avatars -a 1 -logo logo.png -1920x1080

Este monte de parâmetros não chega a ser metade dos possíveis, mas já é um bom começo. Uma curta explicação de cada um deles:

-s {tempo} Tempo de vídeo por dia de projeto(em segundos)
-a {tempo} Tempo máximo (em segundos) sem atividade no projeto (achata os dias inativos)
-f Exibe em modo tela-cheia
-o {arquivo/stream} Saída para arquivo/stream (formato ppm)
-logo {logo.png} Logo do projeto
-{w}x{h} Largura (w) e altura (h) do video em pixels
--Title {‘titulo’} Título do projeto
--start-date {‘yyyy-mm-dd’} Data de início da visualização
--user-image-dir {dir} Pasta com imagens dos usuários (“Nome Sobrenome.png/jpg”)
--key Exibe legenda de extensão de arquivos
--highlight-users Nome de usuários sempre visível

A saída deve ficar parecida com esta que fiz do Tretas Lendárias, um joguinho de código livre que fizemos para o Jogabilijam 2:

Para aproveitar que mostrei este vídeo, vou deixar um tutorial bônus de como utilizar o ffmpeg** para gravar tais vídeos.

Gravando saída usando ffmpeg

Para gravar em vídeo a visualização gerada pelo Gource, é preciso primeiro direcionar a saída do comando para o output padrão, utilizando o parâmetro -o. Utilizando esta saída como entrada para o comando ffmpeg (utilizando o recurso de pipeline do shell), é possível gravar tudo em um arquivo de vídeo:

gource -s 0.5 --start-date '2017-08-25' -f --key --highlight-users --user-image-dir avatars -a 1 -logo logo.png -1920x1080 -o - | ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i - -vcodec libx264 -preset ultrafast -pix_fmt yuv420p -crf 1 -threads 0 -bf 0 saida.mp4

Não vou entrar no mérito dos parâmetros do ffmpeg neste post, basta dizer que ele irá gravar a saída em FullHD com 60 quadros por segundo. Se sua máquina não for rápida, deve demorar um pouco, mas o resultado é de excelente qualidade.

Acho que é isso, bom proveito :)

* Procure por instruções na sua distribuição, para quem usa mac/homebrew, dá para instalar com brew install gource.
** Mais uma vez, procure por instruções de como instalar o ffmpeg com os codecs de sua escolha.

 

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s