SimonSapin created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches.
REVISION SUMMARY Converting from Timestamp back to SystemTime was only used for equality comparison, but this can also be done on Timestamp values. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D11631 AFFECTED FILES rust/hg-core/src/dirstate_tree/on_disk.rs rust/hg-core/src/dirstate_tree/status.rs CHANGE DETAILS diff --git a/rust/hg-core/src/dirstate_tree/status.rs b/rust/hg-core/src/dirstate_tree/status.rs --- a/rust/hg-core/src/dirstate_tree/status.rs +++ b/rust/hg-core/src/dirstate_tree/status.rs @@ -199,7 +199,8 @@ // directory eligible for `read_dir` caching. if let Some(meta) = directory_metadata { if let Ok(current_mtime) = meta.modified() { - if current_mtime == cached_mtime.into() { + let current_mtime = Timestamp::from(current_mtime); + if current_mtime == *cached_mtime { // The mtime of that directory has not changed // since then, which means that the results of // `read_dir` should also be unchanged. diff --git a/rust/hg-core/src/dirstate_tree/on_disk.rs b/rust/hg-core/src/dirstate_tree/on_disk.rs --- a/rust/hg-core/src/dirstate_tree/on_disk.rs +++ b/rust/hg-core/src/dirstate_tree/on_disk.rs @@ -15,7 +15,7 @@ use format_bytes::format_bytes; use std::borrow::Cow; use std::convert::{TryFrom, TryInto}; -use std::time::{Duration, SystemTime, UNIX_EPOCH}; +use std::time::{SystemTime, UNIX_EPOCH}; /// Added at the start of `.hg/dirstate` when the "v2" format is used. /// This a redundant sanity check more than an actual "magic number" since @@ -462,18 +462,6 @@ } } -impl From<&'_ Timestamp> for SystemTime { - fn from(timestamp: &'_ Timestamp) -> Self { - let secs = timestamp.seconds.get(); - let nanos = timestamp.nanoseconds.get(); - if secs >= 0 { - UNIX_EPOCH + Duration::new(secs as u64, nanos) - } else { - UNIX_EPOCH - Duration::new((-secs) as u64, nanos) - } - } -} - fn read_hg_path( on_disk: &[u8], slice: PathSlice, To: SimonSapin, #hg-reviewers Cc: mercurial-patches, mercurial-devel _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel