# HG changeset patch # User Sean Farley # Date 1404332683 18000 # Node ID 7cfd94ec5d30a4da29700466024c62c51565c372 # Parent 521355a95636a81cd75266330f9cf13ccaaaaf51 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. diff -r 521355a95636 -r 7cfd94ec5d30 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', '') == '':