title: Why doesn't `git diff` invoke external diff tool?
body: <p>In my repository, if I type</p>
  
  <pre><code>$ git diff some-file
  </code></pre>
  
  <p>or</p>
  
  <pre><code>$ git difftool some-file
  </code></pre>
  
  <p>I get the in-terminal diff display. I think this should not happen, because I have set up an external diff tool, as shown by the output of <code>git config -l</code>:</p>
  
  <pre><code>$ git config -l
  user.name=blah blah
  user.email=blah blah
  http.sslverify=true
  diff.external=/home/daniel/bin/git-diff  &lt;--This is the important line
  push.default=simple
  core.filemode=false
  core.editor=gedit
  alias.tree=log --all --graph --decorate=short --color --format=format:'%C(bold blue)%h%C(reset) %C(auto)%d%C(reset)
           %C(black)[%cr]%C(reset)  %x09%C(black)%an: %s %C(reset)'
  core.repositoryformatversion=0
  core.filemode=false
  core.bare=false
  core.logallrefupdates=true
  core.ignorecase=true
  remote.origin.url=https://daniel@skynet/git/pyle.git
  remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
  branch.master.remote=origin
  branch.master.merge=refs/heads/master
  branch.daniel.remote=origin
  branch.daniel.merge=refs/heads/daniel
  </code></pre>
  
  <p>The git-diff file referenced in the <code>diff.external</code> line looks like this</p>
  
  <pre><code>#!/bin/bash
  
  meld $2 $5
  </code></pre>
  
  <p>Why doesn't <code>git diff</code> invoke meld?</p>
  
  <p>I get the same behaviour if I set things up so that <code>git config -l</code> has the following line:</p>
  
  <pre><code>diff.tool = meld
  </code></pre>
  
  <p>or</p>
  
  <pre><code>diff.external = usr/bin/meld
  </code></pre>
  
  <p><strong>Note</strong>: Other repositories on my machine don't have this problem.</p>
  
  <p>Related, but not equivalent, SO questions:</p>
  
  <ol>
  <li><a href="https://stackoverflow.com/questions/20950052/what-is-the-difference-between-git-diff-and-git-difftool">What is the difference between <code>git diff</code> and <code>git difftool</code>?</a></li>
  <li><a href="https://stackoverflow.com/questions/22883901/cannot-make-git-diff-use-diff-external-for-external-diff-tool">Cannot make git diff use diff.external for external diff tool</a></li>
  </ol>