SYNOPSIS

blamecount [-t] [-e] [-a] [-c] [-?]

OPTIONS

-t

Return a list of contributor statistics, both as lines touched and as percentage of lines in the codebase. This is the default mode.

-e

Report of contributor change bands. The output can fill an Emacs compilation buffer that allows you to step through bands of lines touched by individual authors.

-a

Report commit counts by author.

-c

Report commit counts by committer.

-?

Dump a usage message.

DESCRIPTION

This program uses collects attribution statistics on a codebase. Run it within a Git repository directory.

The specific report is controlled by the option you choose. In its -t abnd -e modes, it uses git blame to gather and report statistics on which author last touched each line in te tip revision. In -a mode it somply reports commit counts by author.

To reduce noise in -t and -e reports, author spans consisting entirely of junk lines are ignored. Thus, percentages may not add up to 100%. Junk lines are empty lines and those which, when stripped, consist of the comment leaders (and trailers) "/*", "*/", "(*", "*)", "*", "//", "<!--", "-→", and "#" alone. Such lines are not ignored when they share a span with non-junk lines.

Files that Git detects to be binary (such as images) are ignored in -t and -e modes. The test used is whether "git ls-files --eol" finds a non-textual eol type for the file. If need be this can be configured on a per-project basis using the gitattributes facility.

The error message "missing metadata - possible git blame bug." indicates that git blame’s reporting format may have changed in a way that confuses blamecount.

REPORTING BUGS

Report bugs to Eric S. Raymond <esr@thyrsus.com>. The project page is at http://catb.org/~esr/blamecount

SEE ALSO

git-blame(1), git-log(1).