Mercurial > emacs
changeset 101713:6bc8fe0c390a
(vc-svn-dir-status): Disable the vc-stay-local-p
logic, it makes the makes the normal case too slow.
author | Dan Nicolaescu <dann@ics.uci.edu> |
---|---|
date | Sat, 31 Jan 2009 15:51:07 +0000 |
parents | 60bf3fa883a8 |
children | 64b82d02b6c2 |
files | lisp/ChangeLog lisp/vc-svn.el |
diffstat | 2 files changed, 11 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Sat Jan 31 14:34:05 2009 +0000 +++ b/lisp/ChangeLog Sat Jan 31 15:51:07 2009 +0000 @@ -1,3 +1,8 @@ +2009-01-31 Dan Nicolaescu <dann@ics.uci.edu> + + * vc-svn.el (vc-svn-dir-status): Disable the vc-stay-local-p + logic, it makes the makes the normal case too slow. + 2009-01-31 Eli Zaretskii <eliz@gnu.org> * mail/unrmail.el (unrmail): Set coding-system of the old Rmail
--- a/lisp/vc-svn.el Sat Jan 31 14:34:05 2009 +0000 +++ b/lisp/vc-svn.el Sat Jan 31 15:51:07 2009 +0000 @@ -185,8 +185,12 @@ CALLBACK is called as (CALLBACK RESULT BUFFER), where RESULT is a list of conses (FILE . STATE) for directory DIR." ;; FIXME should this rather be all the files in dir? - (let* ((local (vc-stay-local-p dir)) - (remote (or (not local) (eq local 'only-file)))) + ;; FIXME: the vc-stay-local-p logic below is disabled, it ends up + ;; calling synchronously (vc-svn-registered DIR) => calling svn status -v DIR + ;; which is VERY SLOW for big trees and it makes emacs + ;; completely unresponsive during that time. + (let* ((local (and nil (vc-stay-local-p dir))) + (remote (or t (not local) (eq local 'only-file)))) (vc-svn-command (current-buffer) 'async nil "status" (if remote "-u")) (vc-exec-after