diff --git a/mercurial/context.py b/mercurial/context.py --- a/mercurial/context.py +++ b/mercurial/context.py @@ -34,6 +34,7 @@ error, fileset, match as matchmod, + mergestate as mergestatemod, obsolete as obsmod, patch, pathutil, @@ -474,6 +475,12 @@ return r + def mergestate(self, clean=False): + """Get a mergestate object for this context.""" + raise NotImplementedError( + '%s does not implement mergestate()' % self.__class__ + ) + class changectx(basectx): """A changecontext object makes access to data related to a particular @@ -2003,6 +2010,11 @@ sparse.aftercommit(self._repo, node) + def mergestate(self, clean=False): + if clean: + return mergestatemod.mergestate.clean(self._repo) + return mergestatemod.mergestate.read(self._repo) + class committablefilectx(basefilectx): """A committablefilectx provides common functionality for a file context