/gitalyse

Computes some statistics on git repositories

Primary LanguageShell

gitalyse computes some statistics about the history of a git repository

These are simple BSD-licensed shell scripts and a wrapper command-line
tool for calculating contributions by different authors to a git
repository. It can count commits and lines added by different authors
over all history or a range of commits.

The analyses can be run most easily with
  gitalyse authors
  gitalyse lines
  gitalyse types
All accept an optional range of a form accepted by git-rev-parse. The
types command additionally accepts four mode options: --commits,
--files, --commit-percent, and --file-percent.

The authors analysis produces output like this:
  Author          Commits  Proportion
  Linus Torvalds       69      72.63%
  Junio C Hamano       12      12.63%
  Petr Baudis          10      10.52%
  David Woodhouse       2       2.10%
  Ingo Molnar           1       1.05%
  Christopher Li        1       1.05%
                       95     100.00%
The lines analysis produces output like this:
  Author          Lines Added  Proportion Commits Average
  Linus Torvalds        4,390      85.92%      69   63.62
  Junio C Hamano          283       5.53%      12   23.58
  Petr Baudis             209       4.09%      10   20.90
  David Woodhouse         173       3.38%       2   86.50
  Ingo Molnar               9       0.17%       1    9.00
  Christopher Li           45       0.88%       1   45.00
                        5,109     100.00%      95   53.77
The types analysis produces various outputs according to the given mode.
In commit mode, it shows the number of commits by each author touching
each file type (determined by extension). In files mode, it lists the
raw number of files of each type modified. In commit-percent mode, it
gives the percentage of commits by each author modifying each file type.
In file-percent mode, it gives the percentage of modifications to each
file type made by each author.

gitalyse can be configured to ignore certain files or authors in a
repository using a .gitalyse file in the repository root. See the --help
output for details.

gitalyse is copyright (c) 2014 Michael Homer

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.