git-fame - Man Page

Pretty-print git repository collaborators sorted by contributions.

Examples (TL;DR)

Synopsis

git-fame [--help | options] [<gitdir>...]

Description

See <https://github.com/casperdcl/git-fame>.

Probably not necessary on UNIX systems:

git config --global alias.fame "!python -m gitfame"

For example, to print statistics regarding all source files in a C++/CUDA repository (*.c/h/t(pp), *.cu(h)), carefully handling whitespace and line copies:

git fame --incl '\.[cht][puh]{0,2}$' -twMC

Options

<gitdir>

Git directory [default: ./]. May be specified multiple times to aggregate across multiple repositories.

-h,  --help

Print this help and exit.

-v,  --version

Print module version and exit.

--branch=b

Branch or tag [default: HEAD] up to which to check.

--sort=key

[default: loc]|commits|files|hours|months.

--loc=type

surv(iving)|ins(ertions)|del(etions) What loc represents. Use `ins,del' to count both. defaults to `surviving' unless --cost is specified.

--excl=f

Excluded files (default: None). In no-regex mode, may be a comma-separated list. Escape (\,) for a literal comma (may require \\, in shell).

--incl=f

Included files [default: .*]. See --excl for format.

--since=date

Date from which to check. Can be absoulte (eg: 1970-01-31) or relative to now (eg: 3.weeks).

--cost=method

Include time cost in person-months (COCOMO) or person-hours (based on commit times). Methods: month(s)|cocomo|hour(s)|commit(s). May be multiple comma-separated values. Alters --loc default to imply `ins' (COCOMO) or `ins,del' (hours).

-R,  --recurse

Recursively find repositories & submodules within .

-n,  --no-regex

Assume are comma-separated exact matches rather than regular expressions [default: False]. NB: if regex is enabled `,' is equivalent to `|'.

-s,  --silent-progress

Suppress tqdm [default: False].

--warn-binary

Don’t silently skip files which appear to be binary data [default: False].

-e,  --show-email

Show author email instead of name [default: False].

--enum

Show row numbers [default: False].

-t,  --bytype

Show stats per file extension [default: False].

-w,  --ignore-whitespace

Ignore whitespace when comparing the parent’s version and the child’s to find where the lines came from [default: False]. -M Detect intra-file line moves and copies [default: False]. -C Detect inter-file line moves and copies [default: False].

--ignore-rev=rev

Ignore changes made by the given revision (requires --loc=surviving).

--ignore-revs-file=f

Ignore revisions listed in the given file (requires --loc=surviving).

--format=format

Table format [default: pipe]|md|markdown|yaml|yml|json|csv|tsv|tabulate. May require git-fame[<format>], e.g. pip install git-fame[yaml]. Any tabulate.tabulate_formats is also accepted.

--manpath=path

Directory in which to install git-fame man pages.

--log=lvl

FATAL|CRITICAL|ERROR|WARN(ING)|[default: INFO]|DEBUG|NOTSET.

Authors

Casper da Costa-Luis <https://github.com/casperdcl>.

Info

2016-2023 git-fame User Manuals