mercurial/context.py
changeset 44857 e607099d8b93
parent 44365 7c4b98a4e536
child 44916 61719b9658b1
--- a/mercurial/context.py	Mon May 18 14:59:59 2020 -0400
+++ b/mercurial/context.py	Mon May 18 16:00:26 2020 -0400
@@ -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