HomePhabricator

narrow: move remaining narrow-limited dirstate walks to core

Authored by martinvonz.

Description

narrow: move remaining narrow-limited dirstate walks to core

In most places we now filter at a higher level (the context object),
but there are few places that relied on the dirstate walk to be
filtered by the narrowspec. The important cases are those used by `hg
add` and hg addremove. This patch updates them to pass in a matcher
instead of relying on the dirstate to do the filtering. The dirstate
filtering is also dropped in narrowdirstate.py.

Not always filtering in the dirstate should be useful for a future `hg
status --include-outside-narrow` option.

These places now end up doing an unrestricted dirstate walk after this
patch:

  • debugfileset
  • perfwalk
  • sparse (but restricted to sparse config)
  • largefiles

I'll let anyone who cares about these cases adapt them to work with
narrow if necessary.

Differential Revision: https://phab.mercurial-scm.org/D4901