diff options
Diffstat (limited to 'lisp/vc-svn.el')
-rw-r--r-- | lisp/vc-svn.el | 11 |
1 files changed, 11 insertions, 0 deletions
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) |