From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date: Wed, 10 Jan 2018 12:55:53 +0000 (+0000)
Subject: cat-file doc: document that -e will return some output
X-Git-Tag: v2.16.2~1^2
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9bd2ce543298c9b2f1a6d1bb8ffef18295ccfec7;p=git

cat-file doc: document that -e will return some output

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

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.