2008-11-30 Glenn Morris <rgm@gnu.org>
+ * vc-svn.el (vc-svn-diff-switches): Doc fix.
+ (vc-svn-diff): Fix the case where vc-svn-diff-switches is nil.
+
* vc-git.el (vc-git-diff):
* vc-hg.el (vc-hg-diff):
* vc-mtn.el (vc-mtn-diff): No need to duplicate vc-switches logic.
(defcustom vc-svn-diff-switches
t ;`svn' doesn't support common args like -c or -b.
"String or list of strings specifying extra switches for svn diff under VC.
-If nil, use the value of `vc-diff-switches'.
-If you want to force an empty list of arguments, use t."
+If nil, use the value of `vc-diff-switches' (or `diff-switches'),
+together with \"-x --diff-cmd=diff\" (since svn diff does not
+support the default \"-c\" value of `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")
(let* ((switches
(if vc-svn-diff-switches
(vc-switches 'SVN 'diff)
- (list "-x" (mapconcat 'identity (vc-switches nil 'diff) " "))))
+ (list "--diff-cmd=diff" "-x"
+ (mapconcat 'identity (vc-switches nil 'diff) " "))))
(async (and (not vc-disable-async-diff)
(vc-stay-local-p files)
(or oldvers newvers)))) ; Svn diffs those locally.