Subject: bug#2092: 23.0.60; vc-svn-diff

From: Nick Roberts <[email-masked]>
Date: Wed, 28 Jan 2009 19:34:34 +1300 (NZDT)

vc-svn-diff fails when oldvers equals (vc-working-revision f).
In that case "svn diff" executes with no -r argument and only gives
a diff if the file is locally modified.

To see this bug, do vc-print-log on a file under Subversion control that
needs an update (newer revisions have been committed by someone else).
Place the cursor over the revision after (in time) the working-revision (the
revison with the number in the modeline) and press d (log-viw-diff).

I think this clause needs to be removed:

  (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))

I don't see how it could ever work (please note that I'm not saying that
it could never work just that I don't see how it could).

-- 
Nick                                           http://www.inet.net.nz/~nickrob