Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix some fine-grained cache/fswatcher problems #4560

Merged
merged 2 commits into from
Feb 9, 2018
Merged

Fix some fine-grained cache/fswatcher problems #4560

merged 2 commits into from
Feb 9, 2018

Conversation

msullivan
Copy link
Collaborator

In fswatcher, update the cache if mtime changes; otherwise an mtime
change without an md5 change will cause the file to be rechecked every
time. This was triggered in a painful way by fswatcher's cache being
populated with mtimes from the cache files.

Flush the fscache after an initial fine-grained upgrade, which could
cause certain changes to be missed temporarily.

Don't compute hashes for the whole source tree redundantly in caching
mode, which saves a bunch of time on initial load.

In fswatcher, update the cache if mtime changes; otherwise an mtime
change without an md5 change will cause the file to be rechecked every
time. This was triggered in a painful way by fswatcher's cache being
populated with mtimes from the cache files.

Flush the fscache after an initial fine-grained upgrade, which could
cause certain changes to be missed temporarily.

Don't compute hashes for the whole source tree redundantly in caching
mode, which saves a bunch of time on initial load.
@msullivan msullivan merged commit f0cd049 into master Feb 9, 2018
@msullivan msullivan deleted the cache-fix branch February 12, 2018 18:16
carljm added a commit to carljm/mypy that referenced this pull request Feb 14, 2018
* master: (32 commits)
  Fix some fine-grained cache/fswatcher problems (python#4560)
  Sync typeshed (python#4559)
  Add _cached suffix to test cases in fine-grained tests with cache (python#4558)
  Add back support for simplified fine-grained logging (python#4557)
  Type checking of class decorators (python#4544)
  Sync typeshed (python#4556)
  When loading from a fine-grained cache, use the real path, not the cached (python#4555)
  Switch all of the fine-grained debug logging to use manager.log (python#4550)
  Caching for fine-grained incremental mode (python#4483)
  Fix --warn-return-any for NotImplemented (python#4545)
  Remove myunit (python#4369)
  Store line numbers of imports in the cache metadata (python#4533)
  README.md: Fix a typo (python#4529)
  Enable generation and caching of fine-grained dependencies from normal runs (python#4526)
  Move argument parsing for the fine-grained flag into the main arg parsing code (python#4524)
  Don't warn about unrecognized options starting with 'x_' (python#4522)
  stubgen: don't append star arg when args list already has varargs appended (python#4518)
  Handle TypedDict in diff and deps (python#4510)
  Fix Options.__repr__ to not infinite recurse (python#4514)
  Fix some fine-grained incremental bugs with newly imported files (python#4502)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants