Gourceでバージョン管理システムの履歴を可視化する
Gource
Gource - a software version control visualization tool(公式ページ)
Gourceというツールを使うとバージョン管理システムのログをもとに履歴を可視化することができる。 GitだけではなくMercurial, Bazaar, SVNにも対応しているようだ。
インストール
公式ページやGitHubのReleasesにリンクがあるのでダウンロードしてインストールする。
macOSの場合はbrew
でインストールできる。
$ brew install gource
ヘルプメッセージ
$ gource --help Gource v0.47 Usage: gource [OPTIONS] [PATH] Options: -h, --help Help -WIDTHxHEIGHT, --viewport Set viewport size -f, --fullscreen Fullscreen --screen SCREEN Screen number --multi-sampling Enable multi-sampling --no-vsync Disable vsync --window-position XxY Initial window position --frameless Frameless window --start-date 'YYYY-MM-DD hh:mm:ss +tz' Start at a date and optional time --stop-date 'YYYY-MM-DD hh:mm:ss +tz' Stop at a date and optional time -p, --start-position POSITION Start at some position (0.0-1.0 or 'random') --stop-position POSITION Stop at some position -t, --stop-at-time SECONDS Stop after a specified number of seconds --stop-at-end Stop at end of the log --dont-stop Keep running after the end of the log --loop Loop at the end of the log -a, --auto-skip-seconds SECONDS Auto skip to next entry if nothing happens for a number of seconds (default: 3) --disable-auto-skip Disable auto skip -s, --seconds-per-day SECONDS Speed in seconds per day (default: 10) --realtime Realtime playback speed -c, --time-scale SCALE Change simulation time scale (default: 1.0) -e, --elasticity FLOAT Elasticity of nodes (default: 0.0) --key Show file extension key --user-image-dir DIRECTORY Dir containing images to use as avatars --default-user-image IMAGE Default user image file --colour-images Colourize user images -i, --file-idle-time SECONDS Time files remain idle (default: 0) --max-files NUMBER Max number of files or 0 for no limit --max-file-lag SECONDS Max time files of a commit can take to appear --log-command VCS Show the VCS log command (git,svn,hg,bzr,cvs2cl) --log-format VCS Specify the log format (git,svn,hg,bzr,cvs2cl,custom) --load-config CONF_FILE Load a config file --save-config CONF_FILE Save a config file with the current options -o, --output-ppm-stream FILE Output PPM stream to a file ('-' for STDOUT) -r, --output-framerate FPS Framerate of output (25,30,60) PATH may be a supported version control directory, a log file, a gource config file, or '-' to read STDIN. If omitted, gource will attempt to generate a log from the current directory. To see the full command line options use '-H'
使い方
バージョン管理しているディレクトリでgource
コマンドを実行すればよいので、Gource自体のリポジトリで試してみる。
$ git clone https://github.com/acaudwell/Gource $ cd Gource $ gource
ディレクトリが枝で、ファイルが葉として表示されるようだ。キャプチャは10秒程度だが履歴が長ければ数分単位で再生される。
以下、オプションについて。
サイズを指定する(幅x高さ)。
$ gource -640x400
フルスクリーンモード。
$ gource -f
特定ユーザを追いかけるモード(デフォルトはリポジトリ全体を表示するoverview
モード)。再生中にv
を押すとモードを切り替えられる。
$ gource --camera-mode track
開始位置、終了位置の指定(全体を1とした場合)。
$ gource --start-position 0.5 --stop-position 0.75
1日を何秒で表示するか(デフォルトは10)。
$ gource --seconds-per-day 1
判例の表示(または再生中にk
を押す)。
$ gource --key
表示を派手にする。
gource --bloom-multiplier 2.0 --bloom-intensity 1.5
上記以外のオプションなどについてはこのページを参照。