code_swarm in a Docker container
This is code_swarm (a software visualization tool) installed in a Docker container.
It can be used to visualize the change history of a software project.
The wrapper script (extra-scripts/visualize-repo.sh) supports only Git
repositories at the moment, but code_swarm itself also supports
Subversion and probably other source control systems.
How to visualize Git project change history
Change your current directory to the software project you want to visualize and run:
docker run --rm -it -v /tmp/.X11-unix:/tmp/.X11-unix -v $(pwd):/repo --env=DISPLAY gtrafimenkov/codeswarm
http://vis.cs.ucdavis.edu/~ogawa/codeswarm - An experiment in organic software visualization
https://code.google.com/archive/p/codeswarm - source codes
http://gource.io is similar but shows change
history differently - software projects are displayed by Gource as an
animated tree with the root directory of the project at its
centre. Directories appear as branches with files as
leaves. Developers can be seen working on the tree at the times they
contributed to the project.
Also check out Docker container gtrafimenkov/gource with Gource installed.
I got an error when running this
$ docker run --rm -it -v /tmp/.X11-unix:/tmp/.X11-unix -v $(pwd):/repo --env=DISPLAY gtrafimenkov/codeswarm
Unable to find image 'gtrafimenkov/codeswarm:latest' locally
latest: Pulling from gtrafimenkov/codeswarm
6599cadaf950: Pull complete
23eda618d451: Pull complete
f0be3084efe9: Pull complete
52de432f084b: Pull complete
a3ed95caeb02: Pull complete
3573612b8d70: Pull complete
9b57d8527e10: Pull complete
82245105378a: Pull complete
8fc306320c91: Pull complete
8086c3abccd5: Pull complete
Status: Downloaded newer image for gtrafimenkov/codeswarm:latest
Parsing SVN log...
Parsed 81 commits
Generating XML from 185 events...
Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
Do I need to put something in /tmp/.X11-unix?
I didn't see anything in the README...