difftool --dir-diff: symlink all files matching the working tree
commit02c56314aab9474827cd7831518a970f0341e4fd
authorJohn Keeping <john@keeping.me.uk>
Thu, 14 Mar 2013 20:19:41 +0000 (14 20:19 +0000)
committerJunio C Hamano <gitster@pobox.com>
Thu, 14 Mar 2013 21:33:06 +0000 (14 14:33 -0700)
treecff228e8a5dbda54e75153ca7995a15386260529
parente0976dcf83884fd0b48e90f0c62f50852e6971f6
difftool --dir-diff: symlink all files matching the working tree

Some users like to edit files in their diff tool when using "git
difftool --dir-diff --symlink" to compare against the working tree but
difftool currently only created symlinks when a file contains unstaged
changes.

Change this behaviour so that symlinks are created whenever the
right-hand side of the comparison has the same SHA1 as the file in the
working tree.

Note that textconv filters are handled in the same way as by git-diff
and if a clean filter is not the inverse of its smudge filter we already
get a null SHA1 from "diff --raw" and will symlink the file without
going through the new hash-object based check.

Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-difftool.txt
git-difftool.perl
t/t7800-difftool.sh