This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
improved .mailmap and AUTHORS file logic
authorYves Orton <demerphq@gmail.com>
Tue, 1 Mar 2022 05:52:06 +0000 (06:52 +0100)
committerYves Orton <demerphq@gmail.com>
Wed, 9 Mar 2022 13:40:17 +0000 (14:40 +0100)
commita5931453352a489afb7c6e90d1711b35307b1975
tree723f2657898de02113d6bde5d5c09b45378d2d83
parentb0a2ad1aecf846f72a213db70b6bae92d9040499
improved .mailmap and AUTHORS file logic

This change updates AUTHORS with multiple missing contributors to the
project. It updates .mailmap so that the preferred email for each
developer matches what is in AUTHORS (sometimes changing the AUTHORS
entry, sometimes changes the .mailmap entry or entries to achieve this
goal. It also adds a new tool, Porting/UpdateAuthors.pl which can be
used to automatically update the relevant data.

The general idea is that if you run Porting/UpdateAuthors.pl any never
developers will be added to AUTHORS, and new entries will be added to
the .mailmap file. The aim is that the only data we need to have to
manage both files is the data in both files and the commit history
itself. There is NOT embedded special datasets in the tool.

The idea is that *every* developer, be it author or committer has at
least one entry in .mailmap, and that the vast majority of the email
data we have for commits is mapped to corresponding entry in the AUTHORS
file. Furthermore the .mailmap file is expected to have an entry for
every distinct email ever used by a developer on the project.

If you run Porting/UpdateAuthors.pl the tool will analyze all the
commits in the projects history, and update either or both the .mailmap
and AUTHORS file appropriately. If an existing developer adds a commit
which either has the same name or email as is listed already then it
will DTRT and update the .mailmap with the appropriate mappings. If a
new developer adds a commit then it will DTRT and update both the
.mailmap and the AUTHORS file with that developers details.

Every single existing distinct name/email combination has been added to
the mailmap, and matched to AUTHORS data. In some case where there was
conflicting or missing data I used an educated guess, contacted the
developer myself, or verified the email with the email provider. Eg.
gmail.com will helpfully resolve gmail email addresses to their name if
you simply type the email address into a new mail.

testing

testing

fixup

fixup

fixup
.mailmap
AUTHORS
MANIFEST
Porting/README.pod
Porting/checkAUTHORS.pl
Porting/exec-bit.txt
Porting/updateAUTHORS.pl [new file with mode: 0755]