]> git.eshelyaron.com Git - emacs.git/commitdiff
Remove stay-local support in svn back end, because...
authorEric S. Raymond <esr@thyrsus.com>
Mon, 1 Dec 2014 15:03:17 +0000 (10:03 -0500)
committerEric S. Raymond <esr@thyrsus.com>
Mon, 1 Dec 2014 15:04:10 +0000 (10:04 -0500)
...status -v is so slow that it's unusable.

lisp/vc/vc-svn.el

index 0479519bde98dee6159cf17a647a90dfaa9baf1c..4381c8a8a156be50c34aa7b62b8eca08234a6c18 100644 (file)
@@ -156,7 +156,6 @@ If you want to force an empty list of arguments, use t."
 (defun vc-svn-state (file &optional localp)
   "SVN-specific version of `vc-state'."
   (let (process-file-side-effects)
-    (setq localp (or localp (vc-stay-local-p file 'SVN)))
     (with-temp-buffer
       (cd (file-name-directory file))
       (vc-svn-command t 0 file "status" (if localp "-v" "-u"))
@@ -199,21 +198,13 @@ If you want to force an empty list of arguments, use t."
 ;; -dir-status called from vc-dir, which loads vc, which loads vc-dispatcher.
 (declare-function vc-exec-after "vc-dispatcher" (code))
 
-(defun vc-svn-dir-status (dir callback)
+(defun vc-svn-dir-status (_dir callback)
   "Run 'svn status' for DIR and update BUFFER via CALLBACK.
 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?
-  ;; 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 'SVN)))
-        (remote (or t (not local) (eq local 'only-file))))
-    (vc-svn-command (current-buffer) 'async nil "status"
-                   (if remote "-u"))
-  (vc-run-delayed
-   (vc-svn-after-dir-status callback remote))))
+    (vc-svn-command (current-buffer) 'async nil "status" "-u")
+  (vc-run-delayed (vc-svn-after-dir-status callback)))
 
 (defun vc-svn-dir-status-files (_dir files _default-state callback)
   (apply 'vc-svn-command (current-buffer) 'async nil "status" files)