# seeing a combined diff (no-conflict files) before committing a merge

1 messages from 2010-04-29 to 2010-04-29. Participants: Sitaram Chamarty.
Thread: https://gitlist.dev/t/23642

## Sitaram Chamarty, 2010-04-29 12:13

Subject: seeing a combined diff (no-conflict files) before committing a merge
Message-ID: <r2k2e24e5b91004290513j4e5e2ebm1163a5c8fa1fdf8d@mail.gmail.com>
URL: https://gitlist.dev/e/r2k2e24e5b91004290513j4e5e2ebm1163a5c8fa1fdf8d%40mail.gmail.com

```
I saw the thread at
http://kerneltrap.org/mailarchive/git/2010/3/18/25850, but there
doesn't seem to have been any resolution or further discussion.

I am thinking of two possible solutions:

(1) is there a way we can "simulate" a conflict by putting back stage
1/2/3 files, for a successfully merged file, into the index so "git
diff" will work

(2) is there some way to just pass along 3 files names (parent1,
parent2, and merged) and it would show the combined diff output.

Of course, I came up with this shell script (see below sig), but is
there a better way?  It seems like a horrible kludge!

Thanks,

-- 
Sitaram


#!/bin/bash

export TEMPDIR=$(mktemp -d)
trap "/bin/rm -rf $TEMPDIR" 0
export GIT_INDEX_FILE=$TEMPDIR/index

[[ -n $1                ]] || { echo I need a filename;    exit 1; }
[[ -f $1                ]] || { echo I need a filename;    exit 1; }
[[ -f .git/MERGE_HEAD   ]] || { echo no MERGE_HEAD;        exit 1; }
[[ -f .git/ORIG_HEAD    ]] || { echo no ORIG_HEAD;         exit 1; }

git add $1
fake_commit=$(echo fake commit to view combined diff of $1 | git
commit-tree $(git write-tree) -p ORIG_HEAD -p MERGE_HEAD)
git log -p -c -1 $fake_commit -- $1

```
