GNU bug report logs -
#2092
23.0.60; vc-svn-diff
Previous Next
Reported by: Nick Roberts <nickrob <at> snap.net.nz>
Date: Wed, 28 Jan 2009 07:15:02 UTC
Severity: normal
Done: Nick Roberts <nickrob <at> snap.net.nz>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
This is an automatic notification regarding your bug report
which was filed against the emacs package:
#2092: 23.0.60; vc-svn-diff
It has been closed by Nick Roberts <nickrob <at> snap.net.nz>.
Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Nick Roberts <nickrob <at> snap.net.nz> by
replying to this email.
--
2092: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=2092
Emacs Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
> > 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.
>
> That's the right behavior when newvers is nil, isn't it?
>
> > 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).
>
> I think it was written assuming (incorrectly) that "newvers == nil".
> Is the bug fixed if you add (null newvers) to the conjunction?
>
>
> Stefan
>
>
> PS: I see you've already removed this code, but I remember we added
> specifically upon request from some users, so it would be better to fix
> it than to remove it.
OK, I've looked through the archives. I find it odd because:
1) I think that svn should be able to work out whether it can handle a
request locally (a bug in svn?).
2) If you do "C-x v =" there is no problem.
3) I can only see a problem with "C-u C-x v =" with the default values which
is eqivalent to 2).
So it looks very much like a corner case.
Anyway I've done as you say.
--
Nick http://www.inet.net.nz/~nickrob
[Message part 3 (message/rfc822, inline)]
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
This bug report was last modified 16 years and 110 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.