--- a/hgext/mq.py Mon Jun 17 10:19:41 2019 -0700
+++ b/hgext/mq.py Mon Jun 17 10:53:00 2019 -0700
@@ -144,7 +144,21 @@
stripext = extensions.load(dummyui(), 'strip', '')
strip = stripext.strip
-checksubstate = stripext.checksubstate
+
+def checksubstate(repo, baserev=None):
+ '''return list of subrepos at a different revision than substate.
+ Abort if any subrepos have uncommitted changes.'''
+ inclsubs = []
+ wctx = repo[None]
+ if baserev:
+ bctx = repo[baserev]
+ else:
+ bctx = wctx.p1()
+ for s in sorted(wctx.substate):
+ wctx.sub(s).bailifchanged(True)
+ if s not in bctx.substate or bctx.sub(s).dirty():
+ inclsubs.append(s)
+ return inclsubs
# Patch names looks like unix-file names.
# They must be joinable with queue directory and result in the patch path.