GNU bug report logs - #2092
23.0.60; vc-svn-diff

Previous Next

Package: emacs;

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

From: help-debbugs <at> gnu.org (Emacs bug Tracking System)
To: Nick Roberts <nickrob <at> snap.net.nz>
Subject: bug#2092 closed by Nick Roberts <nickrob <at> snap.net.nz> (Re: 
 bug#2092: 23.0.60; vc-svn-diff)
Date: Wed, 04 Feb 2009 11:10:04 +0000
[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)]
From: Nick Roberts <nickrob <at> snap.net.nz>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 2092-done <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org
Subject: Re: bug#2092: 23.0.60; vc-svn-diff
Date: Thu, 5 Feb 2009 00:03:01 +1300
 > > 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)]
From: Nick Roberts <nickrob <at> snap.net.nz>
To: emacs-pretest-bug <at> gnu.org
Subject: 23.0.60; vc-svn-diff
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



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.