pretty-formats: add 'format:<string>'
[git/dscho.git] / Documentation / pretty-formats.txt
blob2fe6c319675926afe1609ad7c221dceb42c82310
1 --pretty[='<format>']::
3         Pretty-prints the details of a commit.  `--pretty`
4         without an explicit `=<format>` defaults to 'medium'.
5         If the commit is a merge, and if the pretty-format
6         is not 'oneline', 'email' or 'raw', an additional line is
7         inserted before the 'Author:' line.  This line begins with
8         "Merge: " and the sha1s of ancestral commits are printed,
9         separated by spaces.  Note that the listed commits may not
10         necessarily be the list of the *direct* parent commits if you
11         have limited your view of history: for example, if you are
12         only interested in changes related to a certain directory or
13         file.  Here are some additional details for each format:
15         * 'oneline'
17           <sha1> <title line>
19 This is designed to be as compact as possible.
21         * 'short'
23           commit <sha1>
24           Author: <author>
26               <title line>
28         * 'medium'
30           commit <sha1>
31           Author: <author>
32           Date: <date>
34               <title line>
36               <full commit message>
38         * 'full'
40           commit <sha1>
41           Author: <author>
42           Commit: <committer>
44               <title line>
46               <full commit message>
48         * 'fuller'
50           commit <sha1>
51           Author: <author>
52           AuthorDate: <date & time>
53           Commit: <committer>
54           CommitDate: <date & time>
56                <title line>
58                <full commit message>
61         * 'email'
63           From <sha1> <date>
64           From: <author>
65           Date: <date & time>
66           Subject: [PATCH] <title line>
68           full commit message>
71         * 'raw'
73 The 'raw' format shows the entire commit exactly as
74 stored in the commit object.  Notably, the SHA1s are
75 displayed in full, regardless of whether --abbrev or
76 --no-abbrev are used, and 'parents' information show the
77 true parent commits, without taking grafts nor history
78 simplification into account.
80         * 'format:'
82 The 'format:' format allows you to specify which information
83 you want to show. It works a little bit like printf format,
84 with the notable exception that you get a newline with '%n'
85 instead of '\n'.
87 E.g, 'format:"The author of %h was %an, %ar%nThe title was >>%s<<"'
88 would show something like this:
90 The author of fe6e0ee was Junio C Hamano, 23 hours ago
91 The title was >>t4119: test autocomputing -p<n> for traditional diff input.<<
93 The placeholders are:
95 - '%H': commit hash
96 - '%h': abbreviated commit hash
97 - '%T': tree hash
98 - '%t': abbreviated tree hash
99 - '%P': parent hashes
100 - '%p': abbreviated parent hashes
101 - '%an': author name
102 - '%ae': author email
103 - '%ad': author date
104 - '%aD': author date, RFC2822 style
105 - '%ar': author date, relative
106 - '%at': author date, UNIX timestamp
107 - '%cn': committer name
108 - '%ce': committer email
109 - '%cd': committer date
110 - '%cD': committer date, RFC2822 style
111 - '%cr': committer date, relative
112 - '%ct': committer date, UNIX timestamp
113 - '%e': encoding
114 - '%s': subject
115 - '%b': body
116 - '%Cred': switch color to red
117 - '%Cgreen': switch color to green
118 - '%Cblue': switch color to blue
119 - '%Creset': reset color
120 - '%n': newline
123 --encoding[=<encoding>]::
124         The commit objects record the encoding used for the log message
125         in their encoding header; this option can be used to tell the
126         command to re-code the commit log message in the encoding
127         preferred by the user.  For non plumbing commands this
128         defaults to UTF-8.