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

[PATCH] Document what the stage numbers in the :$n:path syntax mean.

From
Steven Grimm <koreth@midwinter.com>
Date
Aug 20, 2007, 03:36 UTC
Message-ID
<46C90C46.1030000@midwinter.com>
In-Reply-To
<7vps1paceh.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano wrote:
 > People should learn this command.  Really.
 >
 >       $ git cat-file -p :$n:path
 >
 > where $n == 2 is ours, $n == 1 is common ancestor, and $n == 3
 > is theirs.

The git-rev-parse manpage talks about the :$n:path notation (buried deep in a list of other syntax) but it just says $n is a "stage number" -- someone who is not familiar with the internals of git's merge implementation is never going to be able to figure out that "1", "2", and "3" mean what Junio said. ---

    Not sure if this is correct for octopus merges -- corrections welcome.
 Documentation/git-rev-parse.txt |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/Documentation/git-rev-parse.txt 
b/Documentation/git-rev-parse.txt
index 4b4d229..4758c33 100644
--- a/Documentation/git-rev-parse.txt
+++ b/Documentation/git-rev-parse.txt
@@ -215,7 +215,10 @@ blobs contained in a commit.
 * 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.
+  that follows it) names an stage 0 entry. During a merge, stage
+  1 is the common ancestor, stage 2 is the target branch's version
+  (typically the current branch), and stage 3 is the version from
+  the branch being merged.
 
 Here is an illustration, by Jon Loeliger.  Both node B and C are
 a commit parents of commit node A.  Parent commits are ordered
-- 
1.5.3.rc2.4.g726f9
Previous: Junio C HamanoNext: Jeff King
Message 6 of 22 in “merge-recursive: do not rudely die on binary merge”
  1. Junio C HamanoAug 14, 2007
  2. Chris ShoemakerAug 14, 2007
  3. Junio C HamanoAug 15, 2007
  4. Nikodemus SiivolaAug 15, 2007
  5. Junio C HamanoAug 15, 2007
  6. Document what the stage numbers in the :$n:path syntax mean.Steven Grimm, Aug 20, 2007
  7. Jeff KingAug 20, 2007
  8. Shawn O. PearceAug 20, 2007
  9. Shawn O. PearceAug 20, 2007
  10. Florian WeimerAug 20, 2007
  11. Jeff KingAug 20, 2007
  12. Junio C HamanoAug 20, 2007
  13. Jeff KingAug 20, 2007
  14. Jakub NarebskiAug 22, 2007
  15. Jeff KingAug 20, 2007
  16. Johannes SixtAug 20, 2007
  17. Junio C HamanoAug 20, 2007
  18. Jan HudecAug 20, 2007
  19. Junio C HamanoAug 20, 2007
  20. Junio C HamanoAug 15, 2007
  21. Chris LarsonAug 15, 2007
  22. Chris ShoemakerAug 15, 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.