title: How to use an external diff tool for Git in Visual Studio 2013?
body: <p>I've found <a href="http://architects.dzone.com/articles/how-configure-diff-and-merge" rel="nofollow">this post</a> that explains how you can have Visual Studio 2013 use the built-in diff tool when comparing files in Git, but I'm having the opposite problem. Right now when I right-click on a file in the Git <code>Commit Details</code> window and choose <code>Compare With Previous...</code> VS performs the diff in the default Visual Studio 2013 compare tool, but I want it to use an external diff tool, specifically TortoiseMerge.exe. I have it specified in my C:\Users\[My Name]\.gitconfig and it works properly from the GitBash console, but Visual Studio ignores this setting and always uses its built-in tool.</p>
  
  <p>This is what I have in that .gitconfig:</p>
  
  <pre><code>[merge]
      tool = kdiff3
  [mergetool "kdiff3"]
      path = c:/Program Files (x86)/KDiff3/kdiff3.exe
  [diff]
      guitool = TortoiseMerge
  [difftool "TortoiseMerge"]
      path = C:/Program Files/TortoiseSVN/bin/TortoiseMerge.exe
  </code></pre>
  
  <p>I have also checked my local repository's .gitconfig to make sure it wasn't overriding this setting, and it does not specify any diff or difftool settings.</p>
  
  <p>I have also tried similar settings in my .gitconfig like:</p>
  
  <pre><code>[diff]
      guitool = TortoiseMerge
  [difftool "TortoiseMerge"]
      cmd = \"C:/Program Files/TortoiseSVN/bin/TortoiseMerge.exe\" /base:"$REMOTE" /local:"$MINE"
  </code></pre>
  
  <p>but the behavior does not change.</p>