Gource - a software version control visualization
gource <options> <path>
gource is an OpenGL-based 3D visualisation tool for source control
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.
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).
Stop (exit) at some position in the log (does not work with
Stop on break in activity. May be combined with
Stop (exit) at the end of the log / stream.
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.
-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.
Specify display date string (strftime format).
Specify format of the log being read (git,cvs,hg,bzr,custom).
Required when reading STDIN.
Get the git log of a branch other than the current one.
Print the git log command used by gource.
Print the hg log command (Mercurial) used by gource.
Print the bzr log command (Bazaar) used by gource.
Print the cvs-exp.pl log command used by gource.
Have the camera automatically follow a particular user.
Highlight the names of a particular user.
Highlight the names of all users.
Filter out any files matching a specified regular expression.
Directory containing .jpg or .png images of users (eg ’Full
Name.png’) to use as avatars.
Path of .jpg to use as the default user image.
Colourize user images.
Crop view on an axis (vertical,horizontal).
Adjust the amount of bloom.
Adjust the intensity of the bloom.
Disable progress bar.
Disable bloom effect.
Set the maximum number of files. Excess files will be
Max time files of a commit can take to appear.
Max speed users can travel per second.
Time users come to a complete hault.
Change scale of users.
Camera mode (overview,track).
Hide display element
Separate multiple elements with commas.
Write frames as PPM to a file (’-’ for STDOUT).
Framerate of output (used with --output-ppm-stream).
path Either a Git, Bazaar or Mercurial directory, a pre-generated
log file (see log commands or the custom log format) or ’-’ to
read STDIN. If path is ommited gource will attempt to read a
log from the current directory.
GIT, BAZAAR AND MERCURIAL EXAMPLES
View the log of the respository in the current path:
View the log of a project in the specified directory:
Save a copy of the log using in a special log format and play it back
(example is for Git):
`gource --git-log-command` > my-git-project.log
NOTE: --git-log-command assumes you have a recent version of git that
supports all the options. You may need to modify the command line to
work with an older version (changing %aN to %an for instance).
OTHER VERSION CONTROL SYSTEMS
The Gource homepage has guides and examples for using Gource with other
version control systems:
CVS - http://code.google.com/p/gource/wiki/CVS
SVN - http://code.google.com/p/gource/wiki/SVN
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.
See the guide on the homepage for examples of recording videos with
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
Pressing SPACE at any time will pause/unpause the simulation. While
paused you may use the mouse to inspect the detail of individual files
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
(M) Toggle mouse visibility.
(N) Jump forward in time to next log entry.
(+-) Adjust simulation speed.
(<>) Adjust time scale.
(TAB) Cycle through visible users
Written by Andrew Caudwell
Project Homepage: http://gource.googlecode.com/
Copyright (C) 2009 Andrew Caudwell (email@example.com)
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 <http://www.gnu.org/licenses/>.
Catalyst IT (catalyst.net.nz)
For supporting the development of Gource!