Wildcards in mailmap to hide transgender people's deadnames

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi! I would like to suggest that the mailmap feature accepts (a limited form of) wildcards for matching email addresses, which helps transgender users configure the mailmap to map their old name ("deadname") and email to their new name and email without revealing the old info in the mailmap config itself.

For example, consider a user who changed their name from Jane Doe to John Doe, and their email from jane.doe@xxxxxxxxxxx to john.doe@xxxxxxxxxxx. John wants to prevent others from learning their old name, but sometimes it's not feasible to rewrite the entire history of the repository (e.g. because there are thousands of commits, or because this would mess up references between commits). In this case, mailmap seems like a good way to prevent people from finding out the old name by accident: Just add the line `John Doe <john.doe@xxxxxxxxxxx> <jane.doe@xxxxxxxxxxx>` to the mailmap config. However, this has the unfortunate effect that readers may now accidentally find John's old name if they look at the mailmap config.

I suggest that mailmap config files support wildcards in the email address. This helps people who have changed their name to specify a mapping without revealing their old name in the definition of this mapping. Because the * symbol is valid in an email address, I suggest the sequence \* to be the wildcard symbol, meaning "0 or more symbols". This cannot be misinterpreted in an RFC5322-valid email address, because this sequence is not legal in the domain part, is not legal in an unquoted local part, and is not legal in a quoted local part unless preceded by an unescaped backslash (that is, "jo\\*hn"@doe.com does not contain a wildcard). In short, if mailmap encounters the sequence \* in an email address, it should interpret the sequence as a wildcard if and only if it is not directly preceded by an odd number of backslashes regardless of whether the local part is quoted (so \* is a wildcard, \\* is not, \\\* is, \\\\* is not).

Now, John can now add the following line to their mailmap config: `John Doe <john.doe@xxxxxxxxxxx> <\*.doe@xxxxxxxxxxx>`, which does not reveal their old name. Someone could always spend more effort to uncover the name using more advanced tools, but the point of this feature is to prevent accidental discovery of the name in cases where completely hiding the name is not feasible.

If you have feedback or comments on this suggestion, please let me know.

- Florine





[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux