Subject: Re: [PATCH 2/4] glossary: define committish (a.k.a. commit-ish)

From: Richard Hansen <[email-masked]>
Date: Wed, 19 Jun 2013 11:31:00 -0400

On 2013-06-19 01:56, Ramkumar Ramachandra wrote:
> From gitglossary(7):
> 
> ref
>     A 40-byte hex representation of a SHA-1 or a name that denotes a
>     particular object. They may be stored in a file under $GIT_DIR/refs/
>     directory, or in the $GIT_DIR/packed-refs file.
> 
> Do master~3 and :/foomery qualify as refs?

Yes; they are names that denote a particular object.

> 
>>> Look at the other forms in gitrevisions(7); master:quuxery,
>>> master^{tree} are notable exceptions.
>>
>> gitrevisions(7) says that master:quuxery is a ref pointing to a blob or
>> tree, so it is not a committish.  However, if quuxery is a submodule, I
>> would expect master:quuxery to point to a commit object and thus be a
>> committish.  So perhaps the <rev>:<path> description in gitrevisions(7)
>> should be updated to accommodate submodules.
> 
> When quuxery is a submodule, master:quuxery refers to a commit object
> that does not exist in the parent repository.  I don't know what we
> gain by documenting a comittish you can't even `show`.

Fair point.

-Richard