bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#19387: SVN VC backend is unbearably slow on larger repositories


From: Dmitry Gutov
Subject: bug#19387: SVN VC backend is unbearably slow on larger repositories
Date: Mon, 15 Dec 2014 17:45:09 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.51 (gnu/linux)

Paul Pogonyshev <pogonyshev@gmail.com> writes:

> When I 'C-x v d' my working directory in a recent Emacs, it prints
> "Traversing directory: ..." and goes through the whole repository. I have
> no idea what it looks for. After about 1 minute of waiting I C-g'd it.
>
> It used to work instantly (well, in under 2 seconds anyway) a couple of
> weeks ago; don't remember more precisely.

I can confirm this. The culprit is b1a765b3. We should probably revert
the essence of the change, as well as reinstate the FIXME (the meaning
of which is not exactly clear to me).


diff --git a/lisp/vc/vc-svn.el b/lisp/vc/vc-svn.el
index eedccd8..3f977e0 100644
--- a/lisp/vc/vc-svn.el
+++ b/lisp/vc/vc-svn.el
@@ -202,11 +202,11 @@ If you want to force an empty list of arguments, use t."
 
 (autoload 'vc-expand-dirs "vc")
 
-(defun vc-svn-dir-status-files (dir files callback)
+(defun vc-svn-dir-status-files (_dir files 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."
-  (if (not files) (setq files (vc-expand-dirs (list dir) 'SVN)))
+  ;; FIXME shouldn't this rather default to all the files in dir?
   (vc-svn-command (current-buffer) 'async nil "status" "-u" files)
   (vc-run-delayed (vc-svn-after-dir-status callback)))
 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]