gitmailmap(5) (original) (raw)
Your history contains commits by two authors, Jane and Joe, whose names appear in the repository under several forms:
Joe Developer joe@example.com Joe R. Developer joe@example.com Jane Doe jane@example.com Jane Doe <jane@laptop.(none)> Jane D. <jane@desktop.(none)>
Now suppose that Joe wants his middle name initial used, and Jane prefers her family name fully spelled out. A .mailmap
file to correct the names would look like:
Joe R. Developer joe@example.com Jane Doe jane@example.com Jane Doe <jane@desktop.(none)>
Note that there’s no need to map the name for <jane@laptop.(none)> to only correct the names. However, leaving the obviously broken_<jane@laptop.(none)>_ and <jane@desktop.(none)> E-Mails as-is is usually not what you want. A .mailmap
file which also corrects those is:
Joe R. Developer joe@example.com Jane Doe jane@example.com <jane@laptop.(none)> Jane Doe jane@example.com <jane@desktop.(none)>
Finally, let’s say that Joe and Jane shared an E-Mail address, but not a name, e.g. by having these two commits in the history generated by a bug reporting system. I.e. names appearing in history as:
Joe bugs@example.com Jane bugs@example.com
A full .mailmap
file which also handles those cases (an addition of two lines to the above example) would be:
Joe R. Developer joe@example.com Jane Doe jane@example.com <jane@laptop.(none)> Jane Doe jane@example.com <jane@desktop.(none)> Joe R. Developer joe@example.com Joe bugs@example.com Jane Doe jane@example.com Jane bugs@example.com