From: Richard Hansen <rhansen@bbn.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 2/4] glossary: define committish (a.k.a. commit-ish)
Date: Wed, 19 Jun 2013 18:23:51 -0400 [thread overview]
Message-ID: <51C22F77.8050004@bbn.com> (raw)
In-Reply-To: <7vtxktyfo1.fsf@alter.siamese.dyndns.org>
On 2013-06-19 17:05, Junio C Hamano wrote:
> Richard Hansen <rhansen@bbn.com> writes:
>
>> On 2013-06-19 13:14, Junio C Hamano wrote:
>>> <object-type>-ish does not have anything to do with a ref. Even
>>> when an object is dangling in your object store without being
>>> reachable from any of your refs, it keeps its own "ish"-ness.
>>
>> Ah, so your personal definition of "ref" matches my personal definition
>> of "ref", and this definition doesn't match gitglossary(7). :)
>
> Huh? The only thing I I said was that "*-ish" does not have
> anything to do with a ref. I didn't say anything about definition
> of "ref".
The phrase
when an object is dangling in your object store without being
reachable from any of your refs
implies something about your definition of a ref that is inconsistent
with gitglossary(7). See below.
>
> You are the one who brought "ref" into description of *-ish, with
> this:
>
>> +[[def_committish]]committish (also commit-ish)::
>> + A <<def_ref,ref>> pointing to an <<def_object,object>> that
>> + can be recursively dereferenced to a
And I did that to be consistent with the definition of tree-ish, which
currently says:
tree-ish
A ref pointing to either a commit object, a tree object, or a
tag object pointing to a tag or commit or tree object.
Notice the term "ref" in the above definition. This definition says
that a tree-ish is a particular kind of ref -- NOT a property of an
object as you claim. I'm not saying you're wrong -- I actually agree
with you completely -- I'm just saying that your definition of ref
doesn't match the definition of ref in gitglossary(7).
The current definition of ref says:
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.
Depending on how one interprets "name" (which is not defined in
gitglossary(7)) in the above definition of ref, claiming that
"master:README" is a ref is consistent with gitglossary(7). It is NOT,
however, consistent with what you -- or anyone else I know -- think of
as a ref.
>
> All I am saying is that an object does not have to be pointed by any
> ref to be any-ish. ish-ness is an attribute of an object, not an
> ref. You do not say refs/heads/master (which is a ref) is a
> commit-ish or a tree-ish. The object pointed at by that ref is
> always a commit and is a commit-ish and a tree-ish.
I understand and agree completely and always have.
Here's what I'm trying to say:
* Given the current definition of "ref" in gitglossary(7), claiming
that a foo-ish is a ref is not entirely incorrect.
* If the definition of "ref" is altered to match the general
understanding of a "ref", then claiming that a foo-ish is a ref is
wrong. Very wrong.
I was trying to be minimal and consistent with my changes, but
unfortunately it seems like more changes are necessary. When I next
have time, I'll send some revised patches to include the following changes:
* replace the current definition of "ref" with something that matches
general understanding
* eliminate the use of "ref" in the definitions of tag object, tree
object, and tree-ish
* create a term that means "a thing understood by rev-parse that
uniquely identifies an object" (perhaps "object specifier"?) that
can be used in gitglossary(7) and elsewhere
-Richard
next prev parent reply other threads:[~2013-06-19 22:24 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-19 2:09 [PATCH 0/4] documentation cleanups for <rev>^{<type>} Richard Hansen
2013-06-19 2:09 ` [PATCH 1/4] glossary: add 'treeish' as a synonym for 'tree-ish' Richard Hansen
2013-06-19 17:09 ` Junio C Hamano
2013-06-19 19:12 ` Richard Hansen
2013-06-19 21:46 ` Junio C Hamano
2013-06-19 20:35 ` Richard Hansen
2013-06-19 2:09 ` [PATCH 2/4] glossary: define committish (a.k.a. commit-ish) Richard Hansen
2013-06-19 4:19 ` Ramkumar Ramachandra
2013-06-19 4:38 ` Richard Hansen
2013-06-19 5:56 ` Ramkumar Ramachandra
2013-06-19 15:31 ` Richard Hansen
2013-06-19 16:10 ` Richard Hansen
2013-06-19 6:19 ` Jonathan Nieder
2013-06-19 17:14 ` Junio C Hamano
2013-06-19 19:16 ` Richard Hansen
2013-06-19 21:05 ` Junio C Hamano
2013-06-19 22:23 ` Richard Hansen [this message]
2013-06-19 22:36 ` Junio C Hamano
2013-06-19 23:37 ` Richard Hansen
2013-06-20 3:25 ` Junio C Hamano
2013-06-20 10:55 ` Ramkumar Ramachandra
2013-06-20 10:37 ` Ramkumar Ramachandra
2013-06-19 2:09 ` [PATCH 3/4] glossary: more precise definition of tree-ish (a.k.a. treeish) Richard Hansen
2013-06-19 2:09 ` [PATCH 4/4] revisions.txt: fix and clarify <rev>^{<type>} Richard Hansen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51C22F77.8050004@bbn.com \
--to=rhansen@bbn.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.