software version control visualization
Switch branches/tags
Nothing to show
Pull request Compare This branch is 1 commit ahead, 764 commits behind acaudwell:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



              software version control visualization

                Copyright (C) 2009 Andrew Caudwell



1. Requirements
2. Installation
3. Using Gource
4. Building Gource
5. Changes
6. Copyright

1. Requirements

Gource's display is rendered using OpenGL and requires a 3D
accelerated video card to run.

2. Installation

You can either build Gource from scratch or install a pre-compiled 
binary version (recommended). Debian i386 and Windows binaries are 
available from the homepage.

3. Using Gource

gource <options> <path>


    -f      Fullscreen

            Set the window size. If -f is also supplied, will attempt to set the video mode to this also.

    -p, --start-position POSITION
            Begin at some position in the log (between 0.0 and 1.0).

    -a, --auto-skip-seconds SECONDS
            Automatically skip to next entry if nothing happens for a specified number of seconds.

    -s, --seconds-per-day SECONDS
            Speed of simulation in seconds per day.

    -i, --file-idle-time SECONDS
            Time in seconds files remain idle before they are removed.

    -e, --elasticity FLOAT
            Elasticity of nodes.

    -b, --background FFFFFF
            Background colour in hex.

            Print the git-log command used by gource.

            Print the log command used by gource.

    --follow-user USER
            Have the camera automatically follow a particular user.

    --highlight-user USER
            Highlight the names of a particular user.

            Highlight the names of all users.

    --file-filter REGEX
            Filter out any files matching a specified regular expression.

    --user-image-dir DIRECTORY
            Directory containing .jpg or .png images of users (eg 'Full Name.png') to use as avatars.

    --default-user-image IMAGE
            Path of .jpg or .png to use as the default user image.

            Colourize user images.

            Enable multi-sampling.

            Disable progress bar.

            Set the maximum number of files. Excess files will be discarded.

            Hide users.

            Hide usernames.

            Hide filenames.

            Hide the date.

    path    Either a git directory, a pre-generated log file (see --git-log-command, --cvs-exp-command or the custom
            log format) or '-' to read STDIN. If path is ommited gource will attempt to read a git log from the current directory.

Git Examples:

View the log of the Git respository in the current path:


View the log of a Git project in the specified directory:

    gource my-project-dir

Save a copy of the commit log using the command used by gource and then play it back. This is faster as gource doesn?t have
to wait for git-log command and also useful if you don?t have direct access to your git repository from where you are. Note
that just using git-log command will not work as it is not verbose enough or sorted correctly:

    cd my-git-project
    `gource --git-log-command` > my-git-project.log
    gource my-git-project.log

CVS Support:

You can view CVS projects with gource using the tool cvs-exp  (not  provided)  with  the  command  line  specified  by  the
--cvs-exp-command option:

    cd my-cvs-project
    `gource --cvs-exp-command` > my-cvs-project.log
    gource my-cvs-project.log

Custom Log Format:

If you want to use Gource with something other than Git or CVS, there is a pipe delimited custom log format:

    timestamp - A unix timestamp of when the update occured.
    username  - The name of the user who made the update.
    type      - Single character for the update type - (A)dded, (M)odified or (D)eleted.
    file      - Path of the file updated.
    colour    - A colour for the file in hex (FFFFFF) format. Optional.


The time shown in the top left of the screen is set initially from the first log entry read and is incremented
according to the simulation speed (--seconds-per-day).

Pressing SPACE at any time will pause/unpause the simulation. While paused you may use the mouse to inspect the
detail of individual files and users.

TAB cycles through selecting the current visible users.

The camera mode, either tracking activity, or showing the entire code tree, can be toggled using the V key.

Interactive keyboard commands:

    (V)   Toggle camera mode
    (C)   Displays Gource logo
    (N)   Jump forward in time to next log entry.
    (+)   Increase simulation speed.
    (-)   Decrease simulation speed.
    (TAB) Cycle through visible users
    (ESC) Quit

4. Building Gource

The source code to Gource is available from the homepage.

Gource requires the following libraries to compile:

    SDL 1.2 (libsdl1.2-dev)
    SDL Image 1.2 (libsdl-image1.2-dev)
    PCRE3 (libpcre3-dev)
    FTGL 2.1.3~rc5-2 (libftgl-dev)

Building on Linux:

    make install

If you are unfamilar with configure try reading the INSTALL file.

Building on Windows:

On Windows I recommend compiling the project gource.win32.cbp
with the Code Blocks IDE (

5. Changes

 * Made N key skip to next entry.
 * Documented --user-image-dir flag.
 * temp file name now uses uid instead of time

 * First release.

6. Copyright

Gource - software version control visualization
Copyright (C) 2009 Andrew Caudwell <>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <>.