D7384: commands: necessary annotations and suppresssions to pass pytype
durin42 (Augie Fackler)
phabricator at mercurial-scm.org
Thu Nov 14 03:53:12 UTC 2019
durin42 created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
As with other places, there are some places where our types are just
too complicated for pytype, so we put some suppressions in place.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D7384
AFFECTED FILES
mercurial/commands.py
CHANGE DETAILS
diff --git a/mercurial/commands.py b/mercurial/commands.py
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -72,6 +72,15 @@
stringutil,
)
+if not globals():
+ from typing import (
+ Any,
+ Dict,
+ )
+
+ for t in (Any, Dict):
+ assert t
+
table = {}
table.update(debugcommandsmod.command._table)
@@ -1108,7 +1117,14 @@
finally:
state[b'current'] = [node]
hbisect.save_state(repo, state)
- hbisect.printresult(ui, repo, state, displayer, nodes, bgood)
+ hbisect.printresult(
+ ui,
+ repo,
+ state,
+ displayer,
+ nodes,
+ bgood, # pytype: disable=name-error
+ )
return
hbisect.checkstate(state)
@@ -2970,7 +2986,7 @@
if opts.get(b'base'):
basectx = scmutil.revsingle(repo, opts[b'base'], None)
# a dict of data to be stored in state file
- statedata = {}
+ statedata = {} # type: Dict[bytes, Any]
# list of new nodes created by ongoing graft
statedata[b'newnodes'] = []
@@ -3240,7 +3256,8 @@
)
# checking that newnodes exist because old state files won't have it
elif statedata.get(b'newnodes') is not None:
- statedata[b'newnodes'].append(node)
+ l = statedata[b'newnodes']
+ l.append(node) # pytype: disable=attribute-error
# remove state when we complete successfully
if not opts.get(b'dry_run'):
@@ -4731,7 +4748,11 @@
if copies:
endrev = None
if revs:
- endrev = revs.max() + 1
+ # If we're here, we know revs is a smartset.baseset
+ # because we're not possibly in the linerange mode. Sadly,
+ # pytype isn't convinced, so we have to suppress the
+ # warning about list not having a max() method.
+ endrev = revs.max() + 1 # pytype: disable=attribute-error
getcopies = scmutil.getcopiesfn(repo, endrev=endrev)
ui.pager(b'log')
@@ -7177,11 +7198,13 @@
t = []
if incoming:
t.append(_(b'1 or more incoming'))
- o = outgoing.missing
+ o = outgoing.missing # pytype: disable=attribute-error
if o:
t.append(_(b'%d outgoing') % len(o))
other = dother or sother
- if b'bookmarks' in other.listkeys(b'namespaces'):
+ if b'bookmarks' in other.listkeys( # pytype: disable=attribute-error
+ b'namespaces'
+ ):
counts = bookmarks.summary(repo, other)
if counts[0] > 0:
t.append(_(b'%d incoming bookmarks') % counts[0])
To: durin42, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list