changeset 59317:d30f6c6ad0b5

(vc-svn-diff): Stay local if possible. From Karl Chen <quarl@cs.berkeley.edu>.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Sun, 02 Jan 2005 23:14:23 +0000
parents f3839cb9f16c
children 55722dde9e0a
files lisp/ChangeLog lisp/vc-svn.el
diffstat 2 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Sun Jan 02 23:11:26 2005 +0000
+++ b/lisp/ChangeLog	Sun Jan 02 23:14:23 2005 +0000
@@ -5,6 +5,9 @@
 
 2005-01-02  Stefan  <monnier@iro.umontreal.ca>
 
+	* vc-svn.el (vc-svn-diff): Stay local if possible.
+	From Karl Chen <quarl@cs.berkeley.edu>.
+
 	* vc-arch.el (vc-arch-workfile-version): Handle the empty-branch case.
 
 	* files.el (hack-local-variables): Fix last change.
--- a/lisp/vc-svn.el	Sun Jan 02 23:11:26 2005 +0000
+++ b/lisp/vc-svn.el	Sun Jan 02 23:14:23 2005 +0000
@@ -1,6 +1,6 @@
 ;;; vc-svn.el --- non-resident support for Subversion version-control
 
-;; Copyright (C) 1995, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+;; Copyright (C) 1995, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
 ;;           Free Software Foundation, Inc.
 
 ;; Author:      FSF (see vc.el for full credits)
@@ -352,6 +352,10 @@
 (defun vc-svn-diff (file &optional oldvers newvers buffer)
   "Get a difference report using SVN between two versions of FILE."
   (unless buffer (setq buffer "*vc-diff*"))
+  (if (and oldvers (equal oldvers (vc-workfile-version file)))
+      ;; Use nil rather than the current revision because svn handles it
+      ;; better (i.e. locally).
+      (setq oldvers nil))
   (if (string= (vc-workfile-version file) "0")
       ;; This file is added but not yet committed; there is no master file.
       (if (or oldvers newvers)