git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Questions about git-rev-parse

From
Theodore Tso <tytso@mit.edu>
Date
Feb 28, 2007, 06:40 UTC
Message-ID
<20070228064036.GF2178@thunk.org>
In-Reply-To
<Pine.LNX.4.64.0702271921110.12485@woody.linux-foundation.org>
On Tue, Feb 27, 2007 at 07:33:03PM -0800, Linus Torvalds wrote:
Show 5 quoted lines
> No, it really is English. At least grammatically.
> 
> A "tree-ish" is "like a tree", exactly like "sheepish" is "like a sheep". 
> Nothing really git-specific about it, except for it certainly having 
> become common usage in a way that it may not be normally ;)
Well, in the randomhouse web page you quoted:
	Our -ish is a suffix that forms adjectives from nouns or other
	adjectives. Some of the senses existed in Old English (then
	spelled -isc but pronounced the same way), such as 'of, being,
	or pertaining to', used to form adjectives indicating a
	national, ethnic, or religious origin (British, Jewish).
it claims that the -ish suffix forms an _adjective_.   But in the sense of
	git describe <committish>

In the git world we are using "committish" (and in the documentation sometimes we use committish and treeish, and other times we use commit-ish and tree-ish) as a _noun_, and not an adjective. So I'm still going to take a bit of issue that it's grammatical English, and I still think that "tree_specifier" and "commit_specifier" would have been clearer.

In any case, I note that in the git(7) man page, there is a formal definition of tree-ish, but not of commit-ish. Would this patch to Documentation/git.txt be correct?

diff --git a/Documentation/git.txt b/Documentation/git.txt
index 9a74747..ff693c3 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -241,6 +241,12 @@ Identifier Terminology
 	operate on a <tree> object but automatically dereferences
 	<commit> and <tag> objects that point at a <tree>.
 
+<commit-ish>::
+	Indicates a commit or tag object name.  A
+	command that takes a <commit-ish> argument ultimately wants to
+	operate on a <commit> object but automatically dereferences
+	<tag> objects that point at a <commit>.
+
 <type>::
 	Indicates that an object type is required.
 	Currently one of: `blob`, `tree`, `commit`, or `tag`.

							- Ted
Previous: Linus TorvaldsNext: Andy Parkins
Message 5 of 9 in “Questions about git-rev-parse”
  1. Theodore Ts'oFeb 28, 2007
  2. Junio C HamanoFeb 28, 2007
  3. Theodore TsoFeb 28, 2007
  4. Linus TorvaldsFeb 28, 2007
  5. Theodore TsoFeb 28, 2007
  6. Andy ParkinsFeb 28, 2007
  7. Linus TorvaldsFeb 28, 2007
  8. Linus TorvaldsFeb 28, 2007
  9. Willhelm BuschMar 1, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.