Gource Documentation

Software version control visualization

13,180 stars C++ C++ 1 file ยท ~1,256 tokens
RAW Doc

Technical Documentation: acaudwell/Gource

โ„น๏ธ Provenance: Multi-Tier Ingestion ยท CodeWiki Reference

Overview (`README.md`)

Gource

https://gource.io

Description

Gource is a visualization 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.

Requirements

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

Using Gource

text
/* Detailed source-code truncated for AI context efficiency. */

Git, Bazaar, Mercurial and SVN Examples:

View the log of the repository in the current path:

text
gource

View the log of a project in the specified directory:

text
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 may also 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:

text
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:

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

CVS Support:

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

text
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:

text
timestamp - An ISO 8601 or unix timestamp of when the update occurred.
username  - The name of the user who made the update.
type      - initial 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:

text
timestamp - An ISO 8601 or 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:

https://github.com/acaudwell/Gource/wiki/Videos

More Information:

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

https://gource.io

Interface:

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:

text
(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
(D)   Toggle directory name display mode
(F)   Toggle file name display mode
(U)   Toggle user name display mode
(G)   Toggle display of users
(T)   Toggle display of directory tree edges
(R)   Toggle display of root directory edges
(<>)  Adjust time scale / user avatar movement speed
(+-)  Adjust simulation speed
(Keypad +-) Adjust camera zoom
(TAB) Cycle through visible users
(F12) Screenshot
(Alt+Enter) Fullscreen toggle
(ESC) Quit

Gource - software version control visualization
Copyright (C) 2009 Andrew Caudwell [email protected]

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/.


--- METRICS ---