Reproduce like this (using git 2.4.3):
git init
mkdir foo
touch foo/bar
git add .
git commit -m "Initial commit."
ln -s foo link
git add .
git commit -m "Add link to foo."
git difftool -d HEAD^ HEAD
That last command outputs:
fatal: Unable to hash /Users/isbadawi/test/link
hash-object /Users/isbadawi/test/link: command returned error: 128
Briefly looking at the 'git difftool' source it looks like it uses the
output of 'git diff --raw' and calls 'hash-object' on any object whose
mode is nonzero, including symlinks.
I'm not sure what the right thing to do here is -- just thought I'd
report this failure.
Thanks,
Ismail