title: beyond compare with `git difftool --dir-diff` -- Hitting an issue with sym-links
body: <p>Setup a new git repo and add some files: </p>
  
  <pre><code>[Feb-09 18:35][Desktop]$ mkdir exampleForStackOverflow
  [Feb-09 18:35][Desktop]$ cd exampleForStackOverflow/
  
  [Feb-09 18:35][exampleForStackOverflow]$ git init
  Initialized empty Git repository in ~/Desktop/exampleForStackOverflow/.git/
  
  [Feb-09 18:35][exampleForStackOverflow]$ touch foo.txt
  [Feb-09 18:35][exampleForStackOverflow]$ touch bar.txt
  [Feb-09 18:35][exampleForStackOverflow]$ touch baz.txt
  
  [Feb-09 18:36][exampleForStackOverflow]$ git add *
  
  [Feb-09 18:36][exampleForStackOverflow]$ git commit -m "Create files"
  [master (root-commit) 42bfa60] Create files
   3 files changed, 0 insertions(+), 0 deletions(-)
   create mode 100644 bar.txt
   create mode 100644 baz.txt
   create mode 100644 foo.txt
  </code></pre>
  
  <p>Modify the files: </p>
  
  <pre><code>[Feb-09 18:37][exampleForStackOverflow]$ echo "Foo" &gt; foo.txt 
  [Feb-09 18:37][exampleForStackOverflow]$ echo "Bar" &gt; bar.txt 
  [Feb-09 18:37][exampleForStackOverflow]$ echo "Baz" &gt; baz.txt
  </code></pre>
  
  <p>Current status: </p>
  
  <pre><code>[Feb-09 18:38][exampleForStackOverflow]$ git status
  On branch master
  Changes not staged for commit:
    (use "git add &lt;file&gt;..." to update what will be committed)
    (use "git checkout -- &lt;file&gt;..." to discard changes in working directory)
  
      modified:   bar.txt
      modified:   baz.txt
      modified:   foo.txt
  
  no changes added to commit (use "git add" and/or "git commit -a")
  </code></pre>
  
  <p>Current diff:</p>
  
  <pre><code>[Feb-09 18:38][exampleForStackOverflow]$ git diff
  diff --git a/bar.txt b/bar.txt
  index e69de29..ebd7525 100644
  --- a/bar.txt
  +++ b/bar.txt
  @@ -0,0 +1 @@
  +Bar
  diff --git a/baz.txt b/baz.txt
  index e69de29..a688182 100644
  --- a/baz.txt
  +++ b/baz.txt
  @@ -0,0 +1 @@
  +Baz
  diff --git a/foo.txt b/foo.txt
  index e69de29..bc56c4d 100644
  --- a/foo.txt
  +++ b/foo.txt
  @@ -0,0 +1 @@
  +Foo
  </code></pre>
  
  <p>Now with bcompare I get the following: </p>
  
  <pre><code>[Feb-09 18:38][exampleForStackOverflow]$ git difftool --dir-diff
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/i1BxM.png" rel="noreferrer"><img src="https://i.stack.imgur.com/i1BxM.png" alt="enter image description here"></a></p>
  
  <p><strong>This is clearly not the expected behaviour.  The files do not align so differences cannot be seen</strong>.  </p>
  
  <hr>
  
  <p>I am running: </p>
  
  <pre><code>[Feb-09 18:44][exampleForStackOverflow]$ git --version
  git version 2.7.1
  
  [Feb-09 18:44][exampleForStackOverflow]$ cat /etc/redhat-release 
  CentOS release 6.6 (Final)
  </code></pre>
  
  <p>Beyond Compare: <code>Version 4.1.3 (build 20814)</code></p>
  
  <p>git config: </p>
  
  <pre><code>[Feb-09 18:45][exampleForStackOverflow]$ git config --list
  color.ui=true
  user.name=FOO
  user.email=BAR@BAZ.com
  log.decorate=full
  diff.tool=bc3
  difftool.bc3=trustExitCode
  merge.tool=bc3
  mergetool.bc3=trustExitCode
  core.repositoryformatversion=0
  core.filemode=true
  core.bare=false
  core.logallrefupdates=true
  </code></pre>
  
  <hr>
  
  <p><strong>Question:</strong> (From <a href="https://stackoverflow.com/users/281108/ismail-badawi">Ismail Badawi</a>) What does this have to do with symlinks?</p>
  
  <p><strong>Answer:</strong> Sorry the screenshot isn't extremely clear but the files on the right hand side are symlinks.  See below: </p>
  
  <pre><code>[Feb-09 18:52][exampleForStackOverflow]$ cd /tmp/git-difftool.RWDqE/right
  [Feb-09 18:52][right]$ ll
  total 0
  lrwxrwxrwx 1 BAZ BAZ_g 54 Feb  9 18:51 bar.txt -&gt; /home/BAZ/Desktop/exampleForStackOverflow/bar.txt
  lrwxrwxrwx 1 BAZ BAZ_g 54 Feb  9 18:51 baz.txt -&gt; /home/BAZ/Desktop/exampleForStackOverflow/baz.txt
  lrwxrwxrwx 1 BAZ BAZ_g 54 Feb  9 18:51 foo.txt -&gt; /home/BAZ/Desktop/exampleForStackOverflow/foo.txt
  </code></pre>