Skip to content

Conversation

@peterfpeterson
Copy link
Member

This PR gets rid of the custom work for fixing committer/author information to use functionality git already has.

gitmailmap is a built in git functionality for converting the random names/emails that people supply into something more meaningful. This includes correcting the names and email addresses.

There is no associated issue.

To test:

This added the ability to get the authors directly from tools/DOI/authors.py and can be run without accidentally creating a DOI. Use tools/DOI/authors.py --help to find out how to use it and try the two modes. As it says, you need to contact a TWG member (i.e. me) to get the .gitmailmap file.

This does not require release notes* because it modifies how authors are generated for the DOI tool.


Reviewer

Your comments will be used as part of the gatekeeper process. Comment clearly on what you have checked and tested during your review. Provide an audit trail for any changes requested.

As per the review guidelines:

  • Is the code of an acceptable quality? (Code standards/GUI standards)
  • Has a thorough functional test been performed? Do the changes handle unexpected input/situations?
  • Are appropriately scoped unit and/or system tests provided?
  • Do the release notes conform to the guidelines and describe the changes appropriately?
  • Has the relevant (user and developer) documentation been added/updated?
  • If the PR author isn’t in the mantid-developers or mantid-contributors teams, add a review comment rerun ci to authorize/rerun the CI

Gatekeeper

As per the gatekeeping guidelines:

  • Has a thorough first line review been conducted, including functional testing?
  • At a high-level, is the code quality sufficient?
  • Are the base, milestone and labels correct?

This PR gets rid of the custom work for fixing committer/author
information to use functionality git already has.

[gitmailmap](https://git-scm.com/docs/gitmailmap) is a built in git
functionality for converting the random names/emails that people supply
into something more meaningful. This includes correcting the names and
email addresses.
@peterfpeterson peterfpeterson added this to the Release 6.15 milestone Nov 25, 2025
@peterfpeterson peterfpeterson added the Maintenance Unassigned issues to be addressed in the next maintenance period. label Nov 25, 2025
@thomashampson thomashampson self-assigned this Dec 2, 2025
Copy link
Contributor

@thomashampson thomashampson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like that you can now run the authors.py script directly to print a list of authors for a given version. However, I think these points need to be addressed:

  1. It does not return the names in "last_name, first_name(s)" format, as per the DOI schema.
  2. It relies on a .mailmap file existing to map multiple aliases to each author. This would need to be hosted somewhere and updated by the technical release manager each release.
  3. Some people may want there DOI author name to differ from their github name (e.g. Rob might want his formal name Robert to be his author name). This information is already captured in the existing translations list, and would need to be replicated in the mailmap.

@peterfpeterson
Copy link
Member Author

All your points are quite valid. This moves the responsibility of correctly referring to committers to the mailmap file, which is maintained separately. Changes to the mailmap are as frequent as editing the existing script currently is. We could address the issues of the naming conventions in the mailmap file, but that assumes we stick with this approach. The bad part of using the mailmap is that we have to share/sync it separately.

A totally separate question I have is how we could use this to update the CITATION.cff and associate orcid for committers that have them. That is not for this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Maintenance Unassigned issues to be addressed in the next maintenance period.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants