When contributors add to a project from different machines or operating systems, it may happen that they use different email addresses or names for this, which will fragment contributor lists and statistics.
git shortlog -sn to get a list of contributors and the number of commits by them could result in the following output:
Patrick Rothfuss 871 Elizabeth Moon 762 E. Moon 184 Rothfuss, Patrick 90
This fragmentation/disassociation may be adjusted by providing a plain text file
.mailmap, containing email mappings.
All names and email addresses listed in one line will be associated to the first named entity respectively.
For the example above, a mapping could look like this:
Patrick Rothfuss <firstname.lastname@example.org> Rothfuss, Patrick <email@example.com> Elizabeth Moon <firstname.lastname@example.org> E. Moon <email@example.com>
Once this file exists in the project's root, running
git shortlog -sn again will result in a condensed list:
Patrick Rothfuss 961 Elizabeth Moon 946