2010-10-08 19:31:18 +02:00
|
|
|
--pretty[=<format>]::
|
|
|
|
--format=<format>::
|
2007-05-14 01:25:45 +02:00
|
|
|
|
2007-07-24 20:59:47 +02:00
|
|
|
Pretty-print the contents of the commit logs in a given format,
|
2007-05-14 01:25:45 +02:00
|
|
|
where '<format>' can be one of 'oneline', 'short', 'medium',
|
2019-11-20 01:51:25 +01:00
|
|
|
'full', 'fuller', 'reference', 'email', 'raw', 'format:<string>'
|
2015-01-16 02:32:57 +01:00
|
|
|
and 'tformat:<string>'. When '<format>' is none of the above,
|
|
|
|
and has '%placeholder' in it, it acts as if
|
|
|
|
'--pretty=tformat:<format>' were given.
|
|
|
|
+
|
|
|
|
See the "PRETTY FORMATS" section for some additional details for each
|
|
|
|
format. When '=<format>' part is omitted, it defaults to 'medium'.
|
2008-03-02 10:05:53 +01:00
|
|
|
+
|
|
|
|
Note: you can specify the default pretty format in the repository
|
|
|
|
configuration (see linkgit:git-config[1]).
|
2007-05-14 01:25:45 +02:00
|
|
|
|
2007-06-16 21:03:39 +02:00
|
|
|
--abbrev-commit::
|
|
|
|
Instead of showing the full 40-byte hexadecimal commit object
|
2020-11-04 23:01:37 +01:00
|
|
|
name, show a prefix that names the object uniquely.
|
|
|
|
"--abbrev=<n>" (which also modifies diff output, if it is displayed)
|
|
|
|
option can be used to specify the minimum length of the prefix.
|
2007-06-16 21:03:39 +02:00
|
|
|
+
|
|
|
|
This should make "--pretty=oneline" a whole lot more readable for
|
|
|
|
people using 80-column terminals.
|
|
|
|
|
2011-05-18 19:56:04 +02:00
|
|
|
--no-abbrev-commit::
|
|
|
|
Show the full 40-byte hexadecimal commit object name. This negates
|
2020-08-26 16:49:23 +02:00
|
|
|
`--abbrev-commit`, either explicit or implied by other options such
|
|
|
|
as "--oneline". It also overrides the `log.abbrevCommit` variable.
|
2011-05-18 19:56:04 +02:00
|
|
|
|
2009-02-24 10:59:16 +01:00
|
|
|
--oneline::
|
|
|
|
This is a shorthand for "--pretty=oneline --abbrev-commit"
|
|
|
|
used together.
|
|
|
|
|
2013-08-03 00:16:40 +02:00
|
|
|
--encoding=<encoding>::
|
2021-08-27 20:32:06 +02:00
|
|
|
Commit objects record the character encoding used for the log message
|
2007-05-14 01:25:45 +02:00
|
|
|
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
|
2015-06-17 20:46:08 +02:00
|
|
|
defaults to UTF-8. Note that if an object claims to be encoded
|
|
|
|
in `X` and we are outputting in `X`, we will output the object
|
|
|
|
verbatim; this means that invalid sequences in the original
|
logmsg_reencode(): warn when iconv() fails
If the user asks for a pretty-printed commit to be converted (either
explicitly with --encoding=foo, or implicitly because the commit is
non-utf8 and we want to convert it), we pass it through iconv(). If that
fails, we fall back to showing the input verbatim, but don't tell the
user that the output may be bogus.
Let's add a warning to do so, along with a mention in the documentation
for --encoding. Two things to note about the implementation:
- we could produce the warning closer to the call to iconv() in
reencode_string_len(), which would let us relay the value of errno.
But this is not actually very helpful. reencode_string_len() does
not know we are operating on a commit, and indeed does not know that
the caller won't produce an error of its own. And the errno values
from iconv() are seldom helpful (iconv_open() only ever produces
EINVAL; perhaps EILSEQ from iconv() might be illuminating, but it
can also return EINVAL for incomplete sequences).
- if the reason for the failure is that the output charset is not
supported, then the user will see this warning for every commit we
try to display. That might be ugly and overwhelming, but on the
other hand it is making it clear that every one of them has not been
converted (and the likely outcome anyway is to re-try the command
with a supported output encoding).
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-08-27 20:30:15 +02:00
|
|
|
commit may be copied to the output. Likewise, if iconv(3) fails
|
|
|
|
to convert the commit, we will output the original object
|
|
|
|
verbatim, along with a warning.
|
2010-01-20 22:59:36 +01:00
|
|
|
|
2016-03-30 01:05:39 +02:00
|
|
|
--expand-tabs=<n>::
|
2016-03-16 17:15:53 +01:00
|
|
|
--expand-tabs::
|
2016-03-30 00:49:24 +02:00
|
|
|
--no-expand-tabs::
|
2016-03-16 17:15:53 +01:00
|
|
|
Perform a tab expansion (replace each tab with enough spaces
|
2016-03-30 01:05:39 +02:00
|
|
|
to fill to the next display column that is multiple of '<n>')
|
2016-03-16 17:15:53 +01:00
|
|
|
in the log message before showing it in the output.
|
2016-03-30 01:05:39 +02:00
|
|
|
`--expand-tabs` is a short-hand for `--expand-tabs=8`, and
|
|
|
|
`--no-expand-tabs` is a short-hand for `--expand-tabs=0`,
|
|
|
|
which disables tab expansion.
|
2016-03-30 00:49:24 +02:00
|
|
|
+
|
|
|
|
By default, tabs are expanded in pretty formats that indent the log
|
|
|
|
message by 4 spaces (i.e. 'medium', which is the default, 'full',
|
2016-03-30 01:05:39 +02:00
|
|
|
and 'fuller').
|
2016-03-16 17:15:53 +01:00
|
|
|
|
2015-08-23 19:56:40 +02:00
|
|
|
ifndef::git-rev-list[]
|
2019-11-20 22:18:31 +01:00
|
|
|
--notes[=<ref>]::
|
2010-01-20 22:59:36 +01:00
|
|
|
Show the notes (see linkgit:git-notes[1]) that annotate the
|
|
|
|
commit, when showing the commit log message. This is the default
|
|
|
|
for `git log`, `git show` and `git whatchanged` commands when
|
2014-04-01 00:11:44 +02:00
|
|
|
there is no `--pretty`, `--format`, or `--oneline` option given
|
2011-03-30 02:57:19 +02:00
|
|
|
on the command line.
|
|
|
|
+
|
|
|
|
By default, the notes shown are from the notes refs listed in the
|
2016-06-08 19:23:16 +02:00
|
|
|
`core.notesRef` and `notes.displayRef` variables (or corresponding
|
2011-03-30 02:57:19 +02:00
|
|
|
environment overrides). See linkgit:git-config[1] for more details.
|
|
|
|
+
|
2019-11-20 22:18:31 +01:00
|
|
|
With an optional '<ref>' argument, use the ref to find the notes
|
|
|
|
to display. The ref can specify the full refname when it begins
|
2015-09-23 00:15:03 +02:00
|
|
|
with `refs/notes/`; when it begins with `notes/`, `refs/` and otherwise
|
|
|
|
`refs/notes/` is prefixed to form a full name of the ref.
|
2010-03-12 18:04:26 +01:00
|
|
|
+
|
2011-03-30 02:57:19 +02:00
|
|
|
Multiple --notes options can be combined to control which notes are
|
|
|
|
being displayed. Examples: "--notes=foo" will show only notes from
|
|
|
|
"refs/notes/foo"; "--notes=foo --notes" will show both notes from
|
|
|
|
"refs/notes/foo" and from the default notes ref(s).
|
2010-03-12 18:04:26 +01:00
|
|
|
|
2011-03-30 02:57:19 +02:00
|
|
|
--no-notes::
|
|
|
|
Do not show notes. This negates the above `--notes` option, by
|
|
|
|
resetting the list of notes refs from which notes are shown.
|
|
|
|
Options are parsed in the order given on the command line, so e.g.
|
|
|
|
"--notes --notes=foo --no-notes --notes=bar" will only show notes
|
|
|
|
from "refs/notes/bar".
|
|
|
|
|
2019-11-20 22:18:31 +01:00
|
|
|
--show-notes[=<ref>]::
|
2010-03-12 18:04:26 +01:00
|
|
|
--[no-]standard-notes::
|
2011-03-30 02:57:19 +02:00
|
|
|
These options are deprecated. Use the above --notes/--no-notes
|
|
|
|
options instead.
|
2015-08-23 19:56:40 +02:00
|
|
|
endif::git-rev-list[]
|
2012-09-20 10:10:38 +02:00
|
|
|
|
|
|
|
--show-signature::
|
|
|
|
Check the validity of a signed commit object by passing the signature
|
|
|
|
to `gpg --verify` and show the output.
|