summaryrefslogtreecommitdiff
path: root/Documentation/pretty-formats.txt
blob: d7ffc21ddf1e1241d8c485920e6ce56fe38c3f35 (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
--pretty[='<format>']::

        Pretty-prints the details of a commit.  `--pretty`
	without an explicit `=<format>` defaults to 'medium'.
	If the commit is a merge, and if the pretty-format
        is not 'oneline', 'email' or 'raw', an additional line is
        inserted before the 'Author:' line.  This line begins with
        "Merge: " and the sha1s of ancestral commits are printed,
        separated by spaces.  Note that the listed commits may not
        necessarily be the list of the *direct* parent commits if you
        have limited your view of history: for example, if you are
        only interested in changes related to a certain directory or
        file.  Here are some additional details for each format:

        * 'oneline'

	  <sha1> <title line>
+
This is designed to be as compact as possible.

        * 'short'

	  commit <sha1>
	  Author: <author>

	      <title line>

        * 'medium'

	  commit <sha1>
	  Author: <author>
	  Date: <date>

	      <title line>

	      <full commit message>

        * 'full'

	  commit <sha1>
	  Author: <author>
	  Commit: <committer>

	      <title line>

	      <full commit message>

        * 'fuller'

	  commit <sha1>
	  Author: <author>
	  AuthorDate: <date & time>
	  Commit: <committer>
	  CommitDate: <date & time>

	       <title line>

	       <full commit message>


        * 'email'

	  From <sha1> <date>
	  From: <author>
	  Date: <date & time>
	  Subject: [PATCH] <title line>

	  full commit message>


	* 'raw'
+
The 'raw' format shows the entire commit exactly as
stored in the commit object.  Notably, the SHA1s are
displayed in full, regardless of whether --abbrev or
--no-abbrev are used, and 'parents' information show the
true parent commits, without taking grafts nor history
simplification into account.

	* 'format:'
+
The 'format:' format allows you to specify which information
you want to show. It works a little bit like printf format,
with the notable exception that you get a newline with '%n'
instead of '\n'.

E.g, 'format:"The author of %h was %an, %ar%nThe title was >>%s<<"'
would show something like this:

The author of fe6e0ee was Junio C Hamano, 23 hours ago
The title was >>t4119: test autocomputing -p<n> for traditional diff input.<<

The placeholders are:

- '%H': commit hash
- '%h': abbreviated commit hash
- '%T': tree hash
- '%t': abbreviated tree hash
- '%P': parent hashes
- '%p': abbreviated parent hashes
- '%an': author name
- '%ae': author email
- '%ad': author date
- '%aD': author date, RFC2822 style
- '%ar': author date, relative
- '%at': author date, UNIX timestamp
- '%cn': committer name
- '%ce': committer email
- '%cd': committer date
- '%cD': committer date, RFC2822 style
- '%cr': committer date, relative
- '%ct': committer date, UNIX timestamp
- '%e': encoding
- '%s': subject
- '%b': body
- '%Cred': switch color to red
- '%Cgreen': switch color to green
- '%Cblue': switch color to blue
- '%Creset': reset color
- '%m': left, right or boundary mark
- '%n': newline


--encoding[=<encoding>]::
	The commit objects record the encoding used for the log message
	in their encoding header; this option can be used to tell the
	command to re-code the commit log message in the encoding
	preferred by the user.  For non plumbing commands this
	defaults to UTF-8.