From: Andy Whitcroft <apw@shadowen.org>
To: Junio C Hamano <junkio@cox.net>
Cc: Matt McCutchen <hashproduct+git@gmail.com>, git@vger.kernel.org
Subject: Re: How to view an old revision?
Date: Wed, 01 Nov 2006 19:02:47 +0000 [thread overview]
Message-ID: <4548EF57.6030509@shadowen.org> (raw)
In-Reply-To: <7vzmbb2m42.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano wrote:
> Andy Whitcroft <apw@shadowen.org> writes:
>
>> Junio, I wonder if we should be changing the usage for this command
>> slightly. Currently, it mearly says <object> as the identifier for the
>> blob. Really this is <object-ish> as it supports symbolic naming in
>> addition to raw sha1's. I also feel it would be very helpful if
>> <commit-ish> and family were documented as a glossary section in main
>> git manpage.
>>
>> Something like this:
>>
>> <commit-ish>:: is an sha1 for a commit, or any symbolic name for a
>> commit (see SPECIFYING REVISIONS in git-rev-parse)
>>
>> What do people think. I can do the munging about if its seems like a
>> sane plan.
>
> When we really want an object of type <x>, we accept an object
> that is not of type <x> if there is a natural and unique
> dereferencing of that object to the type <x>. We use word
> <x-ish> to describe such an object that dereferences to <x>.
> For example, ls-tree is about listing tree contents (so we want
> a tree), but we accept a commit because the natural and unique
> dereferencing of a commit to a tree is to take its (toplevel)
> tree. We also accept a tag pointing at a commit because we can
> dereference it to the commit and then to its tree. Hence a tag
> that points at either commit or a tree, and a commit are
> tree-ish.
>
> <object> is an object which can be <commit>, <tree>, <tag> or
> <blob>. There is nothing -ish about it.
>
> I was actually reviewing the documentation of git-rev-parse and
> noticed that it talks about naming objects in the section called
> "SPECIFYING REVISIONS". The title implies that it is about
> committish (because we think of "revisions" as something that is
> used in walking commit ancestry chains), but it actually talks
> about naming objects of any type.
>
> It is a good and comprehensive list when viewed as "list of ways
> you can name an object", but both the title and the page the
> list appears in put unfair emphasis of commits for that purpose,
> and it is hard to realize that what you learned there applies to
> naming any type of objects. It is even harder to guess the list
> appears on that page, unless you are the one who is actively involved
> in the git list, when you want to know which manual page to look
> at in order to find out how you name an arbitrary object.
>
> We could either
>
> (1) retitle the list and move it to git.txt (Symbolic
> Identifiers), and refer to it from pages that describe
> commands that take object names;
>
> (2) retitle the list and make it an includable snippet, similar
> to the way Documentation/diff-format.txt is used from pages
> that describe diff commands, and include it everywhere.
>
> I am slightly in favor of the latter. Although it has a bloat
> factor in the generated documentation, docs are not novels and
> not meant to be read from cover to cover, and duplicating
> relevant information on each page is more useful than refering
> the reader to jump around in the documentation set.
I'll take a stab at this ...
prev parent reply other threads:[~2006-11-01 19:03 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-01 14:20 How to view an old revision? Matt McCutchen
2006-11-01 14:30 ` Andy Whitcroft
2006-11-01 14:37 ` Matt McCutchen
2006-11-01 14:46 ` Andy Whitcroft
2006-11-01 16:00 ` Junio C Hamano
2006-11-01 16:25 ` Matt McCutchen
2006-11-01 19:02 ` Andy Whitcroft [this message]
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=4548EF57.6030509@shadowen.org \
--to=apw@shadowen.org \
--cc=git@vger.kernel.org \
--cc=hashproduct+git@gmail.com \
--cc=junkio@cox.net \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).