# HG changeset patch # User Pierre-Yves David # Date 1380229963 -7200 # Node ID 6fb14d21fe9d9be30f71efc9cf5a5f1995082678 # Parent a194a33f8cb230c3e2bd8c4a0105b992e9d48ce4 strip: move checksubstate from mq to strip One more step for issue3824 diff -r a194a33f8cb2 -r 6fb14d21fe9d hgext/mq.py --- a/hgext/mq.py Thu Sep 26 23:10:11 2013 +0200 +++ b/hgext/mq.py Thu Sep 26 23:12:43 2013 +0200 @@ -88,6 +88,8 @@ pass stripext = extensions.load(dummyui(), 'strip', '') +checksubstate = stripext.checksubstate + # Patch names looks like unix-file names. # They must be joinable with queue directory and result in the patch path. normname = util.normpath @@ -2907,23 +2909,6 @@ q.savedirty() return 0 -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.parents()[0] - for s in sorted(wctx.substate): - if wctx.sub(s).dirty(True): - raise util.Abort( - _("uncommitted changes in subrepository %s") % s) - elif s not in bctx.substate or bctx.sub(s).dirty(): - inclsubs.append(s) - return inclsubs - def checklocalchanges(repo, force=False, excsuffix=''): cmdutil.checkunfinished(repo) m, a, r, d = repo.status()[:4] diff -r a194a33f8cb2 -r 6fb14d21fe9d hgext/strip.py --- a/hgext/strip.py Thu Sep 26 23:10:11 2013 +0200 +++ b/hgext/strip.py Thu Sep 26 23:12:43 2013 +0200 @@ -1,5 +1,24 @@ -from mercurial import cmdutil +from mercurial.i18n import _ +from mercurial import cmdutil, util cmdtable = {} command = cmdutil.command(cmdtable) testedwith = 'internal' + +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.parents()[0] + for s in sorted(wctx.substate): + if wctx.sub(s).dirty(True): + raise util.Abort( + _("uncommitted changes in subrepository %s") % s) + elif s not in bctx.substate or bctx.sub(s).dirty(): + inclsubs.append(s) + return inclsubs +