diff --git a/hgext/mq.py b/hgext/mq.py --- a/hgext/mq.py +++ b/hgext/mq.py @@ -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. diff --git a/hgext/strip.py b/hgext/strip.py --- a/hgext/strip.py +++ b/hgext/strip.py @@ -31,21 +31,6 @@ # leave the attribute unspecified. testedwith = 'ships-with-hg-core' -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 - def checklocalchanges(repo, force=False): cmdutil.checkunfinished(repo) s = repo.status()