Skip to content

Repository files navigation

Latest release Tests License

About Gitinspector

Gitinspector is a statistical analysis tool for git repositories. The default analysis shows general statistics per author, which can be complemented with a timeline analysis that shows the workload and activity of each author. Under normal operation, it filters the results to only show statistics about a number of given extensions and by default only includes source files in the statistical analysis.

This tool was originally written to help fetch repository statistics from student projects in the course Object-oriented Programming Project (TDA367/DIT211) at Chalmers University of Technology and Gothenburg University.

Today, gitinspector is used as a grading aid by universities worldwide.

A full Documentation of the usage and available options of gitinspector is available on the wiki. For help on the most common questions, please refer to the FAQ document.

Some of the features

  • Shows cumulative work by each author in the history.
  • Filters results by extension (default: java,c,cc,cpp,h,hh,hpp,php,py,glsl,rb,js,sql,go,swift,ts,tsx,rs).
  • Can display a statistical timeline analysis.
  • Scans for all filetypes (by extension) found in the repository.
  • Multi-threaded; uses multiple instances of git to speed up analysis when possible.
  • Supports HTML, JSON, XML and plain text output (console).
  • Generates responsive HTML reports with a light and a dark mode, sortable tables and a search box, that work on phones as well.
  • Can report violations of different code metrics.
  • Runs on Python 2.7 and on Python 3.5 and later; see docs/REQUIREMENTS.txt for the supported versions.

Example outputs

Below are some example outputs for a number of famous open source projects, as well as for gitinspector itself. All the statistics were generated using the "-HTlrm" flags.

Project name
Django HTML HTML Embedded Plain Text XML
Gitinspector HTML HTML Embedded Plain Text XML
JQuery HTML HTML Embedded Plain Text XML
Pango HTML HTML Embedded Plain Text XML

The Team

  • Adam Waldenberg, Lead maintainer and Swedish translation
  • Agustín Cañas, Spanish translation
  • Alexander Chernoskutov, Russian translation
  • Bart van Andel, npm package maintainer
  • Bill Wang, Chinese translation
  • Christian Kastner, Debian package maintainer
  • Georgios Andreadis, Dutch translation
  • Gilmar Pupo, Portuguese translation
  • Kamila Chyla, Polish translation
  • Luca Motta, Italian translation
  • Moses Kim, Korean translation
  • Philipp Nowak, German translation
  • Sergei Lomakov, Russian translation
  • Yannick Moy, French translation

We need translations for gitinspector! If you are a gitinspector user, feel willing to help and have good language skills in any unsupported language we urge you to contact us. We also happily accept code patches. Please refer to Contributing for more information on how to contribute to the project.

Packages

The Debian packages offered with releases of gitinspector are unofficial and very simple packages generated with stdeb. Christian Kastner is maintaining the official Debian packages. You can check the current status on the Debian Package Tracker. Consequently, there are official packages for many Debian based distributions installable via apt-get.

An npm package is provided for convenience as well. To install it globally, execute npm i -g gitinspector.

Docker

A Dockerfile is included for those who would rather not install gitinspector at all. Build the image from the root of the sources and mount the repository to analyze on /repo:

docker build -t gitinspector .
docker run --rm -v "$PWD:/repo" gitinspector -f py -T

Forks

GitInspectorGUI started out as an extension of gitinspector and has since been rewritten from scratch. It offers a graphical interface next to the command line, HTML and Excel output with blame information per file, and stand-alone apps for Windows and macOS. Its documentation lives at edu-boost.gitlab.io/gitinspectorgui.

License

gitinspector is licensed under the GNU GPL v3. The gitinspector logo is partly based on the git logo; based on the work of Jason Long. The logo is licensed under the Creative Commons Attribution 3.0 Unported License.

About

📊 The statistical analysis tool for git repositories

Topics

Resources

Stars

2.5k stars

Watchers

52 watching

Forks

Releases

Used by

Contributors

Languages