# [BUG] difftool falls back to normal diff when used during merge resolution

2 messages from 2011-11-27 to 2011-11-28. Participants: Jakub Turski, David Aguilar.
Thread: https://gitlist.dev/t/29029

## Jakub Turski, 2011-11-27 18:09

Subject: [BUG] difftool falls back to normal diff when used during merge resolution
Message-ID: <CAHWJSOSB768hWsNqrR559wef3-k_yZ=TjS_mxfj3TxXdgwm5iQ@mail.gmail.com>
URL: https://gitlist.dev/e/CAHWJSOSB768hWsNqrR559wef3-k_yZ%3DTjS_mxfj3TxXdgwm5iQ%40mail.gmail.com

```
Hello there,

Just found this behavior, and after a chat on IRC it looks to me like
an actual bug. I have 'git difftool' configured to use vimdiff - and
it worked fine. Despite that config, git still falls back to plain
diff when I launch difftool mid-way through merge conflict resolution.

Here's a reproducable testcase (w/ version 1.7.7.3)

$ mkdir a; cd a; git init; echo A>A; git add A; git commit -m A; git
branch alt; echo AA>A; git commit -am AA; git checkout alt; echo B>A;
git commit -m B; git commit -am B; git checkout master; git merge alt;
git difftool -t vimdiff A

Results:
http://pastie.org/2929336

KT.

```

## David Aguilar, 2011-11-28 11:16

Subject: Re: [BUG] difftool falls back to normal diff when used during merge resolution
Message-ID: <2814991420316381881@unknownmsgid>
URL: https://gitlist.dev/e/2814991420316381881%40unknownmsgid
In-Reply-To: <CAHWJSOSB768hWsNqrR559wef3-k_yZ=TjS_mxfj3TxXdgwm5iQ@mail.gmail.com>

```
On Nov 27, 2011, at 10:09 AM, Jakub Turski <yacoob@gmail.com> wrote:

> Hello there,
>
> Just found this behavior, and after a chat on IRC it looks to me like
> an actual bug. I have 'git difftool' configured to use vimdiff - and
> it worked fine. Despite that config, git still falls back to plain
> diff when I launch difftool mid-way through merge conflict resolution.
>
> Here's a reproducable testcase (w/ version 1.7.7.3)
>
> $ mkdir a; cd a; git init; echo A>A; git add A; git commit -m A; git
> branch alt; echo AA>A; git commit -am AA; git checkout alt; echo B>A;
> git commit -m B; git commit -am B; git checkout master; git merge alt;
> git difftool -t vimdiff A
>
> Results:
> http://pastie.org/2929336

I think this is an unfortunate case where the implementation leaks
into the user experience.

I haven't checked, but I'm pretty sure this is because
GIT_EXTERNAL_DIFF has no affect when the conflicts exist.

git mergetool can be used in this situation.

We could do a check up front in difftool to see whether conflicts
exist and exit with an error message. The difftool script is quite
small and basically a very thin wrapper around git diff, though, so I
do hesitate before making it more complicated.

anyways, try "git mergetool".
-- 
            David

```
