Hi all, I just merged a PR to update the AUTHORS file: https://github.com/sympy/sympy/pull/21881
This is something that I've needed to do before each release and is quite time consuming so in that PR I also added the scripts that check the AUTHORS file to the CI tests. Now any PR that does not have up to date author information will fail in CI. In particular this means that any new contributor will need to add their name to the AUTHORS file before their first PR can be merged. The name and email address in the AUTHORS file needs to match up with the name/email in the git commits (as set by git config). Otherwise there will need to be a line in the .mailmap file associating the name/email in the authors file with the name/email in the commits. The most common reason this is needed is if someone makes commits through the github web UI which will always record a no reply email address. This will be problematic for new contributors but it means that the author information will always be up to date and will be more accurate since anyone contributing will be required to specify the name and email address up front. The simple instruction for any new contributor is that you should first set your name and email address in your git config: $ git config --global user.name "John Doe" $ git config --global user.email john...@example.com See e.g.: https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup If git is correctly configured in all of the commits then the sympy git repo has two scripts that can be used to check and update the author information. The first is $ bin/mailmap_update.py This extracts all name/email combinations from all commits in the repo and checks that every email address is mapped to a unique name. If there are two commits with the same email addresses but different names then a mailmap line is needed to specify which name is the one that should be used in the authors file. Likewise if the same name is used with multiple email addresses then a mailmap line is needed to specify which email address should go with the name. (I'm not sure how to handle genuinely distinct people who actually have the same name...). If there are no errors reported by mailmap_update.py then the second script can be used to update the AUTHORS file: $ bin/authors_update.py This also extracts all name/email combinations from commits and then runs them through the mapping in mailmap and then if any are not listed in the authors file the script will add them. It will print something to say what it has done. You can use git diff to see the changes. These changes in .mailmap and AUTHORS need to be committed and pushed. I expect some new contributors will find this difficult especially since they might not discover that their git config has the wrong name/email until after they have already made the commits and pushed them. It will reduce the chances that someone accidentally uses the wrong git config though (once your commits are merged to master this is no way to remove them even if you do not want that name/email to be used publicly). The simple fix is just to add some lines to .mailmap but many contributors might prefer to actually fix their config and redo the commits. In general I would rather have correct name/email information recorded in the commits than have a .mailmap entry that disambiguates them. Lastly whenever we have changes to CI like this there is a risk that a PR that has already passed CI will be merged resulting in CI failure on the master branch that then prevents any PRs from being merged until it gets fixed. CI can be rerun for a PR by closing and reopening. -- Oscar -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sympy+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAHVvXxThP7%2Bb2WQbExN670tgM8AE7hiS3PisJcNSHnUf-H9y-g%40mail.gmail.com.