Mercurial > emacs
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 |