ruff
3000a47f - Include file permissions in key for cached files (#5901)

Commit
1 year ago
Include file permissions in key for cached files (#5901) Reimplements https://github.com/astral-sh/ruff/pull/3104 Closes https://github.com/astral-sh/ruff/issues/5726 Note that we will generate the hash for a cache key twice in normal operation. Once to check for the cached item and again to update the cache. We could optimize this by generating the hash once in `diagnostics::lint_file` and passing the `u64` into `get` and `update`. We'd probably want to wrap it in a `CacheKeyHash` enum for type safety. ## Test plan Unit tests for Windows and Unix. Manual test with case from issue ``` ❯ touch fake.py ❯ chmod +x fake.py ❯ ./target/debug/ruff --select EXE fake.py fake.py:1:1: EXE002 The file is executable but no shebang is present Found 1 error. ❯ chmod -x fake.py ❯ ./target/debug/ruff --select EXE fake.py ```
Author
Parents
  • File
    Cargo.lock
  • crates/ruff_cli
    • File
      Cargo.toml
    • resources/test/fixtures/cache_mutable
      • File
        source.py
    • src
      • File
        cache.rs
      • File
        diagnostics.rs