Tool for analysis and visualization of git logs
Visulog a tool for analyzing contributions from the members of a team working on a same given project hosted on a git repository. Its goal is to assist teachers for individual grading of students working as a team.
This tool can:
- compute a couple of relevant indicators such as:
- number of lines or characters added/deleted/changed
- number of commits
- number of merge commits
- number of per Author
- analyze the variations of these indicators in time: for instance sum then in a week, compute a daily average or an average in a sliding window
- visualize the indicators as charts (histograms, pie charts, etc.) embedded in a generated web page.
- The charts are generated by a third party library (maybe a Java library generating pictures, or a javascript library which dynamically interprets the data).
- The data to analyze can be obtained using calls to the git CLI. For instance "git log", "git diff --numstat", and so on.
Visulog contains the following modules:
- data types for storing raw data directly extracted from git history, with relevant parsers
- a generator of numerical series (for the indicators mentioned above)
- a generator of web pages
- a command line program that calls the other modules using the provided command line parameters
- a shared module for configuration object definitions
- clone the repository
or
git clone git@gaufre.informatique.univ-paris-diderot.fr:leninive/visulog.gitgit clone https://gaufre.informatique.univ-paris-diderot.fr/leninive/visulog.git - Enter the project folder
cd visulog - Only if you are on a SCRIPT computer (in one of the TP rooms):
This will setup the GRADLE_OPTS environment variable so that gradle uses the SCRIPT proxy for downloading its dependencies. It will also use a custom trust store (the one installed in the system is apparently broken... ).
source SCRIPT/envsetup - run gradle wrapper (it will download all dependencies, including gradle itself)
./gradlew build
Visulog can be run through gradle. In order to pass program arguments, you need to pass them behind --args:
./gradlew run --args='here are my args'
For instance
./gradlew run --args='. --addPlugin=countCommits'
Will count the commits of each author in the current branch of the git repository present in the current folder (".").
To display the list of all arguments in the terminal:
./gradlew run --args='--help=all'