Skip to content

Commit

Permalink
Documentation: Split description of pretty formats of commit log
Browse files Browse the repository at this point in the history
Split description of pretty formats into list of pretty options
(--pretty and --encoding) in new file Documentation/pretty-options.txt
and description of formats itself as a separate "PRETTY FORMATS"
section in pretty-formats.txt

While at it correct formatting a bit, to be better laid out in the
resulting manpages: git-rev-list(1), git-show(1), git-log(1) and
git-diff-tree(1).  Those manpages now include pretty options in the
same place as it was before, and description of formats just after
all options.

Inspired by the split into two filesdocumentation for merge strategies:
Documentation/merge-options.txt and Documentation/merge-strategies.txt

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Jakub Narebski authored and Junio C Hamano committed May 14, 2007
1 parent 785cdea commit 331b51d
Show file tree
Hide file tree
Showing 6 changed files with 60 additions and 39 deletions.
5 changes: 4 additions & 1 deletion Documentation/git-diff-tree.txt
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ separated with a single space are given.
This flag causes "git-diff-tree --stdin" to also show
the commit message before the differences.

include::pretty-formats.txt[]
include::pretty-options.txt[]

--no-commit-id::
git-diff-tree outputs a line with the commit ID when
Expand Down Expand Up @@ -104,6 +104,9 @@ include::pretty-formats.txt[]
if the diff itself is empty.


include::pretty-formats.txt[]


Limiting Output
---------------
If you're only interested in differences in a subset of files, for
Expand Down
5 changes: 4 additions & 1 deletion Documentation/git-log.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ This manual page describes only the most frequently used options.
OPTIONS
-------

include::pretty-formats.txt[]
include::pretty-options.txt[]

-<n>::
Limits the number of commits to show.
Expand Down Expand Up @@ -58,6 +58,9 @@ include::pretty-formats.txt[]
Show only commits that affect the specified paths.


include::pretty-formats.txt[]


Examples
--------
git log --no-merges::
Expand Down
6 changes: 5 additions & 1 deletion Documentation/git-rev-list.txt
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ Using these options, gitlink:git-rev-list[1] will act similar to the
more specialized family of commit log tools: gitlink:git-log[1],
gitlink:git-show[1], and gitlink:git-whatchanged[1]

include::pretty-formats.txt[]
include::pretty-options.txt[]

--relative-date::

Expand Down Expand Up @@ -367,6 +367,10 @@ These options are mostly targeted for packing of git repositories.
Only useful with '--objects'; print the object IDs that are not
in packs.


include::pretty-formats.txt[]


Author
------
Written by Linus Torvalds <torvalds@osdl.org>
Expand Down
3 changes: 3 additions & 0 deletions Documentation/git-show.txt
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@ OPTIONS
For a more complete list of ways to spell object names, see
"SPECIFYING REVISIONS" section in gitlink:git-rev-parse[1].

include::pretty-options.txt[]


include::pretty-formats.txt[]


Expand Down
66 changes: 30 additions & 36 deletions Documentation/pretty-formats.txt
Original file line number Diff line number Diff line change
@@ -1,31 +1,32 @@
--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'
PRETTY FORMATS
--------------

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'
* 'short'

commit <sha1>
Author: <author>

<title line>

* 'medium'
* 'medium'

commit <sha1>
Author: <author>
Expand All @@ -35,7 +36,7 @@ This is designed to be as compact as possible.

<full commit message>

* 'full'
* 'full'

commit <sha1>
Author: <author>
Expand All @@ -45,7 +46,7 @@ This is designed to be as compact as possible.

<full commit message>

* 'fuller'
* 'fuller'

commit <sha1>
Author: <author>
Expand All @@ -57,18 +58,16 @@ This is designed to be as compact as possible.

<full commit message>


* 'email'
* 'email'

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

full commit message>

<full commit message>

* 'raw'
* 'raw'
+
The 'raw' format shows the entire commit exactly as
stored in the commit object. Notably, the SHA1s are
Expand All @@ -77,19 +76,22 @@ displayed in full, regardless of whether --abbrev or
true parent commits, without taking grafts nor history
simplification into account.

* 'format:'
* '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<<"'
+
E.g, 'format:"The author of %h was %an, %ar%nThe title was >>%s<<%n"'
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
Expand Down Expand Up @@ -120,11 +122,3 @@ The placeholders are:
- '%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.

14 changes: 14 additions & 0 deletions Documentation/pretty-options.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
--pretty[='<format>']::

Pretty print the contents of the commit logs in a given format,
where '<format>' can be one of 'oneline', 'short', 'medium',
'full', 'fuller', 'email', 'raw' and 'format:<string>'.
When left out the format default to 'medium'.

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

0 comments on commit 331b51d

Please sign in to comment.