summaryrefslogtreecommitdiff
path: root/Documentation/git-shortlog.txt
blob: 498bd289297803e372cf6bc0079d040c23b0a6bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
git-shortlog(1)
===============

NAME
----
git-shortlog - Summarize 'git-log' output

SYNOPSIS
--------
[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
in release announcements. Each commit will be grouped by author and
the first line of the commit message will be shown.

Additionally, "[PATCH]" will be stripped from the commit description.

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::
--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
-----

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
------
Written by Jeff Garzik <jgarzik@pobox.com>

Documentation
--------------
Documentation by Junio C Hamano.

GIT
---
Part of the linkgit:git[1] suite