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

Re: [PATCH] Add revspec documentation for ':path', ':[0-3]:path' and git-describe

From
Junio C Hamano <junkio@cox.net>
Date
Oct 19, 2006, 04:43 UTC
Message-ID
<7vlkncx6d2.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<20061019030455.GA10554@localhost>
> As I'm not very good at English, please correct any mistake I made

Thanks. I do not know about English, but I'd move things around to group them better. Most talk about committish but the colon-path are about trees and blobs.

diff --git a/Documentation/git-rev-parse.txt b/Documentation/git-rev-parse.txt
index 2f1306c..412bafb 100644
--- a/Documentation/git-rev-parse.txt
+++ b/Documentation/git-rev-parse.txt
@@ -111,7 +111,9 @@ SPECIFYING REVISIONS
 
 A revision parameter typically, but not necessarily, names a
 commit object.  They use what is called an 'extended SHA1'
-syntax.
+syntax.  Here are various ways to spell object names.  The
+ones listed near the end of this list are to name trees and
+blobs contained in a commit.
 
 * The full SHA1 object name (40-byte hexadecimal string), or
   a substring of such that is unique within the repository.
@@ -119,6 +121,9 @@ syntax.
   name the same commit object if there are no other object in
   your repository whose object name starts with dae86e.
 
+* An output from `git-describe`; i.e. a closest tag, followed by a
+  dash, a 'g', and an abbreviated object name.
+
 * A symbolic ref name.  E.g. 'master' typically means the commit
   object referenced by $GIT_DIR/refs/heads/master.  If you
   happen to have both heads/master and tags/master, you can
@@ -156,6 +161,15 @@ syntax.
   and dereference the tag recursively until a non-tag object is
   found.
 
+* A suffix ':' followed by a path; this names the blob or tree
+  at the given path in the tree-ish object named by the part
+  before the colon.
+
+* A colon, optionally followed by a stage number (0 to 3) and a
+  colon, followed by a path; this names a blob object in the
+  index at the given path.  Missing stage number (and the colon
+  that follows it) names an stage 0 entry.
+
 Here is an illustration, by Jon Loeliger.  Both node B and C are
 a commit parents of commit node A.  Parent commits are ordered
 left-to-right.
Previous: pclouds@gmail.comNext: Nguyen Thai Ngoc Duy
Message 2 of 3 in “Add revspec documentation for ':path', ':[0-3]:path' and git-describe”
  1. Add revspec documentation for ':path', ':[0-3]:path' and git-describepclouds@gmail.com, Oct 19, 2006
  2. Junio C HamanoOct 19, 2006
  3. Nguyen Thai Ngoc DuyOct 19, 2006

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.