Add CACHEDIR.TAG to .ruff_cache (#830)

This commit is contained in:
Charlie Marsh
2022-11-20 10:53:31 -05:00
committed by GitHub
parent 124782771f
commit 529513bf02
3 changed files with 31 additions and 6 deletions

10
Cargo.lock generated
View File

@@ -397,6 +397,15 @@ version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c"
[[package]]
name = "cachedir"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e236bf5873ea57ec2877445297f4da008916bfae51567131acfc54a073d694f3"
dependencies = [
"tempfile",
]
[[package]]
name = "cast"
version = "0.3.0"
@@ -2257,6 +2266,7 @@ dependencies = [
"bincode",
"bitflags",
"cacache",
"cachedir",
"chrono",
"clap 4.0.22",
"clearscreen",

View File

@@ -18,6 +18,7 @@ anyhow = { version = "1.0.66" }
atty = { version = "0.2.14" }
bincode = { version = "1.3.3" }
bitflags = { version = "1.3.2" }
cachedir = { version = "0.3.0" }
chrono = { version = "0.4.21", default-features = false, features = ["clock"] }
clap = { version = "4.0.1", features = ["derive"] }
colored = { version = "2.0.0" }

View File

@@ -94,16 +94,29 @@ fn cache_key(path: &Path, settings: &Settings, autofix: &fixer::Mode) -> String
)
}
/// Initialize the cache directory.
pub fn init() -> Result<()> {
let gitignore_path = Path::new(cache_dir()).join(".gitignore");
if gitignore_path.exists() {
return Ok(());
let path = Path::new(cache_dir());
// Create the directory.
create_dir_all(path)?;
// Add the CACHEDIR.TAG.
if !cachedir::is_tagged(path)? {
cachedir::add_tag(path)?;
}
create_dir_all(cache_dir())?;
let mut file = File::create(gitignore_path)?;
file.write_all(b"*").map_err(|e| e.into())
// Add the .gitignore.
let gitignore_path = path.join(".gitignore");
if !gitignore_path.exists() {
let mut file = File::create(gitignore_path)?;
file.write_all(b"*")?;
}
Ok(())
}
/// Get a value from the cache.
pub fn get(
path: &Path,
metadata: &Metadata,
@@ -134,6 +147,7 @@ pub fn get(
None
}
/// Set a value in the cache.
pub fn set(
path: &Path,
metadata: &Metadata,