Git fork
at reftables-rust 130 lines 3.6 kB view raw
1gitmailmap(5) 2============= 3 4NAME 5---- 6gitmailmap - Map author/committer names and/or E-Mail addresses 7 8SYNOPSIS 9-------- 10$GIT_WORK_TREE/.mailmap 11 12 13DESCRIPTION 14----------- 15 16If the file `.mailmap` exists at the toplevel of the repository, or at 17the location pointed to by the `mailmap.file` or `mailmap.blob` 18configuration options (see linkgit:git-config[1]), it 19is used to map author and committer names and email addresses to 20canonical real names and email addresses. 21 22 23SYNTAX 24------ 25 26The '#' character begins a comment to the end of line, blank lines 27are ignored. 28 29In the simple form, each line in the file consists of the canonical 30real name of an author, whitespace, and an email address used in the 31commit (enclosed by '<' and '>') to map to the name. For example: 32-- 33 Proper Name <commit@email.xx> 34-- 35 36The more complex forms are: 37-- 38 <proper@email.xx> <commit@email.xx> 39-- 40which allows mailmap to replace only the email part of a commit, and: 41-- 42 Proper Name <proper@email.xx> <commit@email.xx> 43-- 44which allows mailmap to replace both the name and the email of a 45commit matching the specified commit email address, and: 46-- 47 Proper Name <proper@email.xx> Commit Name <commit@email.xx> 48-- 49which allows mailmap to replace both the name and the email of a 50commit matching both the specified commit name and email address. 51 52Both E-Mails and names are matched case-insensitively. For example 53this would also match the 'Commit Name <commit&#64;email.xx>' above: 54-- 55 Proper Name <proper@email.xx> CoMmIt NaMe <CoMmIt@EmAiL.xX> 56-- 57 58NOTES 59----- 60 61Git does not follow symbolic links when accessing a `.mailmap` file in 62the working tree. This keeps behavior consistent when the file is 63accessed from the index or a tree versus from the filesystem. 64 65EXAMPLES 66-------- 67 68Your history contains commits by two authors, Jane 69and Joe, whose names appear in the repository under several forms: 70 71------------ 72Joe Developer <joe@example.com> 73Joe R. Developer <joe@example.com> 74Jane Doe <jane@example.com> 75Jane Doe <jane@laptop.(none)> 76Jane D. <jane@desktop.(none)> 77------------ 78 79Now suppose that Joe wants his middle name initial used, and Jane 80prefers her family name fully spelled out. A `.mailmap` file to 81correct the names would look like: 82 83------------ 84Joe R. Developer <joe@example.com> 85Jane Doe <jane@example.com> 86Jane Doe <jane@desktop.(none)> 87------------ 88 89Note that there's no need to map the name for '<jane&#64;laptop.(none)>' to 90only correct the names. However, leaving the obviously broken 91'<jane&#64;laptop.(none)>' and '<jane&#64;desktop.(none)>' E-Mails as-is is 92usually not what you want. A `.mailmap` file which also corrects those 93is: 94 95------------ 96Joe R. Developer <joe@example.com> 97Jane Doe <jane@example.com> <jane@laptop.(none)> 98Jane Doe <jane@example.com> <jane@desktop.(none)> 99------------ 100 101Finally, let's say that Joe and Jane shared an E-Mail address, but not 102a name, e.g. by having these two commits in the history generated by a 103bug reporting system. I.e. names appearing in history as: 104 105------------ 106Joe <bugs@example.com> 107Jane <bugs@example.com> 108------------ 109 110A full `.mailmap` file which also handles those cases (an addition of 111two lines to the above example) would be: 112 113------------ 114Joe R. Developer <joe@example.com> 115Jane Doe <jane@example.com> <jane@laptop.(none)> 116Jane Doe <jane@example.com> <jane@desktop.(none)> 117Joe R. Developer <joe@example.com> Joe <bugs@example.com> 118Jane Doe <jane@example.com> Jane <bugs@example.com> 119------------ 120 121 122 123SEE ALSO 124-------- 125linkgit:git-check-mailmap[1] 126 127 128GIT 129--- 130Part of the linkgit:git[1] suite