Subject: bug#19099: Diff options with vc-git

From: Glenn Morris <[email-masked]>
Date: Tue, 18 Nov 2014 14:09:53 -0500

Package: emacs
Version: 24.4

I would like to use context diffs with vc-diff. Or pretend I said "any
GNU diff option that git diff does not support".

If I

(setq diff-switches '("-c" -w"))

then it works fine with vc-bzr, which correctly converts these into
"--diff-options" for bzr diff. Same for vc-svn, which automatically adds
--diff-cmd.

With vc-git this does nothing. Setting vc-git-diff-switches to nil
doesn't do the right thing: it passes -c to "git diff", which
interprets it as "--combined", which is not what I wanted.

IIUC there's basically no way to get this with git diff, I have to use
  
   difftool -x "diff -c"

(which seems to parse its -x argument on whitespace, yuck).

So, TLDR:

I'd like an option to call difftool instead of diff in vc-git-diff, please.
If it was consistent with eg vc-svn, this would happen by default when
vc-git-diff-switches was nil.