Visualize your git repository commits

I came across gource an open source software for version control visualization and I kept playing with it on some of the projects I am working on in our group at BC Cancer Agency.

I wanted to blog about it, and share my experience using it.

Visualizing git commits is very informative, it gives an idea on the status of a given project, and the contributions done by different team members as well as the major changes done within a single project.

What I am missing in this though, is a practical way of translating this into a (re)usable format, but I'll tackle this issue later in this post.

I generated a video for the Targeted Sequencing Pipeline, a project that I've been working on for a while now. In the video we can see some color coded nodes and here is a brief description of the most important ones :

  • Green : when a developer pushes to a git repo
  • Red : when a developer removes from a git repo
  • Yellow : when an update is made on some files

I tried to highlight some nodes in order for you to see some file names being changed in real time. Videos are accelerated since the first git commit. You can appreciate how big are some commits :) which is not really recommended, I usually keep my commit as small as possible because I like to think about them as units rather than doing a lot of tasks at the same time.

Targeted Sequencing Pipeline from CodersCrowd on Vimeo.

This video is created using this command line :

gource --fullscreen  --highlight-users --highlight-all-users --hide filenames --seconds-per-day 0.1 --auto-skip-seconds 1 -1280x720 -o - | ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i - -vcodec libx264 -preset ultrafast -pix_fmt yuv420p -crf 1 -threads 0 -bf 0 video.mp4  

were we pipe the output of gourse to ffmpeg to save the video with a specific resolution.

If you find this post useful and you want to reproduce it, comment with a link to the videos you make

Enjoy
Rad




comments powered by Disqus