[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