From a0bea999eae2f7f0d61fbdda6535fa221524db9b Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 26 Nov 2008 02:55:28 +0000 Subject: [PATCH] (vc-git-diff-switches): New option. (vc-git-diff): Apply diff switches. (Bug#1386) Give it a basic doc string. --- lisp/vc-git.el | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/lisp/vc-git.el b/lisp/vc-git.el index 51ccc5de856..f024144bb67 100644 --- a/lisp/vc-git.el +++ b/lisp/vc-git.el @@ -109,6 +109,19 @@ (require 'vc-dir) (require 'grep)) +(defcustom vc-git-diff-switches t + "String or list of strings specifying extra switches for Git diff under VC. +If nil, use the value of `vc-diff-switches'. +If you want to force an empty list of arguments, use t." + :type '(choice (const :tag "Unspecified" nil) + (const :tag "None" t) + (string :tag "Argument String") + (repeat :tag "Argument List" + :value ("") + string)) + :version "23.1" + :group 'vc) + (defvar git-commits-coding-system 'utf-8 "Default coding system for git commits.") @@ -501,12 +514,12 @@ or BRANCH^ (where \"^\" can be repeated)." (beginning-of-line)) (defun vc-git-diff (files &optional rev1 rev2 buffer) - (let ((buf (or buffer "*vc-diff*"))) - (if (and rev1 rev2) - (vc-git-command buf 1 files "diff-tree" "--exit-code" "-p" - rev1 rev2 "--") - (vc-git-command buf 1 files "diff-index" "--exit-code" "-p" - (or rev1 "HEAD") "--")))) + "Get a difference report using Git between two revisions of FILES." + (apply #'vc-git-command (or buffer "*vc-diff*") 1 files + (if (and rev1 rev2) "diff-tree" "diff-index") + "--exit-code" + (append (vc-switches (if vc-git-diff-switches 'git) 'diff) + (list "-p" (or rev1 "HEAD") rev2 "--")))) (defun vc-git-revision-table (files) ;; What about `files'?!? --Stef -- 2.39.2