# HG changeset patch # User Stefan Monnier # Date 1104707663 0 # Node ID d30f6c6ad0b5ecaa26ffbd961ccb02548043591e # Parent f3839cb9f16c86e51e19c0650eed01bc9c41d12a (vc-svn-diff): Stay local if possible. From Karl Chen . diff -r f3839cb9f16c -r d30f6c6ad0b5 lisp/ChangeLog --- 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 + * vc-svn.el (vc-svn-diff): Stay local if possible. + From Karl Chen . + * vc-arch.el (vc-arch-workfile-version): Handle the empty-branch case. * files.el (hack-local-variables): Fix last change. diff -r f3839cb9f16c -r d30f6c6ad0b5 lisp/vc-svn.el --- 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)