Patchwork D7128: rust-dirstate-status: use fast-path even with fsmonitor and sparse extensions

login
register
mail settings
Submitter phabricator
Date Oct. 17, 2019, 11:31 p.m.
Message ID <differential-rev-PHID-DREV-usukgw3gykkss3fmeidu-req@mercurial-scm.org>
Download mbox | patch
Permalink /patch/42459/
State Superseded
Headers show

Comments

phabricator - Oct. 17, 2019, 11:31 p.m.
Alphare created this revision.
Herald added subscribers: mercurial-devel, mjpieters.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  When I initially ran the tests on my series, there were test failures related
  to those extensions. Now that the initial series has landed, I felt like going
  back to those issues because people with performance issues will often want to
  use fsmonitor and sparse.
  
  Either because of flaky tests or because the series has changed so much, I
  can't seem to reproduce these issues... let's widen the scope of the fast-path.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D7128

AFFECTED FILES
  mercurial/dirstate.py

CHANGE DETAILS




To: Alphare, #hg-reviewers
Cc: mjpieters, mercurial-devel
phabricator - Oct. 18, 2019, 4:37 p.m.
martinvonz added inline comments.

INLINE COMMENTS

> dirstate.py:1119
> -        # We don't yet have a mechanism for extensions
> -        elif sparse.enabled:
> -            use_rust = False

This made the import of `sparse` unused. I'll remove it.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D7128/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D7128

To: Alphare, #hg-reviewers
Cc: martinvonz, mjpieters, mercurial-devel

Patch

diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py
--- a/mercurial/dirstate.py
+++ b/mercurial/dirstate.py
@@ -1115,11 +1115,6 @@ 
         elif not match.always():
             # Matchers have yet to be implemented
             use_rust = False
-        # We don't yet have a mechanism for extensions
-        elif sparse.enabled:
-            use_rust = False
-        elif not getattr(self, "_fsmonitordisable", True):
-            use_rust = False
 
         if use_rust:
             (