From: Rüdiger Sonderfeld Date: Wed, 19 Nov 2014 02:55:00 +0000 (+0100) Subject: vc-git: Support `diff-switches'. X-Git-Tag: emacs-25.0.90~2635^2~417 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=6ffab21f41d5fd0f31b8dbaacea98be409e4fe51;p=emacs.git vc-git: Support `diff-switches'. Fix bug#19099. * lisp/vc/vc-git.el (vc-git-diff): Use "difftool -x diff" with `diff-switches' if `vc-git-diff-switches' is nil. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8b7f62a306e..25ef3b3be71 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2014-11-19 Rüdiger Sonderfeld + + Fix bug#19099. + * vc/vc-git.el (vc-git-diff): Use "difftool -x diff" with + `diff-switches' if `vc-git-diff-switches' is nil. + 2014-11-18 Juri Linkov * simple.el (next-line-or-history-element): Wrap next-line diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el index be0211c1132..3b11a3cd635 100644 --- a/lisp/vc/vc-git.el +++ b/lisp/vc/vc-git.el @@ -994,11 +994,18 @@ or BRANCH^ (where \"^\" can be repeated)." (defun vc-git-diff (files &optional rev1 rev2 buffer) "Get a difference report using Git between two revisions of FILES." (let (process-file-side-effects) - (apply #'vc-git-command (or buffer "*vc-diff*") 1 files - (if (and rev1 rev2) "diff-tree" "diff-index") - "--exit-code" - (append (vc-switches 'git 'diff) - (list "-p" (or rev1 "HEAD") rev2 "--"))))) + (if vc-git-diff-switches + (apply #'vc-git-command (or buffer "*vc-diff*") 1 files + (if (and rev1 rev2) "diff-tree" "diff-index") + "--exit-code" + (append (vc-switches 'git 'diff) + (list "-p" (or rev1 "HEAD") rev2 "--"))) + (vc-git-command (or buffer "*vc-diff*") 1 files + "difftool" "--exit-code" "--no-prompt" "-x" + (concat "diff " + (mapconcat 'identity + (vc-switches nil 'diff) " ")) + (or rev1 "HEAD") rev2 "--")))) (defun vc-git-revision-table (_files) ;; What about `files'?!? --Stef