Thread (8 messages) flat view 8 messages, 6 authors, 2016-06-15

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

From: Shawn O. Pearce <hidden>
Date: 2016-06-15 22:43:29

Possibly related (same subject, not in this thread)

"Shawn O. Pearce" [off-list ref] wrote:
Jeff King [off-list ref] wrote:
quoted
On Mon, Aug 20, 2007 at 11:36:38AM +0800, Steven Grimm wrote:
quoted
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.
I often forget which number corresponds to which source. I seem to
recall somebody proposing :ours:$path a while ago, but I couldn't find
any reference in the archive, so perhaps I just dreamed it.

Am I the only one who messes this up? If not, patch is below.
Maybe.  ;-)

I've memorized it long long ago.  But my coworkers haven't and always
get it wrong, and look at me funny when I tell them "trust me, your
data is in stage 2 and theirs is in stage 3...  because that's the
convention all of the tools you are using follows".
Actually, what's wrong with the following:

	git show HEAD:foo.c
	git show MERGE_HEAD:foo.c

?

That gives you yours (HEAD) and theirs (MERGE_HEAD).  And it doesn't
abuse sha1_file.c.  Granted it only works during a true merge and
doesn't work during a rebase, but remember I just pointed out life
is backwards anyway during a rebase, so uh, yea...

-- 
Shawn.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help