[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)))