Skip to content

Commit 138f478

Browse files
authored
Add an option to ignore the mypy version when validating cache metadata (#3641)
1 parent fa0d06d commit 138f478

File tree

3 files changed

+4
-1
lines changed

3 files changed

+4
-1
lines changed

mypy/build.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -895,7 +895,7 @@ def find_cache_meta(id: str, path: str, manager: BuildManager) -> Optional[Cache
895895
return None
896896

897897
# Ignore cache if generated by an older mypy version.
898-
if (m.version_id != manager.version_id
898+
if ((m.version_id != manager.version_id and not manager.options.skip_version_check)
899899
or m.options is None
900900
or len(m.dependencies) != len(m.dep_prios)):
901901
manager.trace('Metadata abandoned for {}: new attributes are missing'.format(id))

mypy/main.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,8 @@ def add_invertible_flag(flag: str,
289289
parser.add_argument('--cache-dir', action='store', metavar='DIR',
290290
help="store module cache info in the given folder in incremental mode "
291291
"(defaults to '{}')".format(defaults.CACHE_DIR))
292+
parser.add_argument('--skip-version-check', action='store_true',
293+
help="allow using cache written by older mypy version")
292294
add_invertible_flag('--strict-optional', default=False, strict_flag=True,
293295
help="enable experimental strict Optional checks")
294296
parser.add_argument('--strict-optional-whitelist', metavar='GLOB', nargs='*',

mypy/options.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ def __init__(self) -> None:
113113
self.cache_dir = defaults.CACHE_DIR
114114
self.debug_cache = False
115115
self.quick_and_dirty = False
116+
self.skip_version_check = False
116117

117118
# Paths of user plugins
118119
self.plugins = [] # type: List[str]

0 commit comments

Comments
 (0)