diff options
author | Dan Nicolaescu <dann@ics.uci.edu> | 2009-01-31 15:51:07 +0000 |
---|---|---|
committer | Dan Nicolaescu <dann@ics.uci.edu> | 2009-01-31 15:51:07 +0000 |
commit | 1826af5ecc974ceb80a6786bc74066ca3bdc3132 (patch) | |
tree | dce5acd98b15b752fb37da0955d37e5b7d1e5ea0 /lisp/vc-svn.el | |
parent | de456f3ba152d49f70a2b88d503b641387cf4a52 (diff) | |
download | emacs-1826af5ecc974ceb80a6786bc74066ca3bdc3132.tar.gz |
(vc-svn-dir-status): Disable the vc-stay-local-p
logic, it makes the makes the normal case too slow.
Diffstat (limited to 'lisp/vc-svn.el')
-rw-r--r-- | lisp/vc-svn.el | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lisp/vc-svn.el b/lisp/vc-svn.el index cfbc8496433..c2d0d62ab6c 100644 --- a/lisp/vc-svn.el +++ b/lisp/vc-svn.el @@ -185,8 +185,12 @@ want to force an empty list of arguments, use t." 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 |