git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 1/2] cat-file doc: document that -e will return some output

From
Junio C Hamano <gitster@pobox.com>
Date
Jan 10, 2018, 22:09 UTC
Message-ID
<xmqqk1wpz7qu.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<xmqqtvvtz95g.fsf@gitster.mtv.corp.google.com>
Junio C Hamano <gitster@pobox.com> writes:
Show 17 quoted lines
> Ævar Arnfjörð Bjarmason  <avarab@gmail.com> writes:
>
>> 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, currently:
>>
>>     $ git cat-file -e malformed; echo $?
>>     fatal: Not a valid object name malformed
>>     128
>>
>> A careful reader of this documentation would be mislead into thinking
>> the could write:
>>
>>     if ! git cat-file -e "$object" [...]
>
> It is arguable if such a reader is careful or careless.  I'd rather drop
> s/careful // there ;-)

Actually the phrasing around here was a bit strange, and I ended up rewriting a bit more.

    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>
Previous: Junio C HamanoNext: Junio C Hamano
Message 5 of 7 in “the cat-file -e option doesn't work as documented”
  1. 0/2 the cat-file -e option doesn't work as documentedÆvar Arnfjörð Bjarmason, Jan 10, 2018
  2. 2/2 cat-file: -e should not emit output on stderrÆvar Arnfjörð Bjarmason, Jan 10, 2018
  3. 1/2 cat-file doc: document that -e will return some outputÆvar Arnfjörð Bjarmason, Jan 10, 2018
  4. Junio C HamanoJan 10, 2018
  5. Junio C HamanoJan 10, 2018
  6. Junio C HamanoJan 10, 2018
  7. Junio C HamanoJan 10, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.