diff options
author | Ævar Arnfjörð Bjarmason <avarab@gmail.com> | 2018-01-10 12:55:53 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-01-10 15:08:14 -0800 |
commit | 9bd2ce543298c9b2f1a6d1bb8ffef18295ccfec7 (patch) | |
tree | a963d90de9ef70e65930dfc3540b6bbaaa36eea5 /Documentation/git-cat-file.txt | |
parent | 3013dff8662eae06457fe6e5348dfe2270810ab2 (diff) | |
download | git-9bd2ce543298c9b2f1a6d1bb8ffef18295ccfec7.tar.gz |
cat-file doc: document that -e will return some outputab/doc-cat-file-e-still-shows-errors
The -e option added in 7950571ad7 ("A few more options for
git-cat-file", 2005-12-03) has always errored out with message on
stderr saying that the provided object is malformed, like this:
$ git cat-file -e malformed; echo $?
fatal: Not a valid object name malformed
128
A reader of this documentation may be misled into thinking that
if ! git cat-file -e "$object" [...]
as opposed to:
if ! git cat-file -e "$object" 2>/dev/null [...]
is sufficient to implement a truly silent test that checks whether
some arbitrary $object string was both valid, and pointed to an
object that exists.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/git-cat-file.txt')
-rw-r--r-- | Documentation/git-cat-file.txt | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Documentation/git-cat-file.txt b/Documentation/git-cat-file.txt index fb09cd69d6..f90f09b03f 100644 --- a/Documentation/git-cat-file.txt +++ b/Documentation/git-cat-file.txt @@ -42,8 +42,9 @@ OPTIONS <object>. -e:: - Suppress all output; instead exit with zero status if <object> - exists and is a valid object. + Exit with zero status if <object> exists and is a valid + object. If <object> is of an invalid format exit with non-zero and + emits an error on stderr. -p:: Pretty-print the contents of <object> based on its type. @@ -168,7 +169,7 @@ If `-t` is specified, one of the <type>. If `-s` is specified, the size of the <object> in bytes. -If `-e` is specified, no output. +If `-e` is specified, no output, unless the <object> is malformed. If `-p` is specified, the contents of <object> are pretty-printed. |