Subject: bug#24126: vc-hg-state can be extremely slow

From: Lars Ingebrigtsen <[email-masked]>
Date: Sun, 15 Aug 2021 14:30:22 +0200

Dmitry Gutov <[email-masked]> writes:

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

This was five years ago -- I tried reproducing this by instrumenting
`vg-hg-state' in a hg-covered directory, and that function was not
called when doing vc-root-diff there.

So has this been fixed in the intervening years?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no