comparison lisp/vc-svn.el @ 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 7f3372c8c319
children 0dd7b7766a85
comparison
equal deleted inserted replaced
101712:60bf3fa883a8 101713:6bc8fe0c390a
183 (defun vc-svn-dir-status (dir callback) 183 (defun vc-svn-dir-status (dir callback)
184 "Run 'svn status' for DIR and update BUFFER via CALLBACK. 184 "Run 'svn status' for DIR and update BUFFER via CALLBACK.
185 CALLBACK is called as (CALLBACK RESULT BUFFER), where 185 CALLBACK is called as (CALLBACK RESULT BUFFER), where
186 RESULT is a list of conses (FILE . STATE) for directory DIR." 186 RESULT is a list of conses (FILE . STATE) for directory DIR."
187 ;; FIXME should this rather be all the files in dir? 187 ;; FIXME should this rather be all the files in dir?
188 (let* ((local (vc-stay-local-p dir)) 188 ;; FIXME: the vc-stay-local-p logic below is disabled, it ends up
189 (remote (or (not local) (eq local 'only-file)))) 189 ;; calling synchronously (vc-svn-registered DIR) => calling svn status -v DIR
190 ;; which is VERY SLOW for big trees and it makes emacs
191 ;; completely unresponsive during that time.
192 (let* ((local (and nil (vc-stay-local-p dir)))
193 (remote (or t (not local) (eq local 'only-file))))
190 (vc-svn-command (current-buffer) 'async nil "status" 194 (vc-svn-command (current-buffer) 'async nil "status"
191 (if remote "-u")) 195 (if remote "-u"))
192 (vc-exec-after 196 (vc-exec-after
193 `(vc-svn-after-dir-status (quote ,callback) ,remote)))) 197 `(vc-svn-after-dir-status (quote ,callback) ,remote))))
194 198