diff --git a/crates/spfs/src/tracking/entry.rs b/crates/spfs/src/tracking/entry.rs index fe8e5b481..ccd0a76c9 100644 --- a/crates/spfs/src/tracking/entry.rs +++ b/crates/spfs/src/tracking/entry.rs @@ -138,8 +138,14 @@ impl PartialEq> for Entry { entries, user_data: _, } = other; - if self.kind != *kind || self.mode != *mode || self.size != *size || self.object != *object - { + if self.kind != *kind || self.mode != *mode || self.object != *object { + return false; + } + // Only compare size for blobs. The size captured for directories can + // vary based on the filesystem in use or if fuse is in use, and + // a rendered manifest may not have the expected size even if it is + // unmodified. + if self.kind.is_blob() && self.size != *size { return false; } if self.entries.len() != entries.len() {