Subject: Re: [PATCH 6/7] builtin/describe.c: describe a blob

From: Junio C Hamano <[email-masked]>
Date: Thu, 02 Nov 2017 10:53:00 +0900

Stefan Beller <[email-masked]> writes:

> But now we have a path as well, the notation of
> <commit-ish> COLON <path>
> is not a unique description of the blob, because
> * there can be multiple <commit-ish>s depending on the tags and walking
> * in boilerplate code cases, we might even have the blob at different
>   places (e.g. pristine copies of a license file in subdirectories)
>
> When calling for a tree-ish, we also accept commits and tags
> plus walking directions.

I think you are confused --- that is not what "-ish" suffix is used
in our conversation on objects.

The reason why we say "-ish" is "Yes we know v2.15.0 is *NOT* a
commit object, we very well know it is a tag object, but because we
allow it to be used in a context that calls for a commit object, we
mark that use context as 'this accepts commit-ish, not just
commit'".

But what you call "walking direction", e.g. "HEAD:Makefile", names a
"BLOB".  It is not "this is something like BLOB, no, we very well
know it is not a blob but the context allows such a non-blob to be
fed in place of a blob, so we take that even though it is not a
blob".  Because it is.