Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  GOURCE (1)


Gource - a software version control visualization


     Git, Bazaar, Mercurial and SVN Examples
     CVS Support
     Custom Log Format
     Caption Log Format
     Recording Videos
     More Information


gource <options> <path>


gource is an OpenGL-based 3D visualisation tool for source control repositories.

The repository is displayed as a tree where the root of the repository is the centre, directories are branches and files are leaves. Contributors to the source code appear and disappear as they contribute to specific files and directories.


gource requires a OpenGL capable video card to run.


-h, --help Help (’-H’ for extended help).
  Set the viewport size. If -f is also supplied, will attempt to set the video mode to this also. Add ! to make the window non-resizable.
-f Fullscreen
-w Windowed
  Make the background transparent. Only really useful for screenshots.
--start-date ’YYYY-MM-DD hh:mm:ss +tz’
  Start with the first entry after the supplied date and optional time.

If a time zone offset isn’t specified the local time zone is used.

Example accepted formats:

"2012-06-30 12:00"
"2012-06-30 12:00:00 +12"

--stop-date ’YYYY-MM-DD hh:mm:ss +tz’
  Stop at the last entry prior to the supplied date and optional time.

Uses the same format as --start-date.

-p, --start-position POSITION
  Begin at some position in the log (between 0.0 and 1.0 or ’random’).
--stop-position POSITION
  Stop (exit) at some position in the log (does not work with STDIN).
-t, --stop-at-time SECONDS
  Stop (exit) after a specified number of seconds.
--stop-at-end Stop (exit) at the end of the log / stream.
--loop Loop back to the start of the log when the end is reached.
-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.
  Realtime playback speed.
-c, --time-scale SCALE
  Change simulation time scale.
-i, --file-idle-time SECONDS
  Time in seconds files remain idle before they are removed or 0 for no limit.
-e, --elasticity FLOAT
  Elasticity of nodes.
-b, --background-colour FFFFFF
  Background colour in hex.
--background-image IMAGE
  Set a background image.
--title TITLE
  Set a title
--font-size SIZE
  Font size used by the date and title.
--font-colour FFFFFF
  Font colour used by the date and title in hex.
--key Show file extension key.
--logo IMAGE
  Logo to display in the foreground.
--logo-offset XxY
  Offset position of the logo.
--date-format FORMAT
  Specify display date string (strftime format).
--log-command VCS
  Show the log command used by gource (git,svn,hg,bzr,cvs2cl).
--log-format VCS
  Specify format of the log being read (git,svn,hg,bzr,cvs2cl,custom). Required when reading from STDIN.
  Get the git log of a branch other than the current one.
--follow-user USER
  Have the camera automatically follow a particular user.
  Highlight the names of all directories.
--highlight-user USER
  Highlight the names of a particular user.
  Highlight the names of all users.
--highlight-colour FFFFFF
  Font colour for highlighted users in hex.
--selection-colour FFFFFF
  Font colour for selected users and files.
--dir-colour FFFFFF
  Font colour for directories.
--dir-name-depth DEPTH
  Draw names of directories down to a specific depth in the tree.
  Show filename extensions only.
--file-filter REGEX
  Filter out any files matching a specified regular expression.
--user-filter REGEX
  Filter out any usernames 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 to use as the default user image.
  Colourize user images.
--crop AXIS
  Crop view on an axis (vertical,horizontal).
--padding FLOAT
  Camera view padding.
  Enable multi-sampling.
--no-vsync Disable vsync.
--bloom-multiplier FLOAT
  Adjust the amount of bloom.
--bloom-intensity FLOAT
  Adjust the intensity of the bloom.
--max-files NUMBER
  Set the maximum number of files or 0 for no limit. Excess files will be discarded.
--max-file-lag SECONDS
  Max time files of a commit can take to appear. Use -1 for no limit.
--max-user-speed UNITS
  Max speed users can travel per second.
--user-friction SECONDS
  Time users take to come to a halt.
--user-scale SCALE
  Change scale of users.
--camera-mode MODE
  Camera mode (overview,track).
  Disable automatic camera rotation.
  Hide one or more display elements from the list below:

bloom - bloom effect
date - current date
dirnames - names of directories
files - file icons
filenames - names of files
mouse - mouse cursor
progress - progress bar widget
root - root directory of the tree
tree - animated tree structure
users - user avatars
usernames - names of users

Separate multiple elements with commas (eg ’mouse,progress’)

--hash-seed SEED
  Change the seed of hash function.
--caption-file FILE
  Caption file (see Caption Log Format).
--caption-size SIZE
  Caption size.
--caption-colour FFFFFF
  Caption colour in hex.
--caption-duration SECONDS
  Caption duration.
--caption-offset X
  Caption horizontal offset (0 to centre captions).
-o, --output-ppm-stream FILE
  Output a PPM image stream to a file (’-’ for STDOUT).

This will automatically hide the progress bar initially and enable ’stop-at-end’ unless other behaviour is specified.

-r, --output-framerate FPS
  Framerate of output (25,30,60). Used with --output-ppm-stream.
--output-custom-log FILE
  Output a custom format log file (’-’ for STDOUT).
--load-config CONFIG_FILE
  Load a config file.
--save-config CONFIG_FILE
  Save a config file with the current options.
--path PATH
  Either a supported version control directory, a pre-generated log file (see log commands or the custom log format), a Gource conf file or ’-’ to read STDIN.

If path is omitted, gource will attempt to read a log from the current directory.

    Git, Bazaar, Mercurial and SVN Examples

View the log of the repository in the current path:


View the log of a project in the specified directory:

   gource my-project-dir

For large projects, generating a log of the project history may take a long time. For centralized VCS like SVN, generating the log will put load on the central VCS server.

In these cases, you may like to save a copy of the log for later use.

You can generate a log in the VCS specific log format using the --log-command VCS option:

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

You can also have Gource write a copy of the log file in its own format:

   gource --output-custom-log my-project-custom.log

    CVS Support

Use ’cvs2cl’ to generate the log and then pass it to Gource:

   cvs2cl --chrono --stdout --xml -g-q > my-cvs-project.log    gource my-cvs-project.log

    Custom Log Format

If you want to use Gource with something other than the supported systems, 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.

    Caption Log Format

Gource can display captions along the timeline by specifying a caption file (using --caption-file) in the pipe (’|’) delimited format below:

   timestamp - A unix timestamp of when to display the caption.    caption - The caption

    Recording Videos

See the guide on the homepage for examples of recording videos with Gource:

    More Information

Visit the Gource homepage for guides and examples of using Gource with various version control systems:


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/resume 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 Middle mouse button.

You can drag the left mouse button to manually control the camera. The right mouse button rotates the view.

Interactive keyboard commands:

   (V) Toggle camera mode    (C) Displays Gource logo    (K) Toggle file extension key    (M) Toggle mouse visibility    (N) Jump forward in time to next log entry    (S) Randomize colours    (+-) Adjust simulation speed    (<>) Adjust time scale    (TAB) Cycle through visible users    (F12) Screenshot    (Alt+Enter) Fullscreen toggle    (ESC) Quit


 Written by Andrew Caudwell

Project Homepage:


 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 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 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 <>.


 Catalyst IT (

For supporting the development of Gource!

Search for    or go to Top of page |  Section 1 |  Main Index

GOURCE (1) -->

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.