gitmyhub

Gource

C++ ★ 13k updated 3mo ago

software version control visualization

Gource turns your git repository's commit history into a visual animation, watch your codebase grow over time as contributors move around a living tree of files and folders, then export it as a video.

C++OpenGLFFmpegGitsetup: moderatecomplexity 2/5

Gource turns the history of a code repository into a visual animation. As the animation plays, you watch a tree-like diagram grow and change over time: the center represents the repository root, branches represent folders, and leaves represent individual files. When a developer commits code, their name appears and moves around the tree, touching the files they changed. You can watch an entire project history unfold in seconds or minutes.

It reads commit history from Git, Subversion, Mercurial, Bazaar, and CVS. You point it at a repository folder and it generates the visualization from the commit log with no extra setup.

The display uses OpenGL and requires a computer with a graphics card that supports 3D hardware rendering. You can run Gource in a window or full-screen, and control the speed, date range, and visual appearance through command-line options. Custom avatar images can be set for contributors, specific users or directories can be highlighted, files can be filtered by name pattern, and the camera behavior can be adjusted.

Gource is often used to produce videos showing a project evolving over its lifetime: you pipe the output to FFmpeg and get a standalone video file. These are common in project announcements, conference talks, and documentation.

The README for this project is mainly a reference listing of command-line flags rather than a narrative. The main use is simple: install Gource, run it against a repository, and watch the animation. The project website is at gource.io and installers are available through most package managers.

Where it fits