GNU bug report logs -
#19387
SVN VC backend is unbearably slow on larger repositories
Previous Next
Full log
View this message in rfc822 format
Paul Pogonyshev <pogonyshev <at> 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)))
This bug report was last modified 10 years and 159 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.