Thank you for filling out a Git bug report! Please answer the following questions to help us understand your issue. What did you do before the bug happened? (Steps to reproduce your issue) mkdir broken-diff cd broken-diff git init mkdir dir1 mkdir dir2 touch dir1/orig cd dir2/ ln -s ../dir1/orig sym cd .. git add dir* git ci -m "init" git checkout -b b git rm dir2/sym git ci -m "remove" git difftool -d master HEAD What did you expect to happen? (Expected behavior) git difftool shall compare both branches. What happened instead? (Actual behavior) git difftool prints an error: fatal: could not open '/tmp/git-difftool.l4UM7e/left/dir2/sym' for writing: No such file or directory Please review the rest of the bug report below. You can delete any lines you don't wish to share. [System Info] git version: git version 2.31.1 cpu: x86_64 no commit associated with this build sizeof-long: 8 sizeof-size_t: 8 shell-path: /bin/sh uname: Linux 5.12.12-300.fc34.x86_64 #1 SMP Fri Jun 18 14:30:51 UTC 2021 x86_64 compiler info: gnuc: 11.0 libc info: glibc: 2.33 $SHELL (typically, interactive shell): /bin/bash [Enabled Hooks]