From a504ac3336449a54a5dd95679f15c8b6fd6f5254 Mon Sep 17 00:00:00 2001 From: Wenyu Zhao Date: Tue, 26 Mar 2024 15:35:33 +1100 Subject: [PATCH] Don't update lock file when not necessary --- harness-cli/Cargo.toml | 2 +- harness-cli/src/utils/lockfile.rs | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/harness-cli/Cargo.toml b/harness-cli/Cargo.toml index d4c3dec..4150069 100644 --- a/harness-cli/Cargo.toml +++ b/harness-cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "harness-cli" -version = "0.0.6" +version = "0.0.7" description = "Precise and reproducible benchmarking" repository = "https://github.com/wenyuzhao/harness" homepage = "https://github.com/wenyuzhao/harness" diff --git a/harness-cli/src/utils/lockfile.rs b/harness-cli/src/utils/lockfile.rs index cce01ea..779382b 100644 --- a/harness-cli/src/utils/lockfile.rs +++ b/harness-cli/src/utils/lockfile.rs @@ -48,10 +48,14 @@ pub fn load_lockfiles(crate_info: &CrateInfo, profile: &Profile) -> anyhow::Resu pub struct TempLockfileGuard { lockfile_path: std::path::PathBuf, original_lockfile: String, + changed: bool, } impl Drop for TempLockfileGuard { fn drop(&mut self) { + if !self.changed { + return; + } std::fs::write(&self.lockfile_path, &self.original_lockfile).unwrap(); } } @@ -67,9 +71,18 @@ pub fn replay_lockfile(run_info: &RunInfo, mut hash: &str) -> anyhow::Result