git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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 ...


      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).