title: Git difftool not launching external DiffMerge program
body: <p>I've been following the directions in the "<a href="http://www.davesquared.net/2009/05/setting-up-git-difftool-on-windows.html" rel="noreferrer">blog entry by Dave</a>" link in this <a href="https://stackoverflow.com/a/949242">answer</a> as I'm on Windows 7 and do use SourceGear's DiffMerge tool. I've added the <code>git\cmd</code> directory to my PATH system variable and put my <code>git-diff-diffmerge-wrapper.sh</code> file in there:</p>
  
  <pre><code>#!/bin/sh
  "C:\Program Files\SourceGear\Common\DiffMerge\sgdm.exe" "$1" "$2" | cat
  </code></pre>
  
  <p>(Yes, it's the correct path for DiffMerge.)</p>
  
  <p>I've edited my <code>.gitconfig</code> file to include the <code>diff</code> and <code>difftool</code> chunks (I copied the lines directly from the post, and he does leave in the commented-out <code>#external</code> line. I added this to the end of my file; is that OK? )</p>
  
  <pre><code>[diff]
      # external = git-diff-wrapper.sh
      tool = diffmerge
  [difftool "diffmerge"]
      cmd = git-diff-diffmerge-wrapper.sh "$LOCAL" "$REMOTE"
  </code></pre>
  
  <p>So I go to <code>git bash</code> and do <code>git difftool HEAD~ 67b8679 -- js/site/pizzabuilder.js</code> and hit enter. Nothing happens. If I do <code>git difftool HEAD~ 67b8679</code>, leaving off the file I want, I get this:</p>
  
  <pre class="lang-none prettyprint-override"><code>Viewing: 'js/angular/hutlovers/hutlovers.js'
  Launch 'diffmerge' [Y/n]: Y
  C:\Program Files (x86)\Git/libexec/git-core/mergetools/defaults: line 17: git-diff-diffmerge-wrapper.sh: command not found
  
  Viewing: 'js/angular/localization/StoreListCtrl.js'
  Launch 'diffmerge' [Y/n]: n
  
  Viewing: 'js/pizzahut/site/browser_version.js'
  Launch 'diffmerge' [Y/n]: n
  
  Viewing: 'js/pizzahut/site/dashboard.js'
  Launch 'diffmerge' [Y/n]: n
  </code></pre>
  
  <p>It continues for all of the files that are different between the commits, but it never launches DiffMerge. I don't know how to interpret the error; what command is not found? <code>difftool</code>? I'm running 1.7.11 in git, and <code>difftool</code> is supposedly included with git starting with version 1.6.3.</p>
  
  <p>When I look at line 17 of the file referenced in the error, this is what's there:</p>
  
  <pre><code>( eval $merge_tool_cmd )
  </code></pre>
  
  <p>as part of this block:</p>
  
  <pre><code>diff_cmd () {
      merge_tool_cmd="$(get_merge_tool_cmd "$1")"
      if test -z "$merge_tool_cmd"
      then
          status=1
          break
      fi
      ( eval $merge_tool_cmd )
      status=$?
      return $status
  }
  </code></pre>
  
  <p>Can anyone help me out? I'm a daily user of <code>git</code>, but hardly a power user, and I know nothing about Windows shell scripts, so following the directions in that post is pretty much the limits of my knowledge at this point.</p>