]> code.delx.au - gnu-emacs/commitdiff
(vc-svn-dir-status): Disable the vc-stay-local-p
authorDan Nicolaescu <dann@ics.uci.edu>
Sat, 31 Jan 2009 15:51:07 +0000 (15:51 +0000)
committerDan Nicolaescu <dann@ics.uci.edu>
Sat, 31 Jan 2009 15:51:07 +0000 (15:51 +0000)
logic, it makes the makes the normal case too slow.

lisp/ChangeLog
lisp/vc-svn.el

index 362f46616f629e295632ee418d4cf88b5d83d94a..55c3862aefa4250f61fa761ce9d9373da4550371 100644 (file)
@@ -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
index cfbc8496433951eed885ea594366545698664831..c2d0d62ab6ced7c8e33a37b78c53e28cf8af378a 100644 (file)
@@ -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