Re: [PATCH] Document what the stage numbers in the :$n:path syntax mean.
- From
Shawn O. Pearce <spearce@spearce.org>
- Date
- Aug 20, 2007, 06:13 UTC
- Message-ID
- <20070820061330.GB27913@spearce.org>
- In-Reply-To
- <20070820060522.GA27913@spearce.org>
"Shawn O. Pearce" <spearce@spearce.org> wrote:
Show 21 quoted lines
> Jeff King <peff@peff.net> wrote: > > On Mon, Aug 20, 2007 at 11:36:38AM +0800, Steven Grimm wrote: > > > > > 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.