pytype: stop excluding copies.py
authorMatt Harbison <matt_harbison@yahoo.com>
Mon, 13 Dec 2021 00:04:53 -0500
changeset 48477 79b904313357
parent 48476 19e6446cea11
child 48478 3444e0b39c30
pytype: stop excluding copies.py I can't prove that `targetrev` is always in `all_copies`, but it would have been a runtime error before too if it's not. Differential Revision: https://phab.mercurial-scm.org/D11916
mercurial/copies.py
tests/test-check-pytype.t
--- a/mercurial/copies.py	Sun Dec 12 22:29:46 2021 -0500
+++ b/mercurial/copies.py	Mon Dec 13 00:04:53 2021 -0500
@@ -448,7 +448,11 @@
 
         # filter out internal details and return a {dest: source mapping}
         final_copies = {}
-        for dest, (tt, source) in all_copies[targetrev].items():
+
+        targetrev_items = all_copies[targetrev]
+        assert targetrev_items is not None  # help pytype
+
+        for dest, (tt, source) in targetrev_items.items():
             if source is not None:
                 final_copies[dest] = source
     if not alwaysmatch:
--- a/tests/test-check-pytype.t	Sun Dec 12 22:29:46 2021 -0500
+++ b/tests/test-check-pytype.t	Mon Dec 13 00:04:53 2021 -0500
@@ -13,7 +13,6 @@
 mercurial/chgserver.py        # [attribute-error]
 mercurial/cmdutil.py          # No attribute 'markcopied' on mercurial.context.filectx [attribute-error]
 mercurial/context.py          # many [attribute-error]
-mercurial/copies.py           # No attribute 'items' on None [attribute-error]
 mercurial/crecord.py          # tons of [attribute-error], [module-attr]
 mercurial/debugcommands.py    # [wrong-arg-types]
 mercurial/dispatch.py         # initstdio: No attribute ... on TextIO [attribute-error]
@@ -57,7 +56,6 @@
   >    -x mercurial/chgserver.py \
   >    -x mercurial/cmdutil.py \
   >    -x mercurial/context.py \
-  >    -x mercurial/copies.py \
   >    -x mercurial/crecord.py \
   >    -x mercurial/debugcommands.py \
   >    -x mercurial/dispatch.py \