Subject: Re: Not possible to see combined diff before committing a merge?

From: Michael J Gruber <[email-masked]>
Date: Thu, 18 Mar 2010 10:55:12 +0100

Jay Soffian venit, vidit, dixit 18.03.2010 07:21:
> Am I missing something, or is there no way to see combined diff output
> after completing merge resolution on a conflicted merge but before
> committing the merge?
> 
> $ git diff --cc [-- path]
> 
> works fine _until_ you've added the file to the index, at which point
> you're hosed.
> 
> I think I want the combined diff between:
> 
> - What's in the index
> - The first parent (ORIG_HEAD)
> - The second parent (MERGE_HEAD)
> 
> And I don't think that's possible, sadly.

The obvious attempt "git diff --cc --cached" does not work,
unfortunately, because the add cleared out the other stages from the index.

The funny thing is that after committing, git show will give you the
combined diff (again).

I guess that proves, again, that there can't be a symbolic ref like
INDEX because it just doesn't behave like one.

If there are no conflicted files left you could do a throw-away commit
with a temp index, but that looks ugly. Do we have a way of specifying a
3-way diff for some git diff --cc incarnation, i.e. pretending two
commits to be the parents and a third (or index) to be the merge result?

Junio would probably say that by adding the merge resolution you declare
that you're not interested in that part of the merge any more ;)

Michael