From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.bugs Subject: bug#19387: SVN VC backend is unbearably slow on larger repositories Date: Mon, 15 Dec 2014 17:45:09 +0200 Message-ID: <86oar4gbne.fsf@yandex.ru> References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1418658389 29119 80.91.229.3 (15 Dec 2014 15:46:29 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 15 Dec 2014 15:46:29 +0000 (UTC) Cc: 19387@debbugs.gnu.org To: Paul Pogonyshev Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Dec 15 16:46:22 2014 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Y0Xqn-0005be-F2 for geb-bug-gnu-emacs@m.gmane.org; Mon, 15 Dec 2014 16:46:21 +0100 Original-Received: from localhost ([::1]:40352 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y0Xqn-00026d-32 for geb-bug-gnu-emacs@m.gmane.org; Mon, 15 Dec 2014 10:46:21 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:47075) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y0Xqc-00026F-Dy for bug-gnu-emacs@gnu.org; Mon, 15 Dec 2014 10:46:17 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y0XqU-0006UZ-Tc for bug-gnu-emacs@gnu.org; Mon, 15 Dec 2014 10:46:10 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:37718) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y0XqU-0006US-Pt for bug-gnu-emacs@gnu.org; Mon, 15 Dec 2014 10:46:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Y0XqU-00085v-8L for bug-gnu-emacs@gnu.org; Mon, 15 Dec 2014 10:46:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 15 Dec 2014 15:46:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19387 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 19387-submit@debbugs.gnu.org id=B19387.141865832231063 (code B ref 19387); Mon, 15 Dec 2014 15:46:02 +0000 Original-Received: (at 19387) by debbugs.gnu.org; 15 Dec 2014 15:45:22 +0000 Original-Received: from localhost ([127.0.0.1]:47084 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Y0Xpp-00084w-Su for submit@debbugs.gnu.org; Mon, 15 Dec 2014 10:45:22 -0500 Original-Received: from mail-wi0-f172.google.com ([209.85.212.172]:43380) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Y0Xpl-00084i-EQ for 19387@debbugs.gnu.org; Mon, 15 Dec 2014 10:45:17 -0500 Original-Received: by mail-wi0-f172.google.com with SMTP id n3so9274010wiv.17 for <19387@debbugs.gnu.org>; Mon, 15 Dec 2014 07:45:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=x8HPDli53F/f0By/tn9pvebObdtnEOLl3CSBq6L9mNY=; b=VSR2me7YdTA5diuTA+5KHr0r+gRKRJjezenQmwt2feYYo43zztyhVgZ7Z8NY/TebOj H3x9wULcMrcbGWdVs83Az+QpWiHbYWcutNThgPez4DBueQwXIaJdV/pTK3OwqN4Z3rqS +8xCh77A3W318h6Z1j7QRvJEZwTmMB7gpoLnzsjXkAI3hAjXwIfDT7uEmxKqi7+8zNDV 6+1M9XlTu7evqRWJKfEP0/wLS8UbYq7umNBghbtWCWT/SdIcw1Aoj88VDHJnQVlLFk2p GJ1TiuJTp16wwfdDx0b1RDrfp1VpP2OAaKzYpd/9662l//PSFNwVViMU+sUNevDiRhiW o94A== X-Received: by 10.180.210.236 with SMTP id mx12mr5053452wic.16.1418658311776; Mon, 15 Dec 2014 07:45:11 -0800 (PST) Original-Received: from axl (static-nbl2-118.cytanet.com.cy. [212.31.107.118]) by mx.google.com with ESMTPSA id b10sm13697685wiw.9.2014.12.15.07.45.10 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Mon, 15 Dec 2014 07:45:11 -0800 (PST) In-Reply-To: (Paul Pogonyshev's message of "Mon, 15 Dec 2014 16:14:18 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.51 (gnu/linux) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:97360 Archived-At: Paul Pogonyshev 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)))