GNU bug report logs -
#66364
29.1.50; vc-hg-registered/state are slow on directories of large repos
Previous Next
Reported by: Spencer Baugh <sbaugh <at> janestreet.com>
Date: Thu, 5 Oct 2023 15:35:02 UTC
Severity: minor
Tags: patch
Found in version 29.1.50
Done: Dmitry Gutov <dmitry <at> gutov.dev>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
vc-hg-state (and vc-hg-registered, which calls vc-hg-state) are slow
when run on directories of large repos. In fact they're O(N) in the
number of files in the repo.
This is because vc-hg-state-slow runs "hg status" on directories in a
mode which lists all the files in the directory, and then it parses that
list. Which is pointlessly slow.
However, Hg (like git) does not actually track directories. So in the
end vc-hg-state on a directory should always be returning 'unregistered,
which matches the existing behavior of vc-hg (vc-hg-registered always
returned nil for directories) and is much faster. (It also matches what
vc-git does.)
A patch to do this will follow
This bug report was last modified 1 year and 278 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.