From: Jan Hudec <bulb@ucw.cz>
To: Junio C Hamano <gitster@pobox.com>
Cc: Steven Grimm <koreth@midwinter.com>,
Chris Shoemaker <c.shoemaker@cox.net>,
git@vger.kernel.org, Alex Riesen <raa.lkml@gmail.com>,
Johannes Schindelin <johannes.schindelin@gmx.de>
Subject: Re: [PATCH] Document what the stage numbers in the :$n:path syntax mean.
Date: Mon, 20 Aug 2007 20:08:09 +0200 [thread overview]
Message-ID: <20070820180809.GA8542@efreet.light.src> (raw)
In-Reply-To: <7v4piuafqy.fsf@gitster.siamese.dyndns.org>
[-- Attachment #1: Type: text/plain, Size: 1732 bytes --]
On Sun, Aug 19, 2007 at 23:20:53 -0700, Junio C Hamano wrote:
> Steven Grimm <koreth@midwinter.com> writes:
>
> > 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.
>
> The patch makes sense. Thanks.
>
> Just to give historical background to new readers, this is
> primarily because the really core level of the plumbing started
> as not caring between stages 2 and 3 (iow, as far as the merge
> is concerned, both heads are equal), and the description in the
> manual was written back then.
>
> These days, all the merge strategies and other non-merge
> programs such as "git am" that can record conflicts as
> multi-stage index entries consistently use stage #2 as our
> version, and stages #2 and #3 are not equals anymore.
Pardon me? In what are they not equal?
In merge, the parents *are* equall. They are just recorded in the resulting
commit in particular order and the stages are in that order.
Besides if I prepare a merge locally to push out to a shared repo, I will
probably switch to the mainline and merge my branch in, so it will actually
be my changes in stage #3. That is to say 'ours' and 'theirs' don't really
express what is going on IMHO.
--
Jan 'Bulb' Hudec <bulb@ucw.cz>
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2007-08-20 18:08 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-14 22:33 merge-recursive: do not rudely die on binary merge Junio C Hamano
2007-08-14 23:14 ` Chris Shoemaker
2007-08-15 0:07 ` Junio C Hamano
2007-08-15 11:19 ` Nikodemus Siivola
2007-08-15 11:50 ` Junio C Hamano
2007-08-20 3:36 ` [PATCH] Document what the stage numbers in the :$n:path syntax mean Steven Grimm
2007-08-20 5:52 ` Jeff King
2007-08-20 6:05 ` Shawn O. Pearce
2007-08-20 6:13 ` Shawn O. Pearce
2007-08-20 7:15 ` Florian Weimer
2007-08-20 8:04 ` Jeff King
2007-08-20 6:30 ` Junio C Hamano
2007-08-20 6:44 ` Jeff King
2007-08-22 0:14 ` Jakub Narebski
2007-08-20 6:37 ` Jeff King
2007-08-20 9:55 ` [PATCH] Document what the stage numbers in the :$n:path syntaxmean Johannes Sixt
2007-08-20 6:20 ` [PATCH] Document what the stage numbers in the :$n:path syntax mean Junio C Hamano
2007-08-20 18:08 ` Jan Hudec [this message]
2007-08-20 19:55 ` Junio C Hamano
2007-08-15 0:09 ` merge-recursive: do not rudely die on binary merge Junio C Hamano
2007-08-15 0:18 ` Chris Larson
2007-08-15 1:16 ` Chris Shoemaker
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=20070820180809.GA8542@efreet.light.src \
--to=bulb@ucw.cz \
--cc=c.shoemaker@cox.net \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=johannes.schindelin@gmx.de \
--cc=koreth@midwinter.com \
--cc=raa.lkml@gmail.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.