Raphaël Gomès <rgomes@octobus.net> [Wed, 06 May 2020 11:17:27 +0200] rev 44879
rust-filepatterns: match exact `rootglob`s with a `HashSet`, not in the regex
This optimization yields some very interesting results in `rootglob`-heavy
repositories.
I build a test repository of the following structure:
```
root
/<uuid>/build/empty_file
... repeat for 4000 entries
```
and a `.hgignore` containing the corresponding 4000 `rootglob` entries pointing
to all `build/` folders.
Rust+c `hg status` goes from 350ms down to 110ms.
Differential Revision: https://phab.mercurial-scm.org/D8491
Mitchell Plamann <mplamann@janestreet.com> [Wed, 15 Apr 2020 16:43:05 -0400] rev 44878
dirstate: force _checkexec to return a bool
posix.checkexec can return True, False, or None. The rust status
implementation expects a boolean, so make sure _checkexec returns a boolean.
Differential Revision: https://phab.mercurial-scm.org/D8432
Kyle Lippincott <spectral@google.com> [Tue, 21 Apr 2020 13:37:45 -0700] rev 44877
locking: wait for locks in `hg cp` and `hg mv`
I traced this back to revision 1822 (64df422), and there's no explanation why we
would prefer to error out instead of waiting for the locks.
Differential Revision: https://phab.mercurial-scm.org/D8464