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.
--- 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', '') == '':