Re: [BUG] difftool falls back to normal diff when used during merge resolution
On Nov 27, 2011, at 10:09 AM, Jakub Turski <yacoob@gmail.com> wrote:
Show 16 quoted lines
> 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