GNU bug report logs - #63470
[PATCH] Use faster option for running vc-hg status

Previous Next

Package: emacs;

Reported by: Spencer Baugh <sbaugh <at> janestreet.com>

Date: Fri, 12 May 2023 19:29:02 UTC

Severity: normal

Tags: patch

Fixed in version 30.1

Done: Dmitry Gutov <dmitry <at> gutov.dev>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Spencer Baugh <sbaugh <at> janestreet.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 63470 <at> debbugs.gnu.org
Subject: bug#63470: [PATCH] Use faster option for running vc-hg status
Date: Fri, 12 May 2023 15:57:41 -0400
Eli Zaretskii <eliz <at> gnu.org> writes:
>> From: Spencer Baugh <sbaugh <at> janestreet.com>
>> Date: Fri, 12 May 2023 15:28:43 -0400
>> 
>> As the comment says, this causes us to depend on Mercurial 4.2, which
>> was released in 2017.  However, in modern Mercurial, removing the
>> "re:" "-I" "." options provides a 10x-20x speedup (because it allows
>> the Rust implementation of "hg status" to be used), so it's certainly
>> worth losing this compatibility.
>
> I don't understand: what will happen to users of Mercurial < 4.2?

They will get an error message and the vc-dir buffer will fail to
update.

> And why cannot we detect the version and dispatch on that, instead of
> doing this unconditionally?

hg --version takes a quarter of a second on my machine, which itself
wipes out a lot of the performance benefit.  We could cache it, but it's
not clear to me how to do that correctly: there could be different hg
binaries in different directories, or over TRAMP, or other such things.

I could add a user option to revert to the old behavior, if you want.

(It would be nice if vc was available on ELPA, then maybe we could just
tell users of old mercurial versions to downgrade to an old version...)




This bug report was last modified 2 years and 82 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.