typing: add several assertions to dirstatemap to appease pytype
(grafted from default to stable)
I think it's been mentioned in IRC that these can't be None in this case. This
fixes:
File "/mnt/c/Users/Matt/hg/mercurial/dirstatemap.py", line 213, in addfile: unsupported operand type(s) for &: 'None' and 'int' [unsupported-operands]
No attribute '__and__' on None or '__rand__' on int
Called from (traceback):
line 290, in reset_state
File "/mnt/c/Users/Matt/hg/mercurial/dirstatemap.py", line 214, in addfile: unsupported operand type(s) for &: 'None' and 'int' [unsupported-operands]
No attribute '__and__' on None or '__rand__' on int
Called from (traceback):
line 290, in reset_state
Differential Revision: https://phab.mercurial-scm.org/D11235
--- a/mercurial/dirstatemap.py Mon Aug 02 10:51:19 2021 -0400
+++ b/mercurial/dirstatemap.py Fri Jul 30 00:11:56 2021 -0400
@@ -209,6 +209,9 @@
else:
assert size != FROM_P2
assert size != NONNORMAL
+ assert size is not None
+ assert mtime is not None
+
state = b'n'
size = size & rangemask
mtime = mtime & rangemask