From 7d48e9e6f77d336376c1a554eeff0590f77e1ee1 Mon Sep 17 00:00:00 2001 From: Marius Storm-Olsen Date: Sun, 8 Feb 2009 15:34:31 +0100 Subject: [PATCH] Move mailmap documentation into separate file Include it directly from git-shortlog.txt, and refer to it from pretty-format.txt. Signed-off-by: Marius Storm-Olsen Signed-off-by: Junio C Hamano --- Documentation/git-blame.txt | 6 +++ Documentation/git-shortlog.txt | 89 ++++---------------------------- Documentation/mailmap.txt | 75 +++++++++++++++++++++++++++ Documentation/pretty-formats.txt | 8 +-- 4 files changed, 94 insertions(+), 84 deletions(-) create mode 100644 Documentation/mailmap.txt diff --git a/Documentation/git-blame.txt b/Documentation/git-blame.txt index fba374d65..6999cf2a6 100644 --- a/Documentation/git-blame.txt +++ b/Documentation/git-blame.txt @@ -184,6 +184,12 @@ there is ever added information (like the commit encoding or extended commit commentary), a blame viewer won't ever care. +MAPPING AUTHORS +--------------- + +include::mailmap.txt[] + + SEE ALSO -------- linkgit:git-annotate[1] diff --git a/Documentation/git-shortlog.txt b/Documentation/git-shortlog.txt index a0eaab525..42463a955 100644 --- a/Documentation/git-shortlog.txt +++ b/Documentation/git-shortlog.txt @@ -45,86 +45,15 @@ OPTIONS and subsequent lines are indented by `indent2` spaces. `width`, `indent1`, and `indent2` default to 76, 6 and 9 respectively. -FILES ------ - -If the file `.mailmap` exists at the toplevel of the repository, or at -the location pointed to by the mailmap.file configuration option, it -is used to map author and committer names and email addresses to -canonical real names and email addresses. -This mapping can be used to coalesce together commits by the same -person where their name and/or email address was spelled differently. - -In the simple form, each line in the file consists of the canonical -real name of an author, whitespace, and an email address used in the -commit (enclosed by '<' and '>') to map to the name. Thus, looks like -this --- - Proper Name --- - -The more complex forms are --- - --- -which allows mailmap to replace only the email part of a commit, and --- - Proper Name --- -which allows mailmap to replace both the name and the email of a -commit matching the specified commit email address, and --- - Proper Name Commit Name --- -which allows mailmap to replace both the name and the email of a -commit matching both the specified commit name and email address. - -Example 1: Your history contains commits by two authors, Jane -and Joe, whose names appear in the repository under several forms: - ------------- -Joe Developer -Joe R. Developer -Jane Doe -Jane Doe -Jane D. ------------- - -Now suppose that Joe wants his middle name initial used, and Jane -prefers her family name fully spelled out. A proper `.mailmap` file -would look like: - ------------- -Jane Doe -Joe R. Developer ------------- - -Note how we don't need an entry for , because the -real name of that author is correct already, and coalesced directly. - -Example 2: Your repository contains commits from the following -authors: - ------------- -nick1 -nick2 -nick2 -santa -claus -CTO ------------- - -Then, you might want a `.mailmap` file looking like: ------------- - -Some Dude nick1 -Other Author nick2 -Other Author -Santa Claus ------------- - -Use hash '#' for comments that are either on their own line, or after -the email address. + +MAPPING AUTHORS +--------------- + +The `.mailmap` feature is used to coalesce together commits by the same +person in the shortlog, where their name and/or email address was +spelled differently. + +include::mailmap.txt[] Author diff --git a/Documentation/mailmap.txt b/Documentation/mailmap.txt new file mode 100644 index 000000000..e25b15483 --- /dev/null +++ b/Documentation/mailmap.txt @@ -0,0 +1,75 @@ +If the file `.mailmap` exists at the toplevel of the repository, or at +the location pointed to by the mailmap.file configuration option, it +is used to map author and committer names and email addresses to +canonical real names and email addresses. + +In the simple form, each line in the file consists of the canonical +real name of an author, whitespace, and an email address used in the +commit (enclosed by '<' and '>') to map to the name. Thus, looks like +this +-- + Proper Name +-- + +The more complex forms are +-- + +-- +which allows mailmap to replace only the email part of a commit, and +-- + Proper Name +-- +which allows mailmap to replace both the name and the email of a +commit matching the specified commit email address, and +-- + Proper Name Commit Name +-- +which allows mailmap to replace both the name and the email of a +commit matching both the specified commit name and email address. + +Example 1: Your history contains commits by two authors, Jane +and Joe, whose names appear in the repository under several forms: + +------------ +Joe Developer +Joe R. Developer +Jane Doe +Jane Doe +Jane D. +------------ + +Now suppose that Joe wants his middle name initial used, and Jane +prefers her family name fully spelled out. A proper `.mailmap` file +would look like: + +------------ +Jane Doe +Joe R. Developer +------------ + +Note how we don't need an entry for , because the +real name of that author is correct already. + +Example 2: Your repository contains commits from the following +authors: + +------------ +nick1 +nick2 +nick2 +santa +claus +CTO +------------ + +Then, you might want a `.mailmap` file looking like: +------------ + +Some Dude nick1 +Other Author nick2 +Other Author +Santa Claus +------------ + +Use hash '#' for comments that are either on their own line, or after +the email address. \ No newline at end of file diff --git a/Documentation/pretty-formats.txt b/Documentation/pretty-formats.txt index 28808b72e..159390c35 100644 --- a/Documentation/pretty-formats.txt +++ b/Documentation/pretty-formats.txt @@ -101,18 +101,18 @@ The placeholders are: - '%P': parent hashes - '%p': abbreviated parent hashes - '%an': author name -- '%aN': author name (respecting .mailmap) +- '%aN': author name (respecting .mailmap, see linkgit:git-shortlog[1] or linkgit:git-blame[1]) - '%ae': author email -- '%aE': author email (respecting .mailmap) +- '%aE': author email (respecting .mailmap, see linkgit:git-shortlog[1] or linkgit:git-blame[1]) - '%ad': author date (format respects --date= option) - '%aD': author date, RFC2822 style - '%ar': author date, relative - '%at': author date, UNIX timestamp - '%ai': author date, ISO 8601 format - '%cn': committer name -- '%cN': committer name (respecting .mailmap) +- '%cN': committer name (respecting .mailmap, see linkgit:git-shortlog[1] or linkgit:git-blame[1]) - '%ce': committer email -- '%cE': committer email (respecting .mailmap) +- '%cE': committer email (respecting .mailmap, see linkgit:git-shortlog[1] or linkgit:git-blame[1]) - '%cd': committer date - '%cD': committer date, RFC2822 style - '%cr': committer date, relative -- 2.30.2