From: Ramkumar Ramachandra Date: Wed, 19 Jun 2013 05:56:45 GMT Subject: Re: [PATCH 2/4] glossary: define committish (a.k.a. commit-ish) Message-ID: In-Reply-To: <51C135BE.4030506@bbn.com> Richard Hansen wrote: > On 2013-06-19 00:19, Ramkumar Ramachandra wrote: >> Is master~3 a committish? What about :/foomery? > > Yes; as documented, both of those are refs that point to a commit. >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? >> 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 : 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`.