Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


  _____                      _  __
 / ____|                    (_)/ _|
| |  __  ___  _   _ _ __ ___ _| |_ ___ _ __ ___  _   _ ___
| | |_ |/ _ \| | | | '__/ __| |  _/ _ \ '__/ _ \| | | / __|
| |__| | (_) | |_| | | | (__| | ||  __/ | | (_) | |_| \__ \
 \_____|\___/ \__,_|_|  \___|_|_| \___|_|  \___/ \__,_|___/

MULTIGOURCE Author: Christopher Clark (@Frencil) March 24, 2012

MULTIGOURCE + GOURCIFEROUS Author: Remy Decausemaker (@Remy_D) April 17, 2012

Author: Nate Case (irc: Qalthos) December 6, 2012

Author: David Gay (irc: oddshocks) March 18, 2013

GOURCIFEROUS Author: Suzanne Reed (irc: Zanarama) June 5, 2013

Gource is an open source library for visualizing the growth of a version controlled source code repository over time with dynamic, colorful animations.

On GitHub:

MultiGource is a little script Frencil developed to recurse through subdirectories containing multiple Git repositories and condense their logs into a single custom-format log that can be fed to Gource to produce one massive visualization of many repos.

On GitHub: is a script Qalthos developed based on log_generator.php to do the same thing, but in Python.

Gourciferous is a collection of tools for configuring and rendering MultiGource visualizations based on this work.

REQUIREMENTS requires the sh python module.


  1. Clone as many repositories as you like into a top-level directory. They can be buried in subdirectories. Only Git repositories are supported at this time.

  2. From the location of

    python [-h] [-g GIT_FOLDER] [-o LOGFILE] [-c COLORFILE]
                            [-u HLUSER] [-l HLCOLOR] [-y]

    Where {GIT_FOLDER} is the directory containing all of your git repositories, and {LOGFILE} is the destination of your custom-format log. {COLORFILE} is an optional file, with one color on each line in hexdecimal format (ie, '13579AC', with no quotes and no other characters) which details which colors to use and in which order. {HLUSER} is a name of a contributor whose commits should be highlighted, and {HLCOLOR} is the color of the highlighted commits.


  1. Create a domain file that links an email host with a file path of the desired avatar png. It should be formatted as:|/path/to/avatar|/path/to/nextavatar
  2. From the location of


    Where {GIT_FOLDER} is the directory containing all of you git repositories (the same as, and {DOMAIN_FILE} is the email host, image path file. {AVATAR_DIR} is an optional folder where avatars will be saved to. Otherwise, the default is /avatar/.


Here's the basic command to get your visualization running at 720p:

% gource --load-config /path/to/multigource.conf -1280x720 {LOGFILE}

WARNING! Running Gource on many big projects like this can take a long time! Watching your visualization as it renders may be excrutiatingly slow (and will vary in speed as the complexity of the content varies).

RECOMMENDATION: Render your Gource visualization as a stream and pipe it to ffmpeg to get a video file that runs at a consistent speed, can be edited or uploaded to the internet, whatever.

To do this you'll need to install ffmpeg. Just get it, it's awesome.

Here's an updated command that turns Gource into a stream and pipes it to ffmpeg. The extra flags on the ffmpeg part are tuned to produce a 720p video file that has a good balance of high quality and decent file size. The first is a command from MultiGource, the second is a command that has worked well for Gourciferous:

% gource --load-config  /path/to/gource.conf -1280x720 {LOGFILE} --output-ppm-stream - | \
ffmpeg -an -threads 4 -y -vb 4000000 -s 1280x720 -r 30 -f image2pipe -vcodec ppm -i - {OUTPUTFILE}

% gource --load-config /path/to/gourciferous.conf -1280x720 {LOGFILE} --output-ppm-stream -| \
ffmpeg -y -b 3000K -r 60 -f image2pipe -vcodec ppm -i - -vcodec libx264 {OUTPUTFILE}

Please refer to ffmpeg documentation to understand these flags and how to tweak them. {OUTPUTFILE} is the path to the final video and its format will be automatically determined by the extension you choose. (e.g., file.flv, file.mp4)


The test suite can be run with the following command:

% ./

This will run the log generator on gourciferous itself, which currently assumes that you do not have any other nested git repositories within it.


It makes trees!



No releases published


No packages published
You can’t perform that action at this time.