1Gource(1)                   General Commands Manual                  Gource(1)
2
3
4

NAME

6       Gource - a software version control visualization
7

SYNOPSIS

9       gource [options] [path]
10

DESCRIPTION

12       gource  is  an  OpenGL-based  3D  visualisation tool for source control
13       repositories.
14
15       The repository is displayed as a tree where the root of the  repository
16       is the centre, directories are branches and files are leaves. Contribu‐
17       tors to the source code appear and disappear as they contribute to spe‐
18       cific files and directories.
19

REQUIREMENTS

21       gource requires a OpenGL capable video card to run.
22

OPTIONS

24       -h, --help
25               Help ('-H' for extended help).
26
27       -WIDTHxHEIGHT, --viewport WIDTHxHEIGHT
28               Set  the viewport size. If -f is also supplied, will attempt to
29               set the video mode to this also. Add ! to make the window  non-
30               resizable.
31
32       -f      Fullscreen.
33
34       --screen SCREEN
35               Set the number of the screen to display on.
36
37       --high-dpi
38               Request a high DPI display when creating the window.
39
40               On some platforms such as MacOS, the window resolution is spec‐
41               ified in points instead of pixels.  The --high-dpi flag may  be
42               required to access some higher resolutions.
43
44               E.g.  requesting a high DPI 800x600 window may produce a window
45               that is 1600x1200 pixels.
46
47
48       --window-position XxY
49               Initial window position on your desktop which may be made up of
50               multiple monitors.
51
52               This will override the screen setting so don't specify both.
53
54       --frameless
55               Frameless window.
56
57       --transparent
58               Make the background transparent. Only really useful for screen‐
59               shots.
60
61       --start-date "YYYY-MM-DD hh:mm:ss +tz"
62               Start with the first entry after the supplied date and optional
63               time.
64
65               If  a  time  zone offset isn't specified the local time zone is
66               used.
67
68               Example accepted formats:
69
70                   "2012-06-30"
71                   "2012-06-30 12:00"
72                   "2012-06-30 12:00:00 +12"
73
74       --stop-date "YYYY-MM-DD hh:mm:ss +tz"
75               Stop at the last entry prior to the supplied date and  optional
76               time.
77
78               Uses the same format as --start-date.
79
80       -p, --start-position POSITION
81               Begin at some position in the log (between 0.0 and 1.0 or 'ran‐
82               dom').
83
84       --stop-position  POSITION
85               Stop (exit) at some position in the log  (does  not  work  with
86               STDIN).
87
88       -t, --stop-at-time SECONDS
89               Stop (exit) after a specified number of seconds.
90
91       --stop-at-end
92               Stop (exit) at the end of the log / stream.
93
94       --loop  Loop back to the start of the log when the end is reached.
95
96       --loop-delay-seconds SECONDS
97               Seconds to delay before looping.
98
99       -a, --auto-skip-seconds SECONDS
100               Automatically skip to next entry if nothing happens for a spec‐
101               ified number of seconds.
102
103       -s, --seconds-per-day SECONDS
104               Speed of simulation in seconds per day.
105
106       --realtime
107               Realtime playback speed.
108
109       --no-time-travel
110               Use the time of the last commit if the time of a commit  is  in
111               the past.
112
113       -c, --time-scale SCALE
114               Change simulation time scale.
115
116               E.g. 0.5 for half speed, 2 for double speed.
117
118       -i, --file-idle-time SECONDS
119               Time  in seconds files remain idle before they are removed or 0
120               for no limit.
121
122       --file-idle-time-at-end SECONDS
123               Time in seconds files remain idle at the end  before  they  are
124               removed.
125
126       -e, --elasticity FLOAT
127               Elasticity of nodes.
128
129       -b, --background-colour FFFFFF
130               Background colour in hex.
131
132       --background-image IMAGE
133               Set a background image.
134
135       --title TITLE
136               Set a title
137
138       --font-file FILE
139               Specify  the font. Should work with most font file formats sup‐
140               ported by FreeType, such as TTF and OTF, among others.
141
142       --font-scale SCALE
143               Scale the size of all fonts.
144
145       --font-size SIZE
146               Font size used by the date and title.
147
148       --file-font-size SIZE
149               Font size of filenames.
150
151       --dir-font-size SIZE
152               Font size of directory names.
153
154       --user-font-size SIZE
155               Font size of user names.
156
157       --font-colour FFFFFF
158               Font colour used by the date and title in hex.
159
160       --key   Show file extension key.
161
162       --logo IMAGE
163               Logo to display in the foreground.
164
165       --logo-offset XxY
166               Offset position of the logo.
167
168       --date-format FORMAT
169               Specify display date string (strftime format).
170
171       --log-command VCS
172               Show the log command used by gource (git,svn,hg,bzr,cvs2cl).
173
174       --log-format VCS
175               Specify     format     of     the      log      being      read
176               (git,svn,hg,bzr,cvs2cl,custom).   Required  when  reading  from
177               STDIN.
178
179       --git-branch
180               Get the git log of a branch other than the current one.
181
182       --follow-user USER
183               Have the camera automatically follow a particular user.
184
185       --highlight-dirs
186               Highlight the names of all directories.
187
188       --highlight-user USER
189               Highlight the names of a particular user.
190
191       --highlight-users
192               Highlight the names of all users.
193
194       --highlight-colour FFFFFF
195               Font colour for highlighted users in hex.
196
197       --selection-colour FFFFFF
198               Font colour for selected users and files.
199
200       --filename-colour FFFFFF
201               Font colour for filenames.
202
203       --dir-colour FFFFFF
204               Font colour for directories.
205
206       --dir-name-depth DEPTH
207               Draw names of directories down to a specific depth in the tree.
208
209       --dir-name-position FLOAT
210               Position along edge of the directory name (between 0.1 and 1.0,
211               default is 0.5).
212
213       --filename-time SECONDS
214               Duration to keep filenames on screen (>= 2.0).
215
216       --file-extensions
217               Show filename extensions only.
218
219       --file-extension-fallback
220               Use filename as extension if the extension is missing or empty.
221
222       --file-filter REGEX
223               Filter  out  file  paths matching the specified regular expres‐
224               sion.
225
226       --file-show-filter REGEX
227               Show only file paths matching the specified regular expression.
228
229       --user-filter REGEX
230               Filter usernames matching the specified regular expression.
231
232       --user-show-filter REGEX
233               Show only usernames matching the specified regular expression.
234
235       --user-image-dir DIRECTORY
236               Directory containing .jpg or .png images  of  users  (eg  "Full
237               Name.png") to use as avatars.
238
239       --default-user-image IMAGE
240               Path of .jpg to use as the default user image.
241
242       --fixed-user-size
243               Forces the size of the user image to remain fixed throughout.
244
245       --colour-images
246               Colourize user images.
247
248       --crop AXIS
249               Crop view on an axis (vertical,horizontal).
250
251       --padding FLOAT
252               Camera view padding.
253
254       --multi-sampling
255               Enable multi-sampling.
256
257       --no-vsync
258               Disable vsync.
259
260       --bloom-multiplier FLOAT
261               Adjust the amount of bloom.
262
263       --bloom-intensity FLOAT
264               Adjust the intensity of the bloom.
265
266       --max-files NUMBER
267               Set the maximum number of files or 0 for no limit. Excess files
268               will be discarded.
269
270       --max-file-lag SECONDS
271               Max time files of a commit can take to appear. Use  -1  for  no
272               limit.
273
274       --max-user-speed UNITS
275               Max speed users can travel per second.
276
277       --user-friction SECONDS
278               Time users take to come to a halt.
279
280       --user-scale SCALE
281               Change scale of user avatars.
282
283       --camera-mode MODE
284               Camera mode (overview,track).
285
286       --disable-auto-rotate
287               Disable automatic camera rotation.
288
289       --disable-input
290               Disable keyboard and mouse input.
291
292       --hide DISPLAY_ELEMENT
293               Hide one or more display elements from the list below:
294
295                   bloom     - bloom effect
296                   date      - current date
297                   dirnames  - names of directories
298                   files     - file icons
299                   filenames - names of files
300                   mouse     - mouse cursor
301                   progress  - progress bar widget
302                   root      - root directory of the tree
303                   tree      - animated tree structure
304                   users     - user avatars
305                   usernames - names of users
306
307               Separate multiple elements with commas (eg "mouse,progress")
308
309
310       --hash-seed SEED
311               Change the seed of hash function.
312
313       --caption-file FILE
314               Caption file (see Caption Log Format).
315
316       --caption-size SIZE
317               Caption size.
318
319       --caption-colour FFFFFF
320               Caption colour in hex.
321
322       --caption-duration SECONDS
323               Caption duration.
324
325       --caption-offset X
326               Caption horizontal offset (0 to centre captions).
327
328       -o, --output-ppm-stream FILE
329               Output a PPM image stream to a file ('-' for STDOUT).
330
331               This will automatically hide the progress bar initially and en‐
332               able 'stop-at-end' unless other behaviour is specified.
333
334
335       -r, --output-framerate FPS
336               Framerate of output (25,30,60). Used with --output-ppm-stream.
337
338       --output-custom-log FILE
339               Output a custom format log file ('-' for STDOUT).
340
341       --load-config CONFIG_FILE
342               Load a config file.
343
344       --save-config CONFIG_FILE
345               Save a config file with the current options.
346
347       --path PATH
348
349       path    Either a supported version control directory,  a  pre-generated
350               log  file (see log commands or the custom log format), a Gource
351               conf file or '-' to read STDIN.
352
353               If path is omitted, gource will attempt to read a log from  the
354               current directory.
355
356
357   Git, Bazaar, Mercurial and SVN Examples
358       View the log of the repository in the current path:
359
360          gource
361
362       View the log of a project in the specified directory:
363
364          gource my-project-dir
365
366       For  large projects, generating a log of the project history may take a
367       long time. For centralized VCS like SVN, generating the  log  will  put
368       load on the central VCS server.
369
370       In these cases, you may like to save a copy of the log for later use.
371
372       You  can  generate  a  log  in  the  VCS  specific log format using the
373       --log-command VCS option:
374
375          cd my-svn-project
376          `gource --log-command svn` > my-svn-project.log
377          gource my-svn-project.log
378
379       You can also have Gource write a copy of the log file in its  own  for‐
380       mat:
381
382          gource --output-custom-log my-project-custom.log
383
384
385   CVS Support
386       Use 'cvs2cl' to generate the log and then pass it to Gource:
387
388          cvs2cl --chrono --stdout --xml -g-q > my-cvs-project.log
389          gource my-cvs-project.log
390
391
392   Custom Log Format
393       If  you want to use Gource with something other than the supported sys‐
394       tems, there is a pipe ('|') delimited custom log format:
395
396          timestamp - An ISO 8601 or unix timestamp of  when  the  update  oc‐
397       curred.
398          username  - The name of the user who made the update.
399          type       - Single character for the update type - (A)dded, (M)odi‐
400       fied or (D)eleted.
401          file      - Path of the file updated.
402          colour    - A colour for the file in hex (FFFFFF) format. Optional.
403
404
405   Caption Log Format
406       Gource can display captions along the timeline by specifying a  caption
407       file (using --caption-file) in the pipe ('|') delimited format below:
408
409          timestamp  -  An  ISO  8601 or unix timestamp of when to display the
410       caption.
411          caption   - The caption
412
413
414   Recording Videos
415       See the guide on the homepage for examples  of  recording  videos  with
416       Gource:
417
418          https://github.com/acaudwell/Gource/wiki/Videos
419
420
421   More Information
422       Visit  the Gource homepage for guides and examples of using Gource with
423       various version control systems:
424
425          http://gource.io
426
427

INTERFACE

429       The time shown in the top left of the screen is set initially from  the
430       first  log  entry  read  and is incremented according to the simulation
431       speed (--seconds-per-day).
432
433       Pressing SPACE at any time  will  pause/resume  the  simulation.  While
434       paused  you may use the mouse to inspect the detail of individual files
435       and users.
436
437       TAB cycles through selecting the current visible users.
438
439       The camera mode, either tracking activity or showing  the  entire  code
440       tree, can be toggled using the Middle mouse button.
441
442       You  can drag the left mouse button to manually control the camera. The
443       right mouse button rotates the view.
444
445       Interactive keyboard commands:
446
447          (V)   Toggle camera mode
448          (C)   Displays Gource logo
449          (K)   Toggle file extension key
450          (M)   Toggle mouse visibility
451          (N)   Jump forward in time to next log entry
452          (S)   Randomize colours
453          (D)   Toggle directory name display mode
454          (F)   Toggle file name display mode
455          (U)   Toggle user name display mode
456          (G)   Toggle display of users
457          (T)   Toggle display of directory tree edges
458          (R)   Toggle display of root directory edges
459          (+-)  Adjust simulation speed
460          (<>)  Adjust time scale
461          (TAB) Cycle through visible users
462          (F12) Screenshot
463          (Alt+Enter) Fullscreen toggle
464          (ESC) Quit
465

AUTHOR

467        Written by Andrew Caudwell
468
469        Project Homepage: http://gource.io
470
472        Copyright (C) 2009 Andrew Caudwell (acaudwell@gmail.com)
473
474        This program is free software; you can redistribute it and/or
475        modify it under the terms of the GNU General Public License
476        as published by the Free Software Foundation; either version
477        3 of the License, or (at your option) any later version.
478
479        This program is distributed in the hope that it will be useful,
480        but WITHOUT ANY WARRANTY; without even the implied warranty of
481        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
482        GNU General Public License for more details.
483
484        You should have received a copy of the GNU General Public License
485        along with this program.  If not, see <http://www.gnu.org/licenses/>.
486

ACKNOWLEDGEMENTS

488        Catalyst IT (catalyst.net.nz)
489
490        For supporting the development of Gource!
491
492
493
494                                                                     Gource(1)
Impressum