Gource is an open source and free software to visualize project repository. You can make a beautiful animated visual representation of your software project and then convert it to a video. It has log generation support for Git, SVN, CVS Mercurial and Bazaar like version control systems to make an animated tree like representation of your project. It shows root directory at the center, linked with other sub directories as branches, and leaves are files in those directories. You can make a representation with just few commands and then convert your representation into various popular video formats like MP4, WMV, AVI, etc.
Gource can detect all the users that are contributing to the project from the log file, it shows the people who working on different modules of the project. It has a long list of commands to control and customize the appearance of the final result. you can view this link for more detailed information and tutorials for Gource.
How to Visualize a Software Project Using Gource
Before we move forward, it might be worthwhile to see a video representation generated by Gource. Here you go:
Here you will see how to visualize your project as animated tree. This tutorial will use Git as a version control system.
Step 1: After installing Gource, open your project directory and navigate to the .git folder of the project. In normal cases this directory is hidden but you can make it visible if it’s not. Open a Command window inside .git directory by pressing Ctrl + Right-click.
Step 2: Now you can run any of the following command and immediately Gource’s animation viewer will be opened in which it starts representing your project as an animated tree.
To only view the animated tree with default values : gource
To view tree with auto skip and invisible file names: gource -a 1 -s 0.01 --hide-filenames
To view tree without file and directory names: gource -a 1 -s 0.01 --hide filenames,dirnames
These were the steps to show you how can you visualize your project with the help of Gource. However, our task is not complete yet. We can also convert this animation to a video. Let’s see how.
How to Convert Gource’s Animation tree to a Video
Just like we represented our project in Gource with the help of certain commands, similarly you can convert project’s animation to a video as follows.
Since, the animation of the project that Gource shows us is a group of bitmap images, so to convert this animation to video first we have to capture all the bitmaps from the animation and then convert them to a video. We will use following set of commands to achieve that.
Command 1: gource -1024x768 --stop-position 1.0 --highlight-all-users --hide-filenames --seconds-per-day 5 --output-framerate 60 --output-ppm-stream output.ppm
Command 2: ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i output.ppm -vcodec wmv1 -r 60 -qscale 0 out.wmv
The first command will record all the images from animated project and save them in a file named output.ppm. Since, this file is nothing but a collection of large number of bitmap images so, it will have a very large size, but don’t worry, the video that will be created using this file will be comparatively very low in size.
When you execute the second command, it will start combining all the images from the output.ppm file and finally it will create a video with name out.wmv in the same directory. You can see the progress in the same command window, it will be similar to the following snapshot.
My Final Verdict
Gource is an outstanding software to make a beautiful visual representation of repository of any software project. I really like how it works, and love the output it generates.
Download Gource from the link give below.