mercurial/dirstate.py
changeset 49361 c2092612c424
parent 49360 bd3519dc6741
child 49467 0705afae6253
equal deleted inserted replaced
49360:bd3519dc6741 49361:c2092612c424
  1176                 for st in util.statfiles([join(i) for i in visit]):
  1176                 for st in util.statfiles([join(i) for i in visit]):
  1177                     results[next(iv)] = st
  1177                     results[next(iv)] = st
  1178         return results
  1178         return results
  1179 
  1179 
  1180     def _rust_status(self, matcher, list_clean, list_ignored, list_unknown):
  1180     def _rust_status(self, matcher, list_clean, list_ignored, list_unknown):
       
  1181         if self._sparsematchfn is not None:
       
  1182             em = matchmod.exact(matcher.files())
       
  1183             sm = matchmod.unionmatcher([self._sparsematcher, em])
       
  1184             matcher = matchmod.intersectmatchers(matcher, sm)
  1181         # Force Rayon (Rust parallelism library) to respect the number of
  1185         # Force Rayon (Rust parallelism library) to respect the number of
  1182         # workers. This is a temporary workaround until Rust code knows
  1186         # workers. This is a temporary workaround until Rust code knows
  1183         # how to read the config file.
  1187         # how to read the config file.
  1184         numcpus = self._ui.configint(b"worker", b"numcpus")
  1188         numcpus = self._ui.configint(b"worker", b"numcpus")
  1185         if numcpus is not None:
  1189         if numcpus is not None:
  1293             use_rust = False
  1297             use_rust = False
  1294         elif self._checkcase:
  1298         elif self._checkcase:
  1295             # Case-insensitive filesystems are not handled yet
  1299             # Case-insensitive filesystems are not handled yet
  1296             use_rust = False
  1300             use_rust = False
  1297         elif subrepos:
  1301         elif subrepos:
  1298             use_rust = False
       
  1299         elif self._sparsematchfn is not None:
       
  1300             use_rust = False
  1302             use_rust = False
  1301         elif not isinstance(match, allowed_matchers):
  1303         elif not isinstance(match, allowed_matchers):
  1302             # Some matchers have yet to be implemented
  1304             # Some matchers have yet to be implemented
  1303             use_rust = False
  1305             use_rust = False
  1304 
  1306