In general, the idea is to use code history miner web server as information radiator for the changes tracked in VCS of a project. For example, you can use Code Churn, Amount of Changing File Charts to be aware of large changes on the project.

Because visualizations are interactive, you can also look into a bit more details, filter, group or play with data. To see available visualizations see JUnit, Cucumber, Ruby on Rails, jQuery, Clojure, Groovy, Scala, IntelliJ (for description of visualizations click on  icon in the left bottom corner of each visualization).

Note that VCS data might contain some noise, e.g. files updated by CI server. This is the major missing feature at moment and will be fixed in future releases. For in-depth ideas about analyzing code history see Your Code as a Crime Scene book.

Configuring Projects

In code history miner project is a named set of VCS urls with some additional settings.

To create new project: To edit existing project: To delete project:

For description of particular fields in Project Settings page see  popup tooltips.

When running code history on new project, it might be useful to start with relatively small date range so that amount of changes is not too big. This should create faster feedback loop to experiment with settings.

Generating Visualizations

To generate visualizations for your project: To view visualizations: Note that visualization urls don't change between requests or server restarts and can be bookmarked/shared.

General Settings

These are settings which are common for all projects. In particular, settings with paths to VCS systems. If you have VCS binaries on system path, code history miner will use it.

For description of particular fields in General Settings page see  popup tooltips.


If something doesn't work as expected, it might be useful to enable verbose logging in Main Menu -> Settings -> Verbose logging. You can find logs in [installation folder]/log.

All code history miner settings and project are checked out into [installation folder]/.workspace folder. This might be useful for backups or to edit settings manually.

Using CLI

Besides web server, code history miner comes with command line interface. Use code-miner-cli.sh (or .bat) to run it.

It has two main commands: For example, to visualize junit history from 2012 to 2014:
> git clone https://github.com/junit-team/junit
> cd junit
> code-miner-cli.sh grab --from 01/01/2012 --to 01/01/2014
> code-miner-cli.sh visualize --csv junit.csv
For description of other commands/options please see help output of CLI.

More Help

For any other questions feel free to get in touch by email, twitter or github.