Mercurial > hg
view tests/autodiff.py @ 48480:cfb4f1dee978
pytype: stop excluding wireprotov2server.py
This fixes:
File "/mnt/c/Users/Matt/hg/mercurial/wireprotov2server.py", line 584, in _capabilitiesv2:
unsupported operand type(s) for item assignment: Set[bytes] [unsupported-operands]
No attribute '__setitem__' on Set[bytes]
File "/mnt/c/Users/Matt/hg/mercurial/wireprotov2server.py", line 611, in _capabilitiesv2:
No attribute 'append' on dict [attribute-error]
In Union[List[bytes], List[nothing], dict]
Called from (traceback):
line 543, in httpv2apidescriptor
Differential Revision: https://phab.mercurial-scm.org/D11919
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Mon, 13 Dec 2021 16:42:36 -0500 |
parents | b74e128676d4 |
children | 6000f5b25c9b |
line wrap: on
line source
# Extension dedicated to test patch.diff() upgrade modes from __future__ import absolute_import from mercurial import ( error, logcmdutil, patch, pycompat, registrar, scmutil, ) cmdtable = {} command = registrar.command(cmdtable) @command( b'autodiff', [(b'', b'git', b'', b'git upgrade mode (yes/no/auto/warn/abort)')], b'[OPTION]... [FILE]...', ) def autodiff(ui, repo, *pats, **opts): opts = pycompat.byteskwargs(opts) diffopts = patch.difffeatureopts(ui, opts) git = opts.get(b'git', b'no') brokenfiles = set() losedatafn = None if git in (b'yes', b'no'): diffopts.git = git == b'yes' diffopts.upgrade = False elif git == b'auto': diffopts.git = False diffopts.upgrade = True elif git == b'warn': diffopts.git = False diffopts.upgrade = True def losedatafn(fn=None, **kwargs): brokenfiles.add(fn) return True elif git == b'abort': diffopts.git = False diffopts.upgrade = True def losedatafn(fn=None, **kwargs): raise error.Abort(b'losing data for %s' % fn) else: raise error.Abort(b'--git must be yes, no or auto') ctx1, ctx2 = logcmdutil.revpair(repo, []) m = scmutil.match(ctx2, pats, opts) it = patch.diff( repo, ctx1.node(), ctx2.node(), match=m, opts=diffopts, losedatafn=losedatafn, ) for chunk in it: ui.write(chunk) for fn in sorted(brokenfiles): ui.write((b'data lost for: %s\n' % fn))