Skip to content

Adding Someone to AUTHORS

Aaron Meurer edited this page Jan 24, 2018 · 8 revisions

Adding Someone to AUTHORS

Whenever a new contributor has code pushed in, they need to be added to the AUTHORS file. It doesn't matter how small the contribution is. We give attribution to everyone. This encourages people to contribute further, and it makes it easier to keep the AUTHORS file up to date if everyone is listed in it. The AUTHORS file is generated automatically by the script

./bin/authors_update.py

Note that the script requires Python 3.6 or newer.

Just run that script, and check the result. Be sure to make sure no duplicate names were added (like different spellings of the same name). If that happens, you need to update .mailmap (see below).

.mailmap

The .mailmap file tells git which Name/Email combinations are the same person. Many people will end up committing changes with different email addresses, or different spellings of their name.

The .mailmap file is particularly useful for making sure that the AUTHORS file is up-to-date, because if there are no duplicate name entries in git, one can just compare the AUTHORS file with the people in the git log.

The script ./bin/mailmap_update.py assists in this. Run it, (note, it requires Python 3.6 or newer). It will tell you what name/email combinations are in AUTHORS but not in git (i.e., need to be added to .mailmap, and what name/email combinations are in git but not AUTHORS (i.e., people who were never added to AUTHORS, or just more names that need to be added to .mailmap if it's someone who is already in AUTHORS). Note that for this script to work, the name/email combination in AUTHORS must match the one used by .mailmap exactly. One thing to note is that git does not use uppercase letters in email addresses, so any email in AUTHORS will need to be lowercase.

Read the top of .mailmap to see how it works. Basically, if you have John Doe <jdoe@example.com> and John D. <jdoe@example.com>, and you want to use the former, add

John Doe <jdoe@example.com> John D. <jdoe@example.com>

to .mailmap. Then when you use something like git log --use-mailmap, it will show John Doe <jdoe@example.com> for any commit by John Doe.

Clone this wiki locally