From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.bugs Subject: bug#24126: vc-hg-state can be extremely slow Date: Tue, 2 Aug 2016 19:19:30 +0300 Message-ID: <803901e8-fb81-82c1-647f-007bbbf7caf7@yandex.ru> References: <932b12d0-6081-99c4-91f7-ed00f42462f2@yandex.ru> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: blaine.gmane.org 1470154903 32750 195.159.176.226 (2 Aug 2016 16:21:43 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 2 Aug 2016 16:21:43 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:47.0) Gecko/20100101 Thunderbird/47.0 Cc: 24126@debbugs.gnu.org To: Jonathan Kotta Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Aug 02 18:21:39 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bUcRm-00082d-Rx for geb-bug-gnu-emacs@m.gmane.org; Tue, 02 Aug 2016 18:21:38 +0200 Original-Received: from localhost ([::1]:57650 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bUcRj-00073f-GY for geb-bug-gnu-emacs@m.gmane.org; Tue, 02 Aug 2016 12:21:35 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46253) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bUcQJ-0006Dl-CW for bug-gnu-emacs@gnu.org; Tue, 02 Aug 2016 12:20:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bUcQE-0003Uf-Bi for bug-gnu-emacs@gnu.org; Tue, 02 Aug 2016 12:20:07 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:56520) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bUcQE-0003Ub-7A for bug-gnu-emacs@gnu.org; Tue, 02 Aug 2016 12:20:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1bUcQE-0005Y1-0P for bug-gnu-emacs@gnu.org; Tue, 02 Aug 2016 12:20:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 02 Aug 2016 16:20:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 24126 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 24126-submit@debbugs.gnu.org id=B24126.147015478021288 (code B ref 24126); Tue, 02 Aug 2016 16:20:01 +0000 Original-Received: (at 24126) by debbugs.gnu.org; 2 Aug 2016 16:19:40 +0000 Original-Received: from localhost ([127.0.0.1]:53817 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bUcPs-0005XI-Ki for submit@debbugs.gnu.org; Tue, 02 Aug 2016 12:19:40 -0400 Original-Received: from mail-lf0-f53.google.com ([209.85.215.53]:34063) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bUcPr-0005X5-5f for 24126@debbugs.gnu.org; Tue, 02 Aug 2016 12:19:39 -0400 Original-Received: by mail-lf0-f53.google.com with SMTP id l69so142082962lfg.1 for <24126@debbugs.gnu.org>; Tue, 02 Aug 2016 09:19:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=NqvFvNwCNeJiLR0Q2oXtatEojmrukT0FEHtRZXGp1uw=; b=AktP9PG4no3tNC8dfArOTqkIF+T2S87HRw0YtzG8rxtpQKUsdd85hvrkqSLqKsIj5d fpKwSPhdZmyPcdjaUIrc/eefMGxJ6C6vied3lB5mwEBd0Aja19CfnYG/e0PlTRjBehEE 5ZYu5w2sCAjZVX8W9r/84GZEQCFUH7IoxV9fdYBognp8FBHO0asIVwpOPN0uESdfj/N0 d4pKrUL2ON5kQQRc5QTjCM1dVVB4vHIXIMzWIvc9eP0mcOwrCou/0HmbLZzkexhvAnvw htmib6fpwMOazg6jq3AToTuyNeU6JEcrjbvhThB9fUizIYi2awuxqTxaZT7uoZc08zKz vz3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:to:references:cc:from:message-id :date:user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=NqvFvNwCNeJiLR0Q2oXtatEojmrukT0FEHtRZXGp1uw=; b=hzud18OBXvQ3W51L6BdGVAwk3v9bvl5zBIL5ijn3NqTdKcpAigPyqKxK+MoP+8wVxU GeG6nlypvILfhxjwydyr9uK9y2rkonySsmHj/wHgVDd48TfeOelDd/xr/Db893oPihUw YD3z1m4KCd+3tm9aEAHDPVsg/8ed55AXJg2wGIC36U0JrFMUweZK98825ashU2YNAPIR DmToG3Ih527cbSWCX33lmYGXPUZ6IXajbjdZcJle8Ay9x31ET6M2VSJxgOPPaBlHHsGg vMGuvr+oKymDpK5MHW6O4jGd8PxePiZj0Q821ov8sUPAXrnJdy6ccBdhd37/z0Pcsf6A WxJQ== X-Gm-Message-State: AEkooutwPJ+/owSDbIDfUn3Fx0I1e8Kc5jciyHTa9d77PLLBlyrfmO/mJzGtc8OBxxSf3g== X-Received: by 10.46.71.69 with SMTP id u66mr18771449lja.14.1470154773093; Tue, 02 Aug 2016 09:19:33 -0700 (PDT) Original-Received: from [192.168.1.190] ([178.252.127.239]) by smtp.googlemail.com with ESMTPSA id g11sm616421lji.25.2016.08.02.09.19.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Aug 2016 09:19:32 -0700 (PDT) In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.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" Xref: news.gmane.org gmane.emacs.bugs:121788 Archived-At: On 08/02/2016 06:57 PM, Jonathan Kotta wrote: > In the case of `vc-root-diff` at least, it's passing in a directory; the > command is essentially `hg status -A ./`, and the CWD is indeed the repo > root. I did this by running `vc-root-diff` from a dired buffer visiting > the repo root. OK, thanks. The chain of calls looks like this: vc-hg-state("~/vc/mozilla-central/") vc-hg-registered("~/vc/mozilla-central/") apply(vc-hg-registered "~/vc/mozilla-central/") vc-call-backend(Hg registered "~/vc/mozilla-central/") vc-registered("~/vc/mozilla-central/") vc-backend("~/vc/mozilla-central/") vc-working-revision("~/vc/mozilla-central/") vc-root-diff(nil t) Maybe vc-hg-registered shouldn't delegate to vc-hg-state, and call 'hg status' on its own without '-A'.