-
Notifications
You must be signed in to change notification settings - Fork 3k
Meta: Add .mailmap to combine email aliases in git log. #7180
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
From time to time a new commit will appear from an existing commit which has a different name or email address (or both) than an existing name or email address. This occurs because of changing names and changing emails and because of mistakes. Additionally, the `svg`-to-`git` process double-encodes names from `profiles.wordpress.org` causing corruption in names with non-US-ASCII characters. This patch introduces a `.mailmap` file to alias committers so that: - All contributions for a given person are shown for that person. - Committers will be able to control or fix the display of their own name. The `.mailmap` file is a standard `git` configuration.
Trac Ticket MissingThis pull request is missing a link to a Trac ticket. For a contribution to be considered, there must be a corresponding ticket in Trac. To attach a pull request to a Trac ticket, please include the ticket's full URL in your pull request description. More information about contributing to WordPress on GitHub can be found in the Core Handbook. |
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the Core Committers: Use this line as a base for the props when committing in SVN:
To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
Test using WordPress PlaygroundThe changes in this pull request can previewed and tested using a WordPress Playground instance. WordPress Playground is an experimental project that creates a full WordPress instance entirely within the browser. Some things to be aware of
For more details about these limitations and more, check out the Limitations page in the WordPress Playground documentation. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is a nice idea to make code archaeology a little clearer.
So many Andrews, so many Joes...
.mailmap
Outdated
Andrea Fercia <afercia@git.wordpress.org> <afercia@602fd350-edb4-49c9-b593-d223f7449a82> | ||
Andrew Fercia <afercia@git.wordpress.org> <afrecia@602fd350-edb4-49c9-b593-d223f7449a82> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this a dupe, I'm not seeing Andrew Fercia
on trunk (which is nice, because it';s not Andrea's name).
Is there a chance it was intended to be Andrew Duthie in amongst all the Andrews?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oh no this was likely a mistake on my part. I started manually creating the list from git shortlot -n -s -e
but then realized that all these GUID-based emails were auto-generated and moved to a script. Probably I accidentally typed "Andrew" when it should have been "Andrew" and failed to notice when I merged the lists.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed the incorrect line in 379b0f4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice!
Ryan McCue <rmccue@git.wordpress.org> <rmccue@602fd350-edb4-49c9-b593-d223f7449a82> | ||
Scott Taylor <wonderboymusic@git.wordpress.org> <wonderboymusic@602fd350-edb4-49c9-b593-d223f7449a82> | ||
Sergey Biryukov <sergeybiryukov@git.wordpress.org> <SergeyBiryukov@602fd350-edb4-49c9-b593-d223f7449a82> | ||
Tammie Lister <karmatosed@git.wordpress.org> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this a mistake? It has no email to replace
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I notice there's several. Or is this just adding the name to cases where it's just the email?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, thanks @ellatrix - in this case this line is correcting a name. An entry with the correct email listed Tammy
as the name, and I eagerly matched it to Tammie Lister
so that it would join Tammie's other contributions.
I'm asking around to see if there is a way to automate this to avoid it falling out of date as contributors are added to the commit group. I think it's a nice to have rather than a blocker but let's see if it proves possible in the short term. |
I'm sure some automation will be possible, but also I think that raises a lot of ambiguous questions, such as:
Given that this is a display-only thing I would imagine we can circumvent a lot of maintenance and complexity by allowing contributors to govern their own commits. That's a nice thing about this file: if I did something wrong they can correct it; if they change their name or email, they can correct it, and they won't worry about their changes being automatically wiped out by some process that was unaware. Happy to see automation; I'm just sharing my skepticism that it's going to be as valuable or effective in practice as it might seem at the outset, mainly because we don't have any real indication if a new identity represents an existing one or not. |
I like this. I think we should preemptively add a |
I thought about this overnight and agree. It's worth putting in the file initially and subsequently working on improving the maintenance approach. I agree with @joemcgill that including everyone with the |
Good idea @joemcgill and @peterwilsoncc - I've added them in 3229de6 |
@dmsnell Was the
Lazyweb: I could |
@peterwilsoncc it could probably be removed. let me redo the last commit. that matches more tightly than just the email, but I don't suppose these would ever need that level of specificity |
okay the GUID replacements have beeen updated in fff1c51 to only match on the email address and not also the name. this reduces the number of added lines to the mailmap file. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM and the log is displaying as expected.
Modified the comment to include the need to include mixed case emails but it's not a hill I'm willing to climb, let alone die on.
There's also a double line break at the EOF that ought to be a single line break. Same deal re: the hill.
Pre-approving.
# Some entries appear as duplicates, but are both required to correct | ||
# identities with just the wrong name as well as those with the wrong | ||
# name and also the wrong email address. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# Some entries appear as duplicates, but are both required to correct | |
# identities with just the wrong name as well as those with the wrong | |
# name and also the wrong email address. | |
# Some entries appear as duplicates but are required to correct | |
# commits using different display names, different email address | |
# and identical email addresses stored in different case combinations. |
Or something to clarify that Email@
and email@
are required in some instances.
From time to time a new commit will appear from an existing commit which has a different name or email address (or both) than an existing name or email address. This occurs because of changing names and changing emails and because of mistakes. Additionally, the `svg`-to-`git` process double-encodes names from `profiles.wordpress.org` causing corruption in names with non-US-ASCII characters. This patch introduces a `.mailmap` file to alias committers so that: - All contributions for a given person are shown for that person. - Committers will be able to control or fix the display of their own name. The `.mailmap` file is a standard `git` configuration. Developed in #7180 Discussed in https://core.trac.wordpress.org/ticket/61864 Fixes #61864. git-svn-id: https://develop.svn.wordpress.org/trunk@58899 602fd350-edb4-49c9-b593-d223f7449a82
From time to time a new commit will appear from an existing commit which has a different name or email address (or both) than an existing name or email address. This occurs because of changing names and changing emails and because of mistakes. Additionally, the `svg`-to-`git` process double-encodes names from `profiles.wordpress.org` causing corruption in names with non-US-ASCII characters. This patch introduces a `.mailmap` file to alias committers so that: - All contributions for a given person are shown for that person. - Committers will be able to control or fix the display of their own name. The `.mailmap` file is a standard `git` configuration. Developed in WordPress/wordpress-develop#7180 Discussed in https://core.trac.wordpress.org/ticket/61864 Fixes #61864. Built from https://develop.svn.wordpress.org/trunk@58899 git-svn-id: http://core.svn.wordpress.org/trunk@58295 1a063a9b-81f0-0310-95a4-ce76da25c4cd
From time to time a new commit will appear from an existing commit which has a different name or email address (or both) than an existing name or email address. This occurs because of changing names and changing emails and because of mistakes. Additionally, the `svg`-to-`git` process double-encodes names from `profiles.wordpress.org` causing corruption in names with non-US-ASCII characters. This patch introduces a `.mailmap` file to alias committers so that: - All contributions for a given person are shown for that person. - Committers will be able to control or fix the display of their own name. The `.mailmap` file is a standard `git` configuration. Developed in WordPress/wordpress-develop#7180 Discussed in https://core.trac.wordpress.org/ticket/61864 Fixes #61864. Built from https://develop.svn.wordpress.org/trunk@58899 git-svn-id: https://core.svn.wordpress.org/trunk@58295 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Oops, sorry @peterwilsoncc if I missed your updates when I merged. I'll follow-up with your suggestions, but may not get to that today. |
From time to time a new commit will appear from an existing commit which has a different name or email address (or both) than an existing name or email address. This occurs because of changing names and changing emails and because of mistakes. Additionally, the `svg`-to-`git` process double-encodes names from `profiles.wordpress.org` causing corruption in names with non-US-ASCII characters. This patch introduces a `.mailmap` file to alias committers so that: - All contributions for a given person are shown for that person. - Committers will be able to control or fix the display of their own name. The `.mailmap` file is a standard `git` configuration. Developed in WordPress#7180 Discussed in https://core.trac.wordpress.org/ticket/61864 Fixes #61864. git-svn-id: https://develop.svn.wordpress.org/trunk@58899 602fd350-edb4-49c9-b593-d223f7449a82
Trac ticket: Core-61864.
From time to time a new commit will appear from an existing commit which has a different name or email address (or both) than an existing name or email address. This occurs because of changing names and changing emails and because of mistakes. Additionally, the
svg
-to-git
process double-encodes names fromprofiles.wordpress.org
causing corruption in names with non-US-ASCII characters.This patch introduces a
.mailmap
file to alias committers so that:All contributions for a given person are shown for that person.
Committers will be able to control or fix the display of their own name.
The
.mailmap
file is a standardgit
configuration.Impact on
git shortlog
The following is the change in output from
git shortlog -n -s -e
with the commit counts removed for easier diffing. Where names have been removed, commits ascribed to that committer have been joined into the aliased identity (and thus they are not lost).Impact on a commit
The following diff shows a commit from @dd32, with and without the aliasing in effect. At some point a commit was added with just the username and a GUID. Many contributors have this GUID-form of attribution.
In this diff, however, it's evident how corruption in the automated processes is resolved in
git
via the aliases, where @gziolo's name is corrected after it was double-encoded as UTF-8 in the user mapping fromsubversion
.