Mercurial > hg-stable
changeset 39961:1a7d901a0a0c
narrow: avoid looking up dirstate again when editing dirstate
The narrow extension overrides the dirstate editing functions to
restrict paths outside the narrowspec. These overrides access the
dirstate from repo.dirstate instead of using the "self" reference
passed to the overridden functions. I don't see a reason for this and
it caused me problems with a later patch (it caused infinite recursion
when I modified localrepo.dirstate()), so let's change it.
Differential Revision: https://phab.mercurial-scm.org/D4829
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Mon, 01 Oct 2018 15:29:31 -0700 |
parents | 43d3b09b3e5a |
children | ad9ca365738b |
files | hgext/narrow/narrowdirstate.py |
diffstat | 1 files changed, 1 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/narrow/narrowdirstate.py Wed Sep 26 23:09:28 2018 -0700 +++ b/hgext/narrow/narrowdirstate.py Mon Oct 01 15:29:31 2018 -0700 @@ -18,10 +18,9 @@ def _editfunc(fn): def _wrapper(self, *args): - dirstate = repo.dirstate narrowmatch = repo.narrowmatch() for f in args: - if f is not None and not narrowmatch(f) and f not in dirstate: + if f is not None and not narrowmatch(f) and f not in self: raise error.Abort(_("cannot track '%s' - it is outside " + "the narrow clone") % f) return fn(self, *args)