memctx: explicitly set substate to None
authorSean Farley <sean.michael.farley@gmail.com>
Wed, 02 Jul 2014 15:24:43 -0500
changeset 21844 7cfd94ec5d30
parent 21841 521355a95636
child 21845 04f5b5e3792e
memctx: explicitly set substate to None In d2743be1bb06, memctx was changed to inherit from committablectx, this in turn added the 'substate' property to memctx. It turns out that the newcommitphase method tested for this property: def newcommitphase(ui, ctx): commitphase = phases.newcommitphase(ui) substate = getattr(ctx, "substate", None) if not substate: return commitphase Currently, memctx isn't ready to handle substates, nor removed files, so we explicitly must set substate=None to get the old behavior back. In the future, we can decide how memctx should play with substate. For now, this fixes third-party extensions and some internal code dealing with subrepos.
mercurial/context.py
--- a/mercurial/context.py	Sun Jul 06 15:43:26 2014 -0400
+++ b/mercurial/context.py	Wed Jul 02 15:24:43 2014 -0500
@@ -1571,6 +1571,7 @@
         files = sorted(set(files))
         self._status = [files, [], [], [], []]
         self._filectxfn = filectxfn
+        self.substate = None
 
         self._extra = extra and extra.copy() or {}
         if self._extra.get('branch', '') == '':