19 lines
732 B
Rust
19 lines
732 B
Rust
|
|
use anyhow::Result;
|
||
|
|
use std::path::Path;
|
||
|
|
|
||
|
|
/// Last-known-published version per package, so re-runs don't re-flag a
|
||
|
|
/// version already handled. Deliberately just one file per package for
|
||
|
|
/// now — this is where a real review-queue persistence layer plugs in
|
||
|
|
/// later (see SPEC.md > Architecture > Reviewer queue).
|
||
|
|
pub fn load_last_version(state_dir: &Path, name: &str) -> Option<String> {
|
||
|
|
std::fs::read_to_string(state_dir.join(format!("{name}.version")))
|
||
|
|
.ok()
|
||
|
|
.map(|s| s.trim().to_string())
|
||
|
|
}
|
||
|
|
|
||
|
|
pub fn save_last_version(state_dir: &Path, name: &str, version: &str) -> Result<()> {
|
||
|
|
std::fs::create_dir_all(state_dir)?;
|
||
|
|
std::fs::write(state_dir.join(format!("{name}.version")), version)?;
|
||
|
|
Ok(())
|
||
|
|
}
|