Merge branch 'jk/signal-cleanup'
[gitweb.git] / Documentation / git-shortlog.txt
index d54fc3e5c6d7ba3be31fa2c1238e2d7039c92e74..498bd289297803e372cf6bc0079d040c23b0a6bb 100644 (file)
@@ -3,15 +3,17 @@ git-shortlog(1)
 
 NAME
 ----
-git-shortlog - Summarize 'git log' output
+git-shortlog - Summarize 'git-log' output
 
 SYNOPSIS
 --------
-git-log --pretty=short | 'git-shortlog' [-h] [-n] [-s]
+[verse]
+git log --pretty=short | 'git shortlog' [-h] [-n] [-s] [-e] [-w]
+git shortlog [-n|--numbered] [-s|--summary] [-e|--email] [-w[<width>[,<indent1>[,<indent2>]]]] [<committish>...]
 
 DESCRIPTION
 -----------
-Summarizes 'git log' output in a format suitable for inclusion
+Summarizes 'git-log' output in a format suitable for inclusion
 in release announcements. Each commit will be grouped by author and
 the first line of the commit message will be shown.
 
@@ -21,26 +23,67 @@ OPTIONS
 -------
 
 -h::
+--help::
        Print a short usage message and exit.
 
 -n::
+--numbered::
        Sort output according to the number of commits per author instead
        of author alphabetic order.
 
 -s::
-       Supress commit description and provide a commit count summary only.
+--summary::
+       Suppress commit description and provide a commit count summary only.
+
+-e::
+--email::
+       Show the email address of each author.
+
+-w[<width>[,<indent1>[,<indent2>]]]::
+       Linewrap the output by wrapping each line at `width`.  The first
+       line of each entry is indented by `indent1` spaces, and the second
+       and subsequent lines are indented by `indent2` spaces. `width`,
+       `indent1`, and `indent2` default to 76, 6 and 9 respectively.
 
 FILES
 -----
-'.mailmap'::
-       If this file exists, it will be used for mapping author email
-       addresses to a real author name. One mapping per line, first
-       the author name followed by the email address enclosed by
-       '<' and '>'. Use hash '#' for comments. Example:
 
-               # Keep alphabetized
-               Adam Morrow <adam@localhost.localdomain>
-               Eve Jones <eve@laptop.(none)>
+If a file `.mailmap` exists at the toplevel of the repository,
+it is used to map an author email address to a canonical real name. This
+can be used to coalesce together commits by the same person where their
+name was spelled differently (whether with the same email address or
+not).
+
+Each line in the file consists, in this order, of the canonical real name
+of an author, whitespace, and an email address (enclosed by '<' and '>')
+to map to the name. Use hash '#' for comments, either on their own line,
+or after the email address.
+
+A canonical name may appear in more than one line, associated with
+different email addresses, but it doesn't make sense for a given address
+to appear more than once (if that happens, a later line overrides the
+earlier ones).
+
+So, for example, if 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)>
+------------
+
+Then, supposing Joe wants his middle name initial used, and Jane prefers
+her family name fully spelled out, a proper `.mailmap` file would look like:
+
+------------
+# Note how we don't need an entry for <jane@laptop.(none)>, because the
+# real name of that author is correct already, and coalesced directly.
+Jane Doe <jane@desktop.(none)>
+Joe R. Developer <joe@example.com>
+------------
 
 Author
 ------
@@ -52,5 +95,4 @@ Documentation by Junio C Hamano.
 
 GIT
 ---
-Part of the gitlink:git[7] suite
-
+Part of the linkgit:git[1] suite