From: Glenn Morris Date: Mon, 27 Aug 2007 07:04:45 +0000 (+0000) Subject: (vc-svn-diff): If the repository version of all the files is the same X-Git-Tag: emacs-pretest-23.0.90~11264 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c62a495a84df7fc23d7302657605a73eecc7f5e1;p=emacs.git (vc-svn-diff): If the repository version of all the files is the same as the specified OLDVERS, do a local diff. --- diff --git a/lisp/vc-svn.el b/lisp/vc-svn.el index ddecb89d77c..0b34c30f630 100644 --- a/lisp/vc-svn.el +++ b/lisp/vc-svn.el @@ -399,6 +399,17 @@ The changes are between FIRST-VERSION and SECOND-VERSION." (defun vc-svn-diff (files &optional oldvers newvers buffer) "Get a difference report using SVN between two versions of fileset FILES." + (and oldvers + (catch 'no + (dolist (f files) + (or (equal oldvers (vc-workfile-version f)) + (throw 'no nil))) + t) + ;; Use nil rather than the current revision because svn handles + ;; it better (i.e. locally). Note that if _any_ of the files + ;; has a different revision, we fetch the lot, which is + ;; obviously sub-optimal. + (setq oldvers nil)) (let* ((switches (if vc-svn-diff-switches (vc-switches 'SVN 'diff)