LinuxCommandLibrary
GitHubF-DroidGoogle Play Store

gource

Animated version control history visualization

TLDR

Visualize current repo
$ gource
copy
Visualize specific repo
$ gource [/path/to/repo]
copy
Run in fullscreen mode
$ gource -f
copy
Output PPM stream and pipe to ffmpeg for video
$ gource -1280x720 -o - | ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i - -vcodec libx264 -pix_fmt yuv420p [output.mp4]
copy
Set time scale
$ gource --seconds-per-day [0.1]
copy
Hide specific elements
$ gource --hide filenames,mouse,progress
copy
Visualize with a date range
$ gource --start-date "[2024-01-01]" --stop-date "[2024-12-31]"
copy

SYNOPSIS

gource [options] [path]

DESCRIPTION

gource visualizes version control history as an animated tree. Developers appear as avatars making changes, with files and directories branching from the center in a real-time animation.
The tool supports Git, SVN, Mercurial, and Bazaar repositories. Output can be piped to video encoders like ffmpeg for creating shareable recordings of project history.

PARAMETERS

PATH

Repository path (defaults to current directory).
-o, --output-ppm-stream FILE
Output PPM image stream to file ('-' for stdout). Used with ffmpeg for video creation.
-r, --output-framerate FPS
Framerate of output (25, 30, 60). Used with --output-ppm-stream.
-WIDTHxHEIGHT, --viewport WIDTHxHEIGHT
Set viewport size (e.g., 1280x720).
--seconds-per-day SEC
Time in seconds for each day of history (default: 10).
--hide ELEMENTS
Hide display elements (comma-separated): bloom, date, dirnames, files, filenames, mouse, progress, root, tree, users, usernames.
--start-date DATE
Start at a date (YYYY-MM-DD format).
--stop-date DATE
Stop at a date.
-f, --fullscreen
Fullscreen mode.
--title TITLE
Set a title.
--load-config FILE
Load a configuration file.
--save-config FILE
Save current options to a configuration file.
-h, --help
Display help information.

CAVEATS

Requires OpenGL. Large repositories with many files or commits may be slow to render. The output stream uses uncompressed PPM format, so piped video files can be very large before encoding. Use --seconds-per-day and --hide to optimize for large repos.

HISTORY

gource was created by Andrew Caudwell to visualize software development history as engaging animations.

SEE ALSO

git-log(1), ffmpeg(1)

Copied to clipboard
Kai