# HG changeset patch # User Nick Roberts # Date 1233303386 0 # Node ID 7f3372c8c3190f06016e1431f38ad1bbc7344027 # Parent 1862311ef4a114f998322ad132a79310cb4d9d4d (vc-svn-dir-status): Correct logic for remote connection. (vc-svn-diff): Use old version number even when it is the working revision. This is needed, e.g, in the vc-print-log buffer. diff -r 1862311ef4a1 -r 7f3372c8c319 lisp/vc-svn.el --- a/lisp/vc-svn.el Fri Jan 30 08:13:07 2009 +0000 +++ b/lisp/vc-svn.el Fri Jan 30 08:16:26 2009 +0000 @@ -186,7 +186,7 @@ RESULT is a list of conses (FILE . STATE) for directory DIR." ;; FIXME should this rather be all the files in dir? (let* ((local (vc-stay-local-p dir)) - (remote (and local (not (eq local 'only-file))))) + (remote (or (not local) (eq local 'only-file)))) (vc-svn-command (current-buffer) 'async nil "status" (if remote "-u")) (vc-exec-after @@ -479,18 +479,6 @@ (defun vc-svn-diff (files &optional oldvers newvers buffer) "Get a difference report using SVN between two revisions of fileset FILES." - (and oldvers - files - (catch 'no - (dolist (f files) - (or (equal oldvers (vc-working-revision 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)