diff --git a/rust/hg-core/src/dirstate_tree/dirstate_map.rs b/rust/hg-core/src/dirstate_tree/dirstate_map.rs --- a/rust/hg-core/src/dirstate_tree/dirstate_map.rs +++ b/rust/hg-core/src/dirstate_tree/dirstate_map.rs @@ -343,7 +343,13 @@ pub(super) fn state( &self, ) -> Result, DirstateV2ParseError> { - Ok(self.entry()?.map(|e| e.state())) + Ok(self.entry()?.and_then(|e| { + if e.any_tracked() { + Some(e.state()) + } else { + None + } + })) } pub(super) fn cached_directory_mtime(