summaryrefslogtreecommitdiff
path: root/Documentation/git-shortlog.txt
blob: a0eaab5250477f9721ce712168174af760e55404 (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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
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 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 <commit@email.xx>
--

The more complex forms are
--
	<proper@email.xx> <commit@email.xx>
--
which allows mailmap to replace only the email part of a commit, and
--
	Proper Name <proper@email.xx> <commit@email.xx>
--
which allows mailmap to replace both the name and the email of a
commit matching the specified commit email address, and
--
	Proper Name <proper@email.xx> Commit Name <commit@email.xx>
--
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@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 proper `.mailmap` file
would look like:

------------
Jane Doe         <jane@desktop.(none)>
Joe R. Developer <joe@example.com>
------------

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.

Example 2: Your repository contains commits from the following
authors:

------------
nick1 <bugs@company.xx>
nick2 <bugs@company.xx>
nick2 <nick2@company.xx>
santa <me@company.xx>
claus <me@company.xx>
CTO <cto@coompany.xx>
------------

Then, you might want a `.mailmap` file looking like:
------------
<cto@company.xx>                       <cto@coompany.xx>
Some Dude <some@dude.xx>         nick1 <bugs@company.xx>
Other Author <other@author.xx>   nick2 <bugs@company.xx>
Other Author <other@author.xx>         <nick2@company.xx>
Santa Claus <santa.claus@northpole.xx> <me@company.xx>
------------

Use hash '#' for comments that are either on their own line, or after
the email address.


Author
------
Written by Jeff Garzik <jgarzik@pobox.com>

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

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