diff options
-rw-r--r-- | lisp/ChangeLog | 3 | ||||
-rw-r--r-- | lisp/vc-svn.el | 6 |
2 files changed, 8 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 4501a5db72c..605b099b558 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -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. diff --git a/lisp/vc-svn.el b/lisp/vc-svn.el index cbb951d60b7..553024f636d 100644 --- a/lisp/vc-svn.el +++ b/lisp/vc-svn.el @@ -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 @@ The changes are between FIRST-VERSION and SECOND-VERSION." (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) |