title: Git Diff with Beyond Compare
body: <p>I have succeeded in getting git to start Beyond Compare 3 as a diff tool however, when I do a diff, the file I am comparing against is not being loaded.  Only the latest version of the file is loaded and nothing else, so there is nothing in the right pane of Beyond Compare.</p>
  
  <p>I am running git 1.6.3.1 with Cygwin with Beyond Compare 3.  I have set up beyond compare as they suggest in the support part of their website with a script like such:  </p>
  
  <pre><code>#!/bin/sh  
  # diff is called by git with 7 parameters:  
  # path old-file old-hex old-mode new-file new-hex new-mode  
  "path_to_bc3_executable" "$2" "$5" | cat
  </code></pre>
  
  <p>Has anyone else encountered this problem and know a solution to this?  </p>
  
  <p><strong>Edit:</strong><br>
  I have followed the suggestions by VonC but I am still having exactly the same problem as before. I am kinda new to Git so perhaps I am not using the diff correctly.  </p>
  
  <p>For example, I am trying to see the diff on a file with a command like such:<br>
      git diff main.css</p>
  
  <p>Beyond Compare will then open and only display my current main.css in the left pane, there is nothing in the right pane.  I would like the see my current main.css in the left pane compared to the HEAD, basically what I have last committed.  </p>
  
  <p>My git-diff-wrapper.sh looks like this:  </p>
  
  <pre><code>#!/bin/sh  
  # diff is called by git with 7 parameters:  
  # path old-file old-hex old-mode new-file new-hex new-mode  
  "c:/Program Files/Beyond Compare 3/BCompare.exe" "$2" "$5" | cat
  </code></pre>
  
  <p>My git config looks like this for Diff:  </p>
  
  <pre><code>[diff]  
  external = c:/cygwin/bin/git-diff-wrapper.sh
  </code></pre>