# HG changeset patch # User Martin von Zweigbergk # Date 2019-05-11 04:53:41 # Node ID 4fbfc893e6b9a3f2a056433c2f4d476e088e44fc # Parent 491855ea9d62b294de3f2c700b11b1d2d6c286c5 context: move walk() and match() overrides from committablectx to workingctx Same reasoning as previous commit: these functions update the dirstate. Differential Revision: https://phab.mercurial-scm.org/D6363 diff --git a/mercurial/context.py b/mercurial/context.py --- a/mercurial/context.py +++ b/mercurial/context.py @@ -1209,17 +1209,6 @@ class committablectx(basectx): """return the "best" ancestor context of self and c2""" return self._parents[0].ancestor(c2) # punt on two parents for now - def walk(self, match): - '''Generates matching file names.''' - return sorted(self._repo.dirstate.walk(self._repo.narrowmatch(match), - subrepos=sorted(self.substate), - unknown=True, ignored=False)) - - def matches(self, match): - match = self._repo.narrowmatch(match) - ds = self._repo.dirstate - return sorted(f for f in ds.matches(match) if ds[f] != 'r') - def ancestors(self): for p in self._parents: yield p @@ -1656,6 +1645,17 @@ class workingctx(committablectx): match.bad = bad return match + def walk(self, match): + '''Generates matching file names.''' + return sorted(self._repo.dirstate.walk(self._repo.narrowmatch(match), + subrepos=sorted(self.substate), + unknown=True, ignored=False)) + + def matches(self, match): + match = self._repo.narrowmatch(match) + ds = self._repo.dirstate + return sorted(f for f in ds.matches(match) if ds[f] != 'r') + def markcommitted(self, node): super(workingctx, self).markcommitted(node)