Mercurial > evolve
changeset 5039:778286176016
compat: ask pytype to ignore some warnings
It's expected to have a bunch of import and attribute errors in this module
because it's for compatibility with different versions of hg and Python.
Although it doesn't explain why a function wouldn't have __code__ attribute? So
far I think it's a quirk of pytype.
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Mon, 09 Dec 2019 19:44:10 +0700 |
parents | f583d9eedbce |
children | 5b0f761fda9c |
files | hgext3rd/evolve/compat.py |
diffstat | 1 files changed, 25 insertions(+), 24 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext3rd/evolve/compat.py Wed Nov 06 18:15:00 2019 +0530 +++ b/hgext3rd/evolve/compat.py Mon Dec 09 19:44:10 2019 +0700 @@ -41,9 +41,9 @@ changesetdiffer = logcmdutil.changesetdiffer except (AttributeError, ImportError): from mercurial import cmdutil - changesetdisplayer = cmdutil.show_changeset - changesetprinter = cmdutil.changeset_printer - displaygraph = cmdutil.displaygraph + changesetdisplayer = cmdutil.show_changeset # pytype: disable=module-attr + changesetprinter = cmdutil.changeset_printer # pytype: disable=module-attr + displaygraph = cmdutil.displaygraph # pytype: disable=module-attr changesetdiffer = None # hg <= 5.3 (c21aca51b392) @@ -51,7 +51,7 @@ from mercurial import pathutil dirs = pathutil.dirs except (AttributeError, ImportError): - dirs = util.dirs + dirs = util.dirs # pytype: disable=module-attr from . import ( exthelper, @@ -96,7 +96,7 @@ def memfilectx(repo, ctx, fctx, flags, copied, path): # XXX Would it be better at the module level? - varnames = context.memfilectx.__init__.__code__.co_varnames + varnames = context.memfilectx.__init__.__code__.co_varnames # pytype: disable=attribute-error if r"copysource" in varnames: mctx = context.memfilectx(repo, ctx, fctx.path(), fctx.data(), @@ -108,12 +108,12 @@ mctx = context.memfilectx(repo, ctx, fctx.path(), fctx.data(), islink=b'l' in flags, isexec=b'x' in flags, - copied=copied.get(path)) + copied=copied.get(path)) # pytype: disable=wrong-keyword-args else: mctx = context.memfilectx(repo, fctx.path(), fctx.data(), islink=b'l' in flags, isexec=b'x' in flags, - copied=copied.get(path)) + copied=copied.get(path)) # pytype: disable=wrong-keyword-args return mctx def strdiff(a, b, fn1, fn2): @@ -136,14 +136,15 @@ # date related +# hg <= 4.5 (c6061cadb400) try: import mercurial.utils.dateutil makedate = mercurial.utils.dateutil.makedate parsedate = mercurial.utils.dateutil.parsedate except ImportError: import mercurial.util - makedate = mercurial.util.makedate - parsedate = mercurial.util.parsedate + makedate = mercurial.util.makedate # pytype: disable=module-attr + parsedate = mercurial.util.parsedate # pytype: disable=module-attr def wireprotocommand(exthelper, name, args=b'', permission=b'pull'): try: @@ -174,7 +175,7 @@ # scmutil.bookmarkrevs # This change is a part of 4.7 cycle, so drop this when we drop support for 4.6 try: - bmrevset = repair.stripbmrevset + bmrevset = repair.stripbmrevset # pytype: disable=module-attr except AttributeError: bmrevset = scmutil.bookmarkrevs @@ -220,9 +221,9 @@ # hg < 4.8 compat (dc50121126ae) try: - limit = copies._findlimit(repo, c1, c2) + limit = copies._findlimit(repo, c1, c2) # pytype: disable=module-attr except (AttributeError, TypeError): - limit = copies._findlimit(repo, c1.rev(), c2.rev()) + limit = copies._findlimit(repo, c1.rev(), c2.rev()) # pytype: disable=module-attr if limit is None: # no common ancestor, no copies return {}, {}, {}, {}, {} @@ -263,11 +264,11 @@ bothnew = sorted(addedinm1 & addedinm2) if tca == base: # unmatched file from base - u1r, u2r = copies._computenonoverlap(repo, c1, c2, addedinm1, addedinm2) + u1r, u2r = copies._computenonoverlap(repo, c1, c2, addedinm1, addedinm2) # pytype: disable=module-attr u1u, u2u = u1r, u2r else: # unmatched file from base (DAG rotation in the graft case) - u1r, u2r = copies._computenonoverlap(repo, c1, c2, addedinm1, addedinm2, + u1r, u2r = copies._computenonoverlap(repo, c1, c2, addedinm1, addedinm2, # pytype: disable=module-attr baselabel=b'base') # unmatched file from topological common ancestors (no DAG rotation) # need to recompute this for directory move handling when grafting @@ -276,18 +277,18 @@ m1f = m1.filesnotin(mta, repo.narrowmatch()) m2f = m2.filesnotin(mta, repo.narrowmatch()) baselabel = b'topological common ancestor' - u1u, u2u = copies._computenonoverlap(repo, c1, c2, m1f, m2f, + u1u, u2u = copies._computenonoverlap(repo, c1, c2, m1f, m2f, # pytype: disable=module-attr baselabel=baselabel) else: - u1u, u2u = copies._computenonoverlap(repo, c1, c2, m1.filesnotin(mta), + u1u, u2u = copies._computenonoverlap(repo, c1, c2, m1.filesnotin(mta), # pytype: disable=module-attr m2.filesnotin(mta), baselabel=b'topological common ancestor') for f in u1u: - copies._checkcopies(c1, c2, f, base, tca, dirtyc1, limit, data1) + copies._checkcopies(c1, c2, f, base, tca, dirtyc1, limit, data1) # pytype: disable=module-attr for f in u2u: - copies._checkcopies(c2, c1, f, base, tca, dirtyc2, limit, data2) + copies._checkcopies(c2, c1, f, base, tca, dirtyc2, limit, data2) # pytype: disable=module-attr copy = dict(data1[b'copy']) copy.update(data2[b'copy']) @@ -295,10 +296,10 @@ fullcopy.update(data2[b'fullcopy']) if dirtyc1: - copies._combinecopies(data2[b'incomplete'], data1[b'incomplete'], copy, diverge, + copies._combinecopies(data2[b'incomplete'], data1[b'incomplete'], copy, diverge, # pytype: disable=module-attr incompletediverge) else: - copies._combinecopies(data1[b'incomplete'], data2[b'incomplete'], copy, diverge, + copies._combinecopies(data1[b'incomplete'], data2[b'incomplete'], copy, diverge, # pytype: disable=module-attr incompletediverge) renamedelete = {} @@ -334,19 +335,19 @@ b'incompletediverge': bothincompletediverge } for f in bothnew: - copies._checkcopies(c1, c2, f, base, tca, dirtyc1, limit, both1) - copies._checkcopies(c2, c1, f, base, tca, dirtyc2, limit, both2) + copies._checkcopies(c1, c2, f, base, tca, dirtyc1, limit, both1) # pytype: disable=module-attr + copies._checkcopies(c2, c1, f, base, tca, dirtyc2, limit, both2) # pytype: disable=module-attr if dirtyc1 and dirtyc2: pass elif dirtyc1: # incomplete copies may only be found on the "dirty" side for bothnew assert not both2[b'incomplete'] - remainder = copies._combinecopies({}, both1[b'incomplete'], copy, bothdiverge, + remainder = copies._combinecopies({}, both1[b'incomplete'], copy, bothdiverge, # pytype: disable=module-attr bothincompletediverge) elif dirtyc2: assert not both1[b'incomplete'] - remainder = copies._combinecopies({}, both2[b'incomplete'], copy, bothdiverge, + remainder = copies._combinecopies({}, both2[b'incomplete'], copy, bothdiverge, # pytype: disable=module-attr bothincompletediverge) else: # incomplete copies and divergences can't happen outside grafts